diff --git a/README.md b/README.md
index 0748f63..54f8a78 100644
--- a/README.md
+++ b/README.md
@@ -155,6 +155,25 @@ import {BusyModule, BusyConfig} from 'angular2-busy';
export class AppModule
```
+If you face an error on Angular 4 like this:
+ `ERROR in Error encountered resolving symbol values statically. Calling function 'BusyConfig', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function,`
+ , you can supply BusyConfig as a provider rather than performing a forRoot() call statically during the import. For example, in your app module:
+
+```typescript
+export function busyConfigFactory() {
+ return new BusyConfig({
+ template: '
'
+ });
+}
+```
+And in your `providers` array you can provide `BusyConfig` using the function above:
+```typescript
+providers: [
+ ...
+ { provide: BusyConfig, useFactory: busyConfigFactory }
+]
+```
+
## FAQ
### The indicator's position is not inside the `ngBusy` container
diff --git a/build/busy-backdrop.component.js b/build/busy-backdrop.component.js
index 564d391..50dab5b 100644
--- a/build/busy-backdrop.component.js
+++ b/build/busy-backdrop.component.js
@@ -1,9 +1,9 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @file Component: BusyBackdrop
* @author yumao
*/
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var animations_1 = require("@angular/animations");
var promise_tracker_service_1 = require("./promise-tracker.service");
@@ -23,7 +23,7 @@ var BusyBackdropComponent = (function () {
BusyBackdropComponent.decorators = [
{ type: core_1.Component, args: [{
selector: 'ng-busy-backdrop',
- template: "\n \n
\n ",
+ template: "\n \n
\n ",
animations: [
animations_1.trigger('fadeInOut', [
animations_1.transition('void => *', [
diff --git a/build/busy-backdrop.component.js.map b/build/busy-backdrop.component.js.map
index 9f706eb..9b3bde8 100644
--- a/build/busy-backdrop.component.js.map
+++ b/build/busy-backdrop.component.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/busy-backdrop.component.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCAAwC;AACxC,kDAA+E;AAE/E,qEAAgE;AAEhE,IAAM,aAAA,GAAgB,kBAAA,CAAM;IACxB,OAAO,EAAE,CAAA;CACZ,CAAC,CAAC;AACH,IAAM,MAAA,GAAS,UAAA,CAAW;AAG1B;IACI,+BAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAClD,CAAC;IAED,wCAAQ,GAAR;QACI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IA2BL,4BAAC;AAAD,CAjCA,AAiCC;AA1BM,gCAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;gBACtB,QAAQ,EAAE,kBAAkB;gBAC5B,QAAQ,EAAE,8HAKT;gBACD,UAAU,EAAE;oBACR,oBAAO,CAAC,WAAW,EAAE;wBACjB,uBAAU,CAAC,WAAW,EAAE;4BACpB,aAAa;4BACb,oBAAO,CAAC,MAAM,CAAC;yBAClB,CAAC;wBACF,uBAAU,CAAC,WAAW,EAAE;4BACpB,oBAAO,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,CAAC;qBACL,CAAC;iBACL;aACJ,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,oCAAc,GAAmE,cAAM,OAAA;IAC9F,EAAC,IAAI,EAAE,+CAAqB,GAAG;CAC9B,EAF6F,CAE7F,CAAC;AAhCW,sDAAqB","file":"busy-backdrop.component.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../src/busy-backdrop.component.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,sCAA6D;AAC7D,kDAAiF;AAEjF,qEAAkE;AAElE,IAAM,aAAA,GAAgB,kBAAA,CAAM;IACxB,OAAO,EAAE,CAAA;CACV,CAAC,CAAC;AACL,IAAM,MAAA,GAAS,UAAA,CAAW;AAG1B;IACE,+BAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAClD,CAAC;IAED,wCAAQ,GAAR;QACI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IA2BH,4BAAC;AAAD,CAjCA,AAiCC;AA1BM,gCAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;gBACxB,QAAQ,EAAE,kBAAkB;gBAC5B,QAAQ,EAAE,kHAKT;gBACD,UAAU,EAAE;oBACR,oBAAO,CAAC,WAAW,EAAE;wBACjB,uBAAU,CAAC,WAAW,EAAE;4BACpB,aAAa;4BACb,oBAAO,CAAC,MAAM,CAAC;yBAClB,CAAC;wBACF,uBAAU,CAAC,WAAW,EAAE;4BACpB,oBAAO,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,CAAC;qBACL,CAAC;iBACL;aACF,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,oCAAc,GAAmE,cAAM,OAAA;IAC9F,EAAC,IAAI,EAAE,+CAAqB,GAAG;CAC9B,EAF6F,CAE7F,CAAC;AAhCW,sDAAqB","file":"busy-backdrop.component.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/busy-backdrop.component.metadata.json b/build/busy-backdrop.component.metadata.json
index de296cf..7e5a516 100644
--- a/build/busy-backdrop.component.metadata.json
+++ b/build/busy-backdrop.component.metadata.json
@@ -1 +1 @@
-[{"__symbolic":"module","version":3,"metadata":{"BusyBackdropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy-backdrop","template":"\n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["fadeInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}],"isActive":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BusyBackdropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy-backdrop","template":"\n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["fadeInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}],"isActive":[{"__symbolic":"method"}]}}}}]
\ No newline at end of file
+[{"__symbolic":"module","version":3,"metadata":{"BusyBackdropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy-backdrop","template":"\n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["fadeInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}],"isActive":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BusyBackdropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy-backdrop","template":"\n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["fadeInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}],"isActive":[{"__symbolic":"method"}]}}}}]
\ No newline at end of file
diff --git a/build/busy-config.d.ts b/build/busy-config.d.ts
index cab5498..0d39320 100644
--- a/build/busy-config.d.ts
+++ b/build/busy-config.d.ts
@@ -3,6 +3,14 @@
* @author yumao
*/
import { Subscription } from 'rxjs/Subscription';
+export declare const BUSY_CONFIG_DEFAULTS: {
+ template: string;
+ delay: number;
+ minDuration: number;
+ backdrop: boolean;
+ message: string;
+ wrapperClass: string;
+};
export declare class BusyConfig implements IBusyConfig {
template: string;
delay: number;
@@ -21,11 +29,3 @@ export interface IBusyConfig {
wrapperClass?: string;
busy?: Promise | Subscription | Array | Subscription>;
}
-export declare const BUSY_CONFIG_DEFAULTS: {
- template: string;
- delay: number;
- minDuration: number;
- backdrop: boolean;
- message: string;
- wrapperClass: string;
-};
diff --git a/build/busy-config.js b/build/busy-config.js
index 3b0227a..2dd5ef7 100644
--- a/build/busy-config.js
+++ b/build/busy-config.js
@@ -1,25 +1,26 @@
-/**
- * @file Busy Config
- * @author yumao
- */
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
+exports.BUSY_CONFIG_DEFAULTS = {
+ template: "\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{message}}
\n
\n
\n ",
+ delay: 0,
+ minDuration: 0,
+ backdrop: true,
+ message: 'Please wait...',
+ wrapperClass: 'ng-busy'
+};
var BusyConfig = (function () {
function BusyConfig(config) {
if (config === void 0) { config = {}; }
for (var option in exports.BUSY_CONFIG_DEFAULTS) {
- this[option] = config[option] != null ? config[option] : exports.BUSY_CONFIG_DEFAULTS[option];
+ if (config[option] !== undefined) {
+ this[option] = config[option];
+ }
+ else {
+ this[option] = exports.BUSY_CONFIG_DEFAULTS[option];
+ }
}
}
return BusyConfig;
}());
exports.BusyConfig = BusyConfig;
-exports.BUSY_CONFIG_DEFAULTS = {
- template: "\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{message}}
\n
\n
\n ",
- delay: 0,
- minDuration: 0,
- backdrop: true,
- message: 'Please wait...',
- wrapperClass: 'ng-busy'
-};
//# sourceMappingURL=busy-config.js.map
\ No newline at end of file
diff --git a/build/busy-config.js.map b/build/busy-config.js.map
index 599854d..26a83af 100644
--- a/build/busy-config.js.map
+++ b/build/busy-config.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/busy-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAIH;IAQI,oBAAY,MAAwB;QAAxB,uBAAA,EAAA,WAAwB;QAChC,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,4BAAoB,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,4BAAoB,CAAC,MAAM,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IACL,iBAAC;AAAD,CAbA,AAaC,IAAA;AAbY,gCAAU;AAyBV,QAAA,oBAAoB,GAAG;IAChC,QAAQ,EAAE,02BAoBT;IACD,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,gBAAgB;IACzB,YAAY,EAAE,SAAS;CAC1B,CAAC","file":"busy-config.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../src/busy-config.ts"],"names":[],"mappings":";;AAMa,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE,02BAoBT;IACD,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,gBAAgB;IACzB,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF;IAQE,oBAAY,MAAwB;QAAxB,uBAAA,EAAA,WAAwB;QAChC,GAAG,CAAC,CAAC,IAAM,MAAM,IAAI,4BAAoB,CAAC,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAAA,IAAI,CAAC,CAAC;gBACL,IAAI,CAAC,MAAM,CAAC,GAAG,4BAAoB,CAAC,MAAM,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACL,CAAC;IACH,iBAAC;AAAD,CAjBA,AAiBC,IAAA;AAjBY,gCAAU","file":"busy-config.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/busy-config.metadata.json b/build/busy-config.metadata.json
index bcce90c..edc93c3 100644
--- a/build/busy-config.metadata.json
+++ b/build/busy-config.metadata.json
@@ -1 +1 @@
-[{"__symbolic":"module","version":3,"metadata":{"BusyConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IBusyConfig":{"__symbolic":"interface"},"BUSY_CONFIG_DEFAULTS":{"template":"\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{message}}
\n
\n
\n ","delay":0,"minDuration":0,"backdrop":true,"message":"Please wait...","wrapperClass":"ng-busy"}}},{"__symbolic":"module","version":1,"metadata":{"BusyConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IBusyConfig":{"__symbolic":"interface"},"BUSY_CONFIG_DEFAULTS":{"template":"\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{message}}
\n
\n
\n ","delay":0,"minDuration":0,"backdrop":true,"message":"Please wait...","wrapperClass":"ng-busy"}}}]
\ No newline at end of file
+[{"__symbolic":"module","version":3,"metadata":{"BUSY_CONFIG_DEFAULTS":{"template":"\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{message}}
\n
\n
\n ","delay":0,"minDuration":0,"backdrop":true,"message":"Please wait...","wrapperClass":"ng-busy"},"BusyConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IBusyConfig":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"BUSY_CONFIG_DEFAULTS":{"template":"\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{message}}
\n
\n
\n ","delay":0,"minDuration":0,"backdrop":true,"message":"Please wait...","wrapperClass":"ng-busy"},"BusyConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IBusyConfig":{"__symbolic":"interface"}}}]
\ No newline at end of file
diff --git a/build/util.d.ts b/build/busy-helper.d.ts
similarity index 84%
rename from build/util.d.ts
rename to build/busy-helper.d.ts
index a46acfa..bf8934a 100644
--- a/build/util.d.ts
+++ b/build/busy-helper.d.ts
@@ -2,9 +2,9 @@
* @file Util
* @author yumao
*/
+export declare function objectEquals(o1: any, o2: any): any;
export declare function isDate(value: any): boolean;
export declare function isRegExp(value: any): boolean;
export declare function isWindow(obj: any): boolean;
export declare function isFunction(value: any): boolean;
export declare function isDefined(value: any): boolean;
-export declare function equals(o1: any, o2: any): any;
diff --git a/build/util.js b/build/busy-helper.js
similarity index 85%
rename from build/util.js
rename to build/busy-helper.js
index ce0465c..ecfac1c 100644
--- a/build/util.js
+++ b/build/busy-helper.js
@@ -1,31 +1,10 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @file Util
* @author yumao
*/
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-// from AngularJS
-function isDate(value) {
- return Object.prototype.toString.call(value) === '[object Date]';
-}
-exports.isDate = isDate;
-function isRegExp(value) {
- return Object.prototype.toString.call(value) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-function isWindow(obj) {
- return obj && obj.window === obj;
-}
-exports.isWindow = isWindow;
-function isFunction(value) {
- return typeof value === 'function';
-}
-exports.isFunction = isFunction;
-function isDefined(value) {
- return typeof value !== 'undefined';
-}
-exports.isDefined = isDefined;
-function equals(o1, o2) {
+function objectEquals(o1, o2) {
if (o1 === o2) {
return true;
}
@@ -46,9 +25,10 @@ function equals(o1, o2) {
if (!Array.isArray(o2)) {
return false;
}
- if ((length = o1.length) === o2.length) {
+ length = o1.length;
+ if (length === o2.length) {
for (key = 0; key < length; key++) {
- if (!equals(o1[key], o2[key])) {
+ if (!objectEquals(o1[key], o2[key])) {
return false;
}
}
@@ -59,7 +39,7 @@ function equals(o1, o2) {
if (!isDate(o2)) {
return false;
}
- return equals(o1.getTime(), o2.getTime());
+ return objectEquals(o1.getTime(), o2.getTime());
}
else if (isRegExp(o1)) {
if (!isRegExp(o2)) {
@@ -75,11 +55,11 @@ function equals(o1, o2) {
;
keySet = Object.create(null);
for (key in o1) {
- if (key.charAt(0) === '$' || isFunction(o1[key])) {
+ if (isFunction(o1[key])) {
continue;
}
;
- if (!equals(o1[key], o2[key])) {
+ if (!objectEquals(o1[key], o2[key])) {
return false;
}
keySet[key] = true;
@@ -97,5 +77,25 @@ function equals(o1, o2) {
}
return false;
}
-exports.equals = equals;
-//# sourceMappingURL=util.js.map
\ No newline at end of file
+exports.objectEquals = objectEquals;
+function isDate(value) {
+ return Object.prototype.toString.call(value) === '[object Date]';
+}
+exports.isDate = isDate;
+function isRegExp(value) {
+ return Object.prototype.toString.call(value) === '[object RegExp]';
+}
+exports.isRegExp = isRegExp;
+function isWindow(obj) {
+ return obj && obj.window === obj;
+}
+exports.isWindow = isWindow;
+function isFunction(value) {
+ return typeof value === 'function';
+}
+exports.isFunction = isFunction;
+function isDefined(value) {
+ return typeof value !== 'undefined';
+}
+exports.isDefined = isDefined;
+//# sourceMappingURL=busy-helper.js.map
\ No newline at end of file
diff --git a/build/busy-helper.js.map b/build/busy-helper.js.map
new file mode 100644
index 0000000..76a9380
--- /dev/null
+++ b/build/busy-helper.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/busy-helper.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACD,sBAA6B,EAAE,EAAE,EAAE;IACjC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IACF,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc;IAC7B,CAAC;IACD,IAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,IAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,IAAI,MAAM,CAAC;IACX,IAAI,GAAG,CAAC;IACR,IAAI,MAAM,CAAC;IACX,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;QACjC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YACnB,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;oBAClC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,MAAM,CAAC,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC;mBAC3B,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CACjD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YAAA,CAAC;YACF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACf,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,QAAQ,CAAC;gBACX,CAAC;gBAAA,CAAC;gBACF,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACf,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;uBACf,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;uBACrB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;uBAClB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CACtB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACH,MAAM,CAAC,IAAI,CAAC;QACZ,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;AACb,CAAC;AApED,oCAoEC;AAED,gBAAuB,KAAK;IAC1B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC;AACnE,CAAC;AAFD,wBAEC;AAED,kBAAyB,KAAK;IAC5B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC;AACrE,CAAC;AAFD,4BAEC;AAED,kBAAyB,GAAG;IAC1B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;AACnC,CAAC;AAFD,4BAEC;AAED,oBAA2B,KAAK;IAC9B,MAAM,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,gCAEC;AAED,mBAA0B,KAAK;IAC7B,MAAM,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC;AACtC,CAAC;AAFD,8BAEC","file":"busy-helper.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/busy-helper.metadata.json b/build/busy-helper.metadata.json
new file mode 100644
index 0000000..99c90e8
--- /dev/null
+++ b/build/busy-helper.metadata.json
@@ -0,0 +1 @@
+[{"__symbolic":"module","version":3,"metadata":{"objectEquals":{"__symbolic":"function"},"isDate":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object Date]"}},"isRegExp":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object RegExp]"}},"isWindow":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"window"},"right":{"__symbolic":"reference","name":"obj"}}}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":87,"character":11},"right":"function"}},"isDefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":91,"character":11},"right":"undefined"}}}},{"__symbolic":"module","version":1,"metadata":{"objectEquals":{"__symbolic":"function"},"isDate":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object Date]"}},"isRegExp":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object RegExp]"}},"isWindow":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"window"},"right":{"__symbolic":"reference","name":"obj"}}}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":87,"character":11},"right":"function"}},"isDefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":91,"character":11},"right":"undefined"}}}}]
\ No newline at end of file
diff --git a/build/busy.component.d.ts b/build/busy.component.d.ts
index 8aa3b77..876e50f 100644
--- a/build/busy.component.d.ts
+++ b/build/busy.component.d.ts
@@ -2,8 +2,9 @@
* @file Component: Busy
* @author yumao
*/
-import { Compiler, DoCheck, OnDestroy } from '@angular/core';
+import { DoCheck, OnDestroy } from '@angular/core';
import { PromiseTrackerService } from './promise-tracker.service';
+import { JitCompiler } from './busy.module';
export interface IBusyContext {
message: string;
}
@@ -11,12 +12,12 @@ export declare class BusyComponent implements DoCheck, OnDestroy {
private tracker;
private compiler;
TemplateComponent: any;
- private nmf;
wrapperClass: string;
template: string;
message: string;
+ private factory;
private lastMessage;
- constructor(tracker: PromiseTrackerService, compiler: Compiler);
+ constructor(tracker: PromiseTrackerService, compiler: JitCompiler);
ngDoCheck(): void;
ngOnDestroy(): void;
createDynamicTemplate(): void;
diff --git a/build/busy.component.js b/build/busy.component.js
index 56ffc8e..cb75af6 100644
--- a/build/busy.component.js
+++ b/build/busy.component.js
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var animations_1 = require("@angular/animations");
var promise_tracker_service_1 = require("./promise-tracker.service");
+var busy_module_1 = require("./busy.module");
var inactiveStyle = animations_1.style({
- opacity: 0,
- transform: 'translateY(-40px)'
+ opacity: 0
});
var timing = '.3s ease';
;
@@ -56,14 +56,14 @@ var BusyComponent = (function () {
/** @nocollapse */
TemplateModule.ctorParameters = function () { return []; };
this.TemplateComponent = TemplateComponent;
- this.nmf = this.compiler.compileModuleSync(TemplateModule);
+ this.factory = this.compiler.compileModuleSync(TemplateModule);
};
BusyComponent.prototype.clearDynamicTemplateCache = function () {
- if (!this.nmf) {
+ if (!this.factory) {
return;
}
- this.compiler.clearCacheFor(this.nmf.moduleType);
- this.nmf = null;
+ this.compiler.clearCacheFor(this.factory.moduleType);
+ this.factory = null;
};
BusyComponent.prototype.isActive = function () {
return this.tracker.isActive();
@@ -73,13 +73,15 @@ var BusyComponent = (function () {
BusyComponent.decorators = [
{ type: core_1.Component, args: [{
selector: 'ng-busy',
- template: "\n \n \n
\n ",
+ template: "\n \n \n
\n ",
animations: [
animations_1.trigger('flyInOut', [
+ // Enter
animations_1.transition('void => *', [
inactiveStyle,
animations_1.animate(timing)
]),
+ // Leave
animations_1.transition('* => void', [
animations_1.animate(timing, inactiveStyle)
])
@@ -90,7 +92,7 @@ BusyComponent.decorators = [
/** @nocollapse */
BusyComponent.ctorParameters = function () { return [
{ type: promise_tracker_service_1.PromiseTrackerService, },
- { type: core_1.Compiler, },
+ { type: busy_module_1.JitCompiler, },
]; };
exports.BusyComponent = BusyComponent;
//# sourceMappingURL=busy.component.js.map
\ No newline at end of file
diff --git a/build/busy.component.js.map b/build/busy.component.js.map
index 3f0923d..c6dd54a 100644
--- a/build/busy.component.js.map
+++ b/build/busy.component.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/busy.component.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCAQuB;AACvB,kDAA+E;AAE/E,qEAAgE;AAGhE,IAAM,aAAA,GAAgB,kBAAA,CAAM;IACxB,OAAO,EAAE,CAAA;IACT,SAAS,EAAE,mBAAA;CACd,CAAC,CAAC;AACH,IAAM,MAAA,GAAS,UAAA,CAAW;AAIzB,CAAC;AAGF;IAQI,uBACY,OAA8B,EAC9B,QAAkB;QADlB,YAAO,GAAP,OAAO,CAAuB;QAC9B,aAAQ,GAAR,QAAQ,CAAU;IAC3B,CAAC;IAEJ,iCAAS,GAAT;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC;QACX,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED,mCAAW,GAAX;QACI,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,6CAAqB,GAArB;QACU,IAAA,SAA0B,EAAzB,sBAAQ,EAAE,oBAAO,CAAS;QAGjC;YAAA;gBACI,YAAO,GAAW,OAAO,CAAC;YAOtC,CAAC;YAAD,wBAAC;QAAD,CARQ,AAQP;QANc,4BAAU,GAA0B;YACnD,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC,EAAC,QAAQ,UAAA,EAAC,EAAG,EAAE;SACxC,CAAC;QACF,kBAAkB;QACX,gCAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;QAIM;YAAA;YASR,CAAC;YAAD,qBAAC;QAAD,CATQ,AASP;QAToC,yBAAU,GAA0B;YACzE,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC;wBACb,YAAY,EAAE,CAAC,iBAAiB,CAAC;wBACjC,eAAe,EAAE,CAAC,iBAAiB,CAAC;qBACvC,EAAG,EAAE;SACb,CAAC;QACF,kBAAkB;QACX,6BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;QAGM,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,iDAAyB,GAAzB;QACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,gCAAQ,GAAR;QACI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IA2BL,oBAAC;AAAD,CA9FA,AA8FC;AA1BM,wBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;gBACtB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,0MAIT;gBACD,UAAU,EAAE;oBACR,oBAAO,CAAC,UAAU,EAAE;wBAChB,uBAAU,CAAC,WAAW,EAAE;4BACpB,aAAa;4BACb,oBAAO,CAAC,MAAM,CAAC;yBAClB,CAAC;wBACF,uBAAU,CAAC,WAAW,EAAE;4BACpB,oBAAO,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,CAAC;qBACL,CAAC;iBACL;aACJ,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,4BAAc,GAAmE,cAAM,OAAA;IAC9F,EAAC,IAAI,EAAE,+CAAqB,GAAG;IAC/B,EAAC,IAAI,EAAE,eAAQ,GAAG;CACjB,EAH6F,CAG7F,CAAC;AA7FW,sCAAa","file":"busy.component.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../src/busy.component.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCAOuB;AACvB,kDAA+E;AAE/E,qEAAgE;AAChE,6CAA4C;AAG5C,IAAM,aAAA,GAAgB,kBAAA,CAAM;IAC1B,OAAO,EAAE,CAAA;CACV,CAAC,CAAC;AACH,IAAM,MAAA,GAAS,UAAA,CAAW;AAIzB,CAAC;AAGF;IAQE,uBACY,OAA8B,EAC9B,QAAqB;QADrB,YAAO,GAAP,OAAO,CAAuB;QAC9B,aAAQ,GAAR,QAAQ,CAAa;IAC9B,CAAC;IAEJ,iCAAS,GAAT;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC;QACX,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,6CAAqB,GAArB;QACQ,IAAA,SAA0B,EAAzB,sBAAQ,EAAE,oBAAO,CAAS;QAGjC;YAAA;gBACI,YAAO,GAAW,OAAO,CAAC;YAOlC,CAAC;YAAD,wBAAC;QAAD,CARI,AAQH;QANU,4BAAU,GAA0B;YAC/C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC,EAAC,QAAQ,UAAA,EAAC,EAAG,EAAE;SACxC,CAAC;QACF,kBAAkB;QACX,gCAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;QAIE;YAAA;YASJ,CAAC;YAAD,qBAAC;QAAD,CATI,AASH;QATgC,yBAAU,GAA0B;YACrE,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC;wBACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;wBACjC,eAAe,EAAE,CAAC,iBAAiB,CAAC;qBACvC,EAAG,EAAE;SACT,CAAC;QACF,kBAAkB;QACX,6BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;QAGE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,iDAAyB,GAAzB;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,gCAAQ,GAAR;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IA6BH,oBAAC;AAAD,CAhGA,AAgGC;AA5BM,wBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;gBACxB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,sMAIT;gBACD,UAAU,EAAE;oBACR,oBAAO,CAAC,UAAU,EAAE;wBAChB,QAAQ;wBACR,uBAAU,CAAC,WAAW,EAAE;4BACpB,aAAa;4BACb,oBAAO,CAAC,MAAM,CAAC;yBAClB,CAAC;wBACF,QAAQ;wBACR,uBAAU,CAAC,WAAW,EAAE;4BACpB,oBAAO,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,CAAC;qBACL,CAAC;iBACL;aACF,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,4BAAc,GAAmE,cAAM,OAAA;IAC9F,EAAC,IAAI,EAAE,+CAAqB,GAAG;IAC/B,EAAC,IAAI,EAAE,yBAAW,GAAG;CACpB,EAH6F,CAG7F,CAAC;AA/FW,sCAAa","file":"busy.component.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/busy.component.metadata.json b/build/busy.component.metadata.json
index ca1e59f..050ad93 100644
--- a/build/busy.component.metadata.json
+++ b/build/busy.component.metadata.json
@@ -1 +1 @@
-[{"__symbolic":"module","version":3,"metadata":{"IBusyContext":{"__symbolic":"interface"},"BusyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy","template":"\n \n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["flyInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0,"transform":"translateY(-40px)"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0,"transform":"translateY(-40px)"}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"@angular/core","name":"Compiler"}]}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createDynamicTemplate":[{"__symbolic":"method"}],"clearDynamicTemplateCache":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"IBusyContext":{"__symbolic":"interface"},"BusyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy","template":"\n \n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["flyInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0,"transform":"translateY(-40px)"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0,"transform":"translateY(-40px)"}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"@angular/core","name":"Compiler"}]}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createDynamicTemplate":[{"__symbolic":"method"}],"clearDynamicTemplateCache":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}}}}]
\ No newline at end of file
+[{"__symbolic":"module","version":3,"metadata":{"IBusyContext":{"__symbolic":"interface"},"BusyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy","template":"\n \n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["flyInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"./busy.module","name":"JitCompiler"}]}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createDynamicTemplate":[{"__symbolic":"method"}],"clearDynamicTemplateCache":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"IBusyContext":{"__symbolic":"interface"},"BusyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng-busy","template":"\n \n \n
\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger"},"arguments":["flyInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease"]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition"},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate"},"arguments":[".3s ease",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style"},"arguments":[{"opacity":0}]}]}]]}]]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"./busy.module","name":"JitCompiler"}]}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createDynamicTemplate":[{"__symbolic":"method"}],"clearDynamicTemplateCache":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}}}}]
\ No newline at end of file
diff --git a/build/busy.directive.d.ts b/build/busy.directive.d.ts
index 39adb05..0db1a4e 100644
--- a/build/busy.directive.d.ts
+++ b/build/busy.directive.d.ts
@@ -1,8 +1,4 @@
-/**
- * @file Directive: Busy
- * @author yumao
- */
-import { DoCheck, ViewContainerRef, ComponentFactoryResolver, Injector } from '@angular/core';
+import { DoCheck, ViewContainerRef, ComponentFactoryResolver, OnDestroy, Injector } from '@angular/core';
import { PromiseTrackerService } from './promise-tracker.service';
import { BusyService } from './busy.service';
/**
@@ -10,26 +6,27 @@ import { BusyService } from './busy.service';
*
* - `...
`
* - `...
`
- * - `...
`
+ * - `...
`
*/
-export declare class BusyDirective implements DoCheck {
+export declare class BusyDirective implements DoCheck, OnDestroy {
private service;
private tracker;
private cfResolver;
private vcRef;
private injector;
options: any;
- private optionsRecord;
- private optionsNorm;
template: string;
backdrop: boolean;
+ private optionsRecord;
+ private optionsNorm;
private busyRef;
private backdropRef;
constructor(service: BusyService, tracker: PromiseTrackerService, cfResolver: ComponentFactoryResolver, vcRef: ViewContainerRef, injector: Injector);
- private normalizeOptions(options);
- private dectectOptionsChange();
ngDoCheck(): void;
ngOnDestroy(): void;
+ private normalizeoptions(options);
+ private dectectoptionsChange();
private destroyComponents();
private createBackdrop();
private createBusy();
diff --git a/build/busy.directive.js b/build/busy.directive.js
index 09aaebd..d00faba 100644
--- a/build/busy.directive.js
+++ b/build/busy.directive.js
@@ -1,12 +1,8 @@
-/**
- * @file Directive: Busy
- * @author yumao
- */
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var Subscription_1 = require("rxjs/Subscription");
-var util_1 = require("./util");
+var busy_helper_1 = require("./busy-helper");
var promise_tracker_service_1 = require("./promise-tracker.service");
var busy_service_1 = require("./busy.service");
var busy_component_1 = require("./busy.component");
@@ -16,7 +12,8 @@ var busy_backdrop_component_1 = require("./busy-backdrop.component");
*
* - `...
`
* - `...
`
- * - `...
`
+ * - `...
`
*/
var BusyDirective = (function () {
function BusyDirective(service, tracker, cfResolver, vcRef, injector) {
@@ -26,67 +23,73 @@ var BusyDirective = (function () {
this.vcRef = vcRef;
this.injector = injector;
}
- BusyDirective.prototype.normalizeOptions = function (options) {
- if (!options) {
- options = { busy: null };
- }
- else if (Array.isArray(options)
- || options instanceof Promise
- || options instanceof Subscription_1.Subscription) {
- options = { busy: options };
- }
- options = Object.assign({}, this.service.config, options);
- if (!Array.isArray(options.busy)) {
- options.busy = [options.busy];
- }
- return options;
- };
- BusyDirective.prototype.dectectOptionsChange = function () {
- if (util_1.equals(this.optionsNorm, this.optionsRecord)) {
- return false;
- }
- this.optionsRecord = this.optionsNorm;
- return true;
- };
- // As ngOnChanges does not work on Object detection, ngDoCheck is using
BusyDirective.prototype.ngDoCheck = function () {
- var options = this.optionsNorm = this.normalizeOptions(this.options);
- if (!this.dectectOptionsChange()) {
+ var options = this.optionsNorm = this.normalizeoptions(this.options);
+ if (!this.dectectoptionsChange()) {
return;
}
if (this.busyRef) {
this.busyRef.instance.message = options.message;
}
- !util_1.equals(options.busy, this.tracker.promiseList)
- && this.tracker.reset({
+ if (!busy_helper_1.objectEquals(options.busy, this.tracker.promiseList)) {
+ this.tracker.reset({
promiseList: options.busy,
delay: options.delay,
minDuration: options.minDuration
});
+ }
if (!this.busyRef
|| this.template !== options.template
|| this.backdrop !== options.backdrop) {
this.destroyComponents();
this.template = options.template;
this.backdrop = options.backdrop;
- options.backdrop && this.createBackdrop();
+ if (options.backdrop) {
+ this.createBackdrop();
+ }
this.createBusy();
}
};
BusyDirective.prototype.ngOnDestroy = function () {
this.destroyComponents();
};
+ BusyDirective.prototype.normalizeoptions = function (options) {
+ if (!options) {
+ options = { busy: undefined };
+ }
+ else if (Array.isArray(options)
+ || options instanceof Promise
+ || options instanceof Subscription_1.Subscription) {
+ options = { busy: options };
+ }
+ options = Object.assign({}, this.service.config, options);
+ if (!Array.isArray(options.busy)) {
+ options.busy = [options.busy];
+ }
+ return options;
+ };
+ BusyDirective.prototype.dectectoptionsChange = function () {
+ if (busy_helper_1.objectEquals(this.optionsNorm, this.optionsRecord)) {
+ return false;
+ }
+ this.optionsRecord = this.optionsNorm;
+ return true;
+ };
BusyDirective.prototype.destroyComponents = function () {
- this.busyRef && this.busyRef.destroy();
- this.backdropRef && this.backdropRef.destroy();
+ if (this.busyRef) {
+ this.busyRef.destroy();
+ }
+ if (this.backdropRef) {
+ this.backdropRef.destroy();
+ }
};
BusyDirective.prototype.createBackdrop = function () {
var backdropFactory = this.cfResolver.resolveComponentFactory(busy_backdrop_component_1.BusyBackdropComponent);
- this.backdropRef = this.vcRef.createComponent(backdropFactory, null, this.injector);
+ this.backdropRef = this.vcRef.createComponent(backdropFactory, undefined, this.injector);
};
BusyDirective.prototype.createBusy = function () {
var busyFactory = this.cfResolver.resolveComponentFactory(busy_component_1.BusyComponent);
- this.busyRef = this.vcRef.createComponent(busyFactory, null, this.injector);
+ this.busyRef = this.vcRef.createComponent(busyFactory, undefined, this.injector);
var _a = this.optionsNorm, message = _a.message, wrapperClass = _a.wrapperClass, template = _a.template;
var instance = this.busyRef.instance;
instance.message = message;
diff --git a/build/busy.directive.js.map b/build/busy.directive.js.map
index 12f0d7a..8e0f1f3 100644
--- a/build/busy.directive.js.map
+++ b/build/busy.directive.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/busy.directive.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCASuB;AACvB,kDAA+C;AAE/C,+BAA8B;AAC9B,qEAAgE;AAChE,+CAA2C;AAE3C,mDAA+C;AAC/C,qEAAgE;AAEhE;;;;;;GAMG;AAEH;IASI,uBACY,OAAoB,EACpB,OAA8B,EAC9B,UAAoC,EACpC,KAAuB,EACvB,QAAkB;QAJlB,YAAO,GAAP,OAAO,CAAa;QACpB,YAAO,GAAP,OAAO,CAAuB;QAC9B,eAAU,GAAV,UAAU,CAA0B;QACpC,UAAK,GAAL,KAAK,CAAkB;QACvB,aAAQ,GAAR,QAAQ,CAAU;IAE9B,CAAC;IAEO,wCAAgB,GAAxB,UAAyB,OAAY;QACjC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACX,OAAO,GAAG,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;eACxB,OAAO,YAAY,OAAO;eAC1B,OAAO,YAAY,2BAC1B,CAAC,CAAC,CAAC;YACC,OAAO,GAAG,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC;IAEO,4CAAoB,GAA5B;QACI,EAAE,CAAC,CAAC,aAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,iCAAS,GAAT;QACI,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC;QACX,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACpD,CAAC;QAED,CAAC,aAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;eACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;aACnC,CAAC,CAAC;QAEP,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;eACV,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;eAClC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QACjC,CAAC,CAAC,CAAC;YACC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAEjC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAED,mCAAW,GAAX;QACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEO,yCAAiB,GAAzB;QACI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAEO,sCAAc,GAAtB;QACI,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,+CAAqB,CAAC,CAAC;QACvF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxF,CAAC;IAEO,kCAAU,GAAlB;QACI,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,8BAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtE,IAAA,qBAAoD,EAAnD,oBAAO,EAAE,8BAAY,EAAE,sBAAQ,CAAqB;QAC3D,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACjC,CAAC;IAkBL,oBAAC;AAAD,CAvHA,AAuHC;AAjBM,wBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;gBACtB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,CAAC,+CAAqB,CAAC;aACrC,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,4BAAc,GAAmE,cAAM,OAAA;IAC9F,EAAC,IAAI,EAAE,0BAAW,GAAG;IACrB,EAAC,IAAI,EAAE,+CAAqB,GAAG;IAC/B,EAAC,IAAI,EAAE,+BAAwB,GAAG;IAClC,EAAC,IAAI,EAAE,uBAAgB,GAAG;IAC1B,EAAC,IAAI,EAAE,eAAQ,GAAG;CACjB,EAN6F,CAM7F,CAAC;AACK,4BAAc,GAA2C;IAChE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAG,EAAE,EAAE;CAChD,CAAC;AAtHW,sCAAa","file":"busy.directive.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../src/busy.directive.ts"],"names":[],"mappings":";;AAAA,sCAUuB;AACvB,kDAA+C;AAE/C,6CAA6C;AAC7C,qEAAkE;AAClE,+CAA6C;AAE7C,mDAAiD;AACjD,qEAAkE;AAElE;;;;;;;GAOG;AAEH;IAWI,uBACY,OAAoB,EACpB,OAA8B,EAC9B,UAAoC,EACpC,KAAuB,EACvB,QAAkB;QAJlB,YAAO,GAAP,OAAO,CAAa;QACpB,YAAO,GAAP,OAAO,CAAuB;QAC9B,eAAU,GAAV,UAAU,CAA0B;QACpC,UAAK,GAAL,KAAK,CAAkB;QACvB,aAAQ,GAAR,QAAQ,CAAU;IAE9B,CAAC;IAED,iCAAS,GAAT;QACI,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC;QACX,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACpD,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,0BAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACf,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;aACnC,CAAC,CAAC;QACP,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;eACV,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;eAClC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QACjC,CAAC,CAAC,CAAC;YACC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAEjC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAED,mCAAW,GAAX;QACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEO,wCAAgB,GAAxB,UAAyB,OAAY;QACjC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACX,OAAO,GAAG,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;QAChC,CAAC;QAAA,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;eACzB,OAAO,YAAY,OAAO;eAC1B,OAAO,YAAY,2BAC1B,CAAC,CAAC,CAAC;YACC,OAAO,GAAG,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC;IAEO,4CAAoB,GAA5B;QACI,EAAE,CAAC,CAAC,0BAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IAEO,yCAAiB,GAAzB;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAEO,sCAAc,GAAtB;QACI,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,+CAAqB,CAAC,CAAC;QACvF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAEO,kCAAU,GAAlB;QACI,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,8BAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3E,IAAA,qBAAoD,EAAnD,oBAAO,EAAE,8BAAY,EAAE,sBAAQ,CAAqB;QAC3D,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACjC,CAAC;IAkBL,oBAAC;AAAD,CA9HA,AA8HC;AAjBM,wBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;gBACtB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,CAAC,+CAAqB,CAAC;aACrC,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,4BAAc,GAAmE,cAAM,OAAA;IAC9F,EAAC,IAAI,EAAE,0BAAW,GAAG;IACrB,EAAC,IAAI,EAAE,+CAAqB,GAAG;IAC/B,EAAC,IAAI,EAAE,+BAAwB,GAAG;IAClC,EAAC,IAAI,EAAE,uBAAgB,GAAG;IAC1B,EAAC,IAAI,EAAE,eAAQ,GAAG;CACjB,EAN6F,CAM7F,CAAC;AACK,4BAAc,GAA2C;IAChE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAG,EAAE,EAAE;CAChD,CAAC;AA7HW,sCAAa","file":"busy.directive.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/busy.directive.metadata.json b/build/busy.directive.metadata.json
index 7392eb4..3ac03c1 100644
--- a/build/busy.directive.metadata.json
+++ b/build/busy.directive.metadata.json
@@ -1 +1 @@
-[{"__symbolic":"module","version":3,"metadata":{"BusyDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ngBusy]","providers":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["ngBusy"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"normalizeOptions":[{"__symbolic":"method"}],"dectectOptionsChange":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"destroyComponents":[{"__symbolic":"method"}],"createBackdrop":[{"__symbolic":"method"}],"createBusy":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BusyDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ngBusy]","providers":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["ngBusy"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"normalizeOptions":[{"__symbolic":"method"}],"dectectOptionsChange":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"destroyComponents":[{"__symbolic":"method"}],"createBackdrop":[{"__symbolic":"method"}],"createBusy":[{"__symbolic":"method"}]}}}}]
\ No newline at end of file
+[{"__symbolic":"module","version":3,"metadata":{"BusyDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ngBusy]","providers":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["ngBusy"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"normalizeoptions":[{"__symbolic":"method"}],"dectectoptionsChange":[{"__symbolic":"method"}],"destroyComponents":[{"__symbolic":"method"}],"createBackdrop":[{"__symbolic":"method"}],"createBusy":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BusyDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ngBusy]","providers":[{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"}]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["ngBusy"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"__symbolic":"reference","module":"./promise-tracker.service","name":"PromiseTrackerService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"normalizeoptions":[{"__symbolic":"method"}],"dectectoptionsChange":[{"__symbolic":"method"}],"destroyComponents":[{"__symbolic":"method"}],"createBackdrop":[{"__symbolic":"method"}],"createBusy":[{"__symbolic":"method"}]}}}}]
\ No newline at end of file
diff --git a/build/busy.module.d.ts b/build/busy.module.d.ts
index 30ace06..6318baf 100644
--- a/build/busy.module.d.ts
+++ b/build/busy.module.d.ts
@@ -5,6 +5,9 @@
import { Compiler } from '@angular/core';
import { ModuleWithProviders } from '@angular/core';
import { BusyConfig } from './busy-config';
+export declare class JitCompiler extends Compiler {
+ constructor();
+}
export declare function createJitCompiler(): Compiler;
export declare class BusyModule {
static forRoot(config: BusyConfig): ModuleWithProviders;
diff --git a/build/busy.module.js b/build/busy.module.js
index e4ff3d0..5b6afcd 100644
--- a/build/busy.module.js
+++ b/build/busy.module.js
@@ -3,6 +3,16 @@
* @author yumao
*/
"use strict";
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var common_1 = require("@angular/common");
@@ -12,8 +22,17 @@ var busy_service_1 = require("./busy.service");
var busy_backdrop_component_1 = require("./busy-backdrop.component");
var busy_component_1 = require("./busy.component");
var busy_config_1 = require("./busy-config");
+var JitCompiler = (function (_super) {
+ __extends(JitCompiler, _super);
+ function JitCompiler() {
+ return _super.call(this) || this;
+ }
+ return JitCompiler;
+}(core_1.Compiler));
+exports.JitCompiler = JitCompiler;
// Workaround for Compiler in AOT
// https://github.com/angular/angular/issues/15510#issuecomment-294301758
+//
function createJitCompiler() {
return new compiler_1.JitCompilerFactory([{ useDebug: false, useJit: true }]).createCompiler();
}
@@ -43,7 +62,10 @@ BusyModule.decorators = [
],
providers: [
busy_service_1.BusyService,
- { provide: core_1.Compiler, useFactory: createJitCompiler },
+ {
+ provide: JitCompiler,
+ useFactory: createJitCompiler
+ }
],
exports: [busy_directive_1.BusyDirective],
entryComponents: [
diff --git a/build/busy.module.js.map b/build/busy.module.js.map
index 7abb4a6..3f2811e 100644
--- a/build/busy.module.js.map
+++ b/build/busy.module.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/busy.module.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCAAiD;AACjD,0CAA6C;AAE7C,8CAAqD;AAErD,mDAA+C;AAC/C,+CAA2C;AAC3C,qEAAgE;AAChE,mDAA+C;AAC/C,6CAAyC;AAEzC,iCAAiC;AACjC,yEAAyE;AACzE;IACI,MAAM,CAAC,IAAI,6BAAA,CAAmB,CAAC,EAAC,QAAC,EAAS,KAAA,EAAO,MAAA,EAAQ,IAAA,EAAK,CAAC,CAAC,CAAC,cAAC,EAAc,CAAE;AACtF,CAAC;AAFD,8CAEC;AAGD;IAAA;IAiCA,CAAC;IAhCU,kBAAO,GAAd,UAAe,MAAkB;QAC7B,MAAM,CAAC;YACH,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE;gBACP,EAAC,OAAO,EAAE,wBAAU,EAAE,QAAQ,EAAE,MAAM,EAAC;aAC1C;SACJ,CAAC;IACN,CAAC;IAyBL,iBAAC;AAAD,CAjCA,AAiCC;AAxBM,qBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC;gBACrB,OAAO,EAAE;oBACL,qBAAY;iBACf;gBACD,YAAY,EAAE;oBACV,8BAAa;oBACb,8BAAa;oBACb,+CAAqB;iBACxB;gBACD,SAAS,EAAE;oBACP,0BAAW;oBACX,EAAC,OAAO,EAAE,eAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAC;iBACrD;gBACD,OAAO,EAAE,CAAC,8BAAa,CAAC;gBACxB,eAAe,EAAE;oBACb,8BAAa;oBACb,+CAAqB;iBACxB;aACJ,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,yBAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;AAhCW,gCAAU","file":"busy.module.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../src/busy.module.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;;;;AAEH,sCAAiD;AACjD,0CAA6C;AAE7C,8CAAqD;AAErD,mDAA+C;AAC/C,+CAA2C;AAC3C,qEAAgE;AAChE,mDAA+C;AAC/C,6CAAyC;AAEzC;IAAiC,+BAAQ;IACrC;eACI,iBAAO;IACX,CAAC;IACL,kBAAC;AAAD,CAJA,AAIC,CAJgC,eAAQ,GAIxC;AAJY,kCAAW;AAMxB,iCAAiC;AACjC,yEAAyE;AACzE,EAAE;AACF;IACI,MAAM,CAAC,IAAI,6BAAA,CAAmB,CAAC,EAAC,QAAC,EAAS,KAAA,EAAO,MAAA,EAAQ,IAAA,EAAK,CAAC,CAAC,CAAC,cAAC,EAAc,CAAE;AACtF,CAAC;AAFD,8CAEC;AAGD;IAAA;IAoCA,CAAC;IAnCU,kBAAO,GAAd,UAAe,MAAkB;QAC7B,MAAM,CAAC;YACH,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE;gBACP,EAAC,OAAO,EAAE,wBAAU,EAAE,QAAQ,EAAE,MAAM,EAAC;aAC1C;SACJ,CAAC;IACN,CAAC;IA4BL,iBAAC;AAAD,CApCA,AAoCC;AA3BM,qBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC;gBACrB,OAAO,EAAE;oBACL,qBAAY;iBACf;gBACD,YAAY,EAAE;oBACV,8BAAa;oBACb,8BAAa;oBACb,+CAAqB;iBACxB;gBACD,SAAS,EAAE;oBACP,0BAAW;oBACX;wBACI,OAAO,EAAE,WAAW;wBACpB,UAAU,EAAE,iBAAiB;qBAChC;iBACJ;gBACD,OAAO,EAAE,CAAC,8BAAa,CAAC;gBACxB,eAAe,EAAE;oBACb,8BAAa;oBACb,+CAAqB;iBACxB;aACJ,EAAG,EAAE;CACL,CAAC;AACF,kBAAkB;AACX,yBAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;AAnCW,gCAAU","file":"busy.module.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/busy.module.metadata.json b/build/busy.module.metadata.json
index 2ad9d7e..020798c 100644
--- a/build/busy.module.metadata.json
+++ b/build/busy.module.metadata.json
@@ -1 +1 @@
-[{"__symbolic":"module","version":3,"metadata":{"createJitCompiler":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/compiler","name":"JitCompilerFactory"},"arguments":[[{"useDebug":false,"useJit":true}]]},"member":"createCompiler"}}},"BusyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"},{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}],"providers":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},"useFactory":{"__symbolic":"reference","name":"createJitCompiler"}}],"exports":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"}],"entryComponents":[{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"BusyModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./busy-config","name":"BusyConfig"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}}}},{"__symbolic":"module","version":1,"metadata":{"createJitCompiler":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/compiler","name":"JitCompilerFactory"},"arguments":[[{"useDebug":false,"useJit":true}]]},"member":"createCompiler"}}},"BusyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"},{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}],"providers":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},"useFactory":{"__symbolic":"reference","name":"createJitCompiler"}}],"exports":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"}],"entryComponents":[{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"BusyModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./busy-config","name":"BusyConfig"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}}}}]
\ No newline at end of file
+[{"__symbolic":"module","version":3,"metadata":{"JitCompiler":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"createJitCompiler":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/compiler","name":"JitCompilerFactory"},"arguments":[[{"useDebug":false,"useJit":true}]]},"member":"createCompiler"}}},"BusyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"},{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}],"providers":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"provide":{"__symbolic":"reference","name":"JitCompiler"},"useFactory":{"__symbolic":"reference","name":"createJitCompiler"}}],"exports":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"}],"entryComponents":[{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"BusyModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./busy-config","name":"BusyConfig"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}}}},{"__symbolic":"module","version":1,"metadata":{"JitCompiler":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"createJitCompiler":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/compiler","name":"JitCompilerFactory"},"arguments":[[{"useDebug":false,"useJit":true}]]},"member":"createCompiler"}}},"BusyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"},{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}],"providers":[{"__symbolic":"reference","module":"./busy.service","name":"BusyService"},{"provide":{"__symbolic":"reference","name":"JitCompiler"},"useFactory":{"__symbolic":"reference","name":"createJitCompiler"}}],"exports":[{"__symbolic":"reference","module":"./busy.directive","name":"BusyDirective"}],"entryComponents":[{"__symbolic":"reference","module":"./busy.component","name":"BusyComponent"},{"__symbolic":"reference","module":"./busy-backdrop.component","name":"BusyBackdropComponent"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"BusyModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./busy-config","name":"BusyConfig"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}}}}]
\ No newline at end of file
diff --git a/build/promise-tracker.service.d.ts b/build/promise-tracker.service.d.ts
index b469c9f..ccc846a 100644
--- a/build/promise-tracker.service.d.ts
+++ b/build/promise-tracker.service.d.ts
@@ -6,9 +6,9 @@ export declare class PromiseTrackerService {
delayJustFinished: boolean;
minDuration: number;
reset(options: IPromiseTrackerOptions): void;
+ isActive(): boolean;
private addPromise(promise);
private finishPromise(promise);
- isActive(): boolean;
}
export interface IPromiseTrackerOptions {
minDuration: number;
diff --git a/build/promise-tracker.service.js b/build/promise-tracker.service.js
index dc4512d..bf7fbfb 100644
--- a/build/promise-tracker.service.js
+++ b/build/promise-tracker.service.js
@@ -6,6 +6,9 @@
Object.defineProperty(exports, "__esModule", { value: true });
// Inspired by angular-promise-tracker
// Add Observable Subscription
+// The basic idea: each time we add one or more promises to an instance of a promiseTracker,
+// that instance's active() method will return true until all added promises are resolved.
+// A common use case is showing some sort of loading spinner while some http requests are loading.
var core_1 = require("@angular/core");
var Subscription_1 = require("rxjs/Subscription");
var PromiseTrackerService = (function () {
@@ -39,6 +42,22 @@ var PromiseTrackerService = (function () {
}, options.minDuration + (options.delay || 0));
}
};
+ PromiseTrackerService.prototype.isActive = function () {
+ if (this.delayPromise) {
+ return false;
+ }
+ if (!this.delayJustFinished) {
+ if (this.durationPromise) {
+ return true;
+ }
+ return this.promiseList.length > 0;
+ }
+ this.delayJustFinished = false;
+ if (this.promiseList.length === 0) {
+ this.durationPromise = null;
+ }
+ return this.promiseList.length > 0;
+ };
PromiseTrackerService.prototype.addPromise = function (promise) {
var _this = this;
if (this.promiseList.indexOf(promise) !== -1) {
@@ -60,22 +79,6 @@ var PromiseTrackerService = (function () {
}
this.promiseList.splice(index, 1);
};
- PromiseTrackerService.prototype.isActive = function () {
- if (this.delayPromise) {
- return false;
- }
- if (!this.delayJustFinished) {
- if (this.durationPromise) {
- return true;
- }
- return this.promiseList.length > 0;
- }
- this.delayJustFinished = false;
- if (this.promiseList.length === 0) {
- this.durationPromise = null;
- }
- return this.promiseList.length > 0;
- };
return PromiseTrackerService;
}());
PromiseTrackerService.decorators = [
diff --git a/build/promise-tracker.service.js.map b/build/promise-tracker.service.js.map
index ae2b5a4..83be649 100644
--- a/build/promise-tracker.service.js.map
+++ b/build/promise-tracker.service.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/promise-tracker.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCAAsC;AACtC,8BAA8B;AAE9B,sCAAyC;AACzC,kDAA+C;AAG/C;IAAA;QACI,gBAAW,GAAuC,EAAE,CAAC;QAGrD,sBAAiB,GAAY,KAAK,CAAC;IA0FvC,CAAC;IAvFG,qCAAK,GAAL,UAAM,OAA+B;QAArC,iBAiCC;QAhCG,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,OAAO;YAC/B,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC;YACX,CAAC;YACD,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC;QACX,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,UAAU,CAC1B;gBACI,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAClC,CAAC,EACD,OAAO,CAAC,KAAK,CAChB,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,eAAe,GAAG,UAAU,CAC7B;gBACI,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAChC,CAAC,EACD,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAC7C,CAAC;QACN,CAAC;IACL,CAAC;IAEO,0CAAU,GAAlB,UAAmB,OAAoC;QAAvD,iBAiBC;QAhBG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC;QACX,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/B,EAAE,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CACb,OAAO,EACP,cAAM,OAAA,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,EACjC,cAAM,OAAA,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,CACpC,CAAC;QACN,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,2BAAY,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAEO,6CAAa,GAArB,UAAsB,OAAoC;QACtD,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC;QACX,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,wCAAQ,GAAR;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC;QACjB,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAOL,4BAAC;AAAD,CA9FA,AA8FC;AANM,gCAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,iBAAU,EAAE;CACnB,CAAC;AACF,kBAAkB;AACX,oCAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;AA7FW,sDAAqB","file":"promise-tracker.service.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../src/promise-tracker.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,sCAAsC;AACtC,8BAA8B;AAE9B,4FAA4F;AAC5F,0FAA0F;AAC1F,kGAAkG;AAElG,sCAAyC;AACzC,kDAA+C;AAG/C;IAAA;QACE,gBAAW,GAAuC,EAAE,CAAC;QAGrD,sBAAiB,GAAG,KAAK,CAAC;IAwF5B,CAAC;IArFC,qCAAK,GAAL,UAAM,OAA+B;QAArC,iBAiCC;QAhCC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,OAAO;YACjC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC;YACX,CAAC;YACD,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,UAAU,CAC5B;gBACI,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAClC,CAAC,EACD,OAAO,CAAC,KAAK,CACd,CAAC;QACJ,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,eAAe,GAAG,UAAU,CAC/B;gBACI,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAChC,CAAC,EACD,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAC3C,CAAC;QACN,CAAC;IACH,CAAC;IAED,wCAAQ,GAAR;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IACO,0CAAU,GAAlB,UAAmB,OAAoC;QAAvD,iBAgBC;QAfG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/B,EAAE,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CACf,OAAO,EACP,cAAM,OAAA,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,EACjC,cAAM,OAAA,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAClC,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,2BAAY,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAEO,6CAAa,GAArB,UAAsB,OAAoC;QACtD,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAOH,4BAAC;AAAD,CA5FA,AA4FC;AANM,gCAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,iBAAU,EAAE;CACnB,CAAC;AACF,kBAAkB;AACX,oCAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;AA3FW,sDAAqB","file":"promise-tracker.service.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/promise-tracker.service.metadata.json b/build/promise-tracker.service.metadata.json
index ad0284b..2a890c6 100644
--- a/build/promise-tracker.service.metadata.json
+++ b/build/promise-tracker.service.metadata.json
@@ -1 +1 @@
-[{"__symbolic":"module","version":3,"metadata":{"PromiseTrackerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"reset":[{"__symbolic":"method"}],"addPromise":[{"__symbolic":"method"}],"finishPromise":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}},"IPromiseTrackerOptions":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"PromiseTrackerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"reset":[{"__symbolic":"method"}],"addPromise":[{"__symbolic":"method"}],"finishPromise":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}},"IPromiseTrackerOptions":{"__symbolic":"interface"}}}]
\ No newline at end of file
+[{"__symbolic":"module","version":3,"metadata":{"PromiseTrackerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"reset":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}],"addPromise":[{"__symbolic":"method"}],"finishPromise":[{"__symbolic":"method"}]}},"IPromiseTrackerOptions":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"PromiseTrackerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"reset":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}],"addPromise":[{"__symbolic":"method"}],"finishPromise":[{"__symbolic":"method"}]}},"IPromiseTrackerOptions":{"__symbolic":"interface"}}}]
\ No newline at end of file
diff --git a/build/util.js.map b/build/util.js.map
deleted file mode 100644
index c76fcd3..0000000
--- a/build/util.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAEH,iBAAiB;AAEjB,gBAAuB,KAAK;IACxB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC;AACrE,CAAC;AAFD,wBAEC;AAED,kBAAyB,KAAK;IAC1B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC;AACvE,CAAC;AAFD,4BAEC;AAED,kBAAyB,GAAG;IACxB,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;AACrC,CAAC;AAFD,4BAEC;AAED,oBAA2B,KAAK;IAC5B,MAAM,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC;AAFD,gCAEC;AAED,mBAA0B,KAAK;IAC3B,MAAM,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC;AACxC,CAAC;AAFD,8BAEC;AAED,gBAAuB,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAA;IACf,CAAC;IAAA,CAAC;IACF,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc;IAC/B,CAAC;IACD,IAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,IAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,IAAI,MAAM,CAAC;IACX,IAAI,GAAG,CAAC;IACR,IAAI,MAAM,CAAC;IACX,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC/B,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YACD,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;oBAChC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5B,MAAM,CAAC,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,CAAC;YACF,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC;mBACzB,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CACrD,CAAC,CAAC,CAAC;gBACC,MAAM,CAAC,KAAK,CAAA;YAChB,CAAC;YAAA,CAAC;YACF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACb,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,QAAQ,CAAA;gBACZ,CAAC;gBAAA,CAAC;gBACF,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC;gBACjB,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACb,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;uBACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;uBACrB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;uBAClB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAC1B,CAAC,CAAC,CAAC;oBACC,MAAM,CAAC,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AAtED,wBAsEC","file":"util.js","sourceRoot":""}
\ No newline at end of file
diff --git a/build/util.metadata.json b/build/util.metadata.json
deleted file mode 100644
index 1f32ef9..0000000
--- a/build/util.metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"__symbolic":"module","version":3,"metadata":{"isDate":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object Date]"}},"isRegExp":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object RegExp]"}},"isWindow":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"window"},"right":{"__symbolic":"reference","name":"obj"}}}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":20,"character":11},"right":"function"}},"isDefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":24,"character":11},"right":"undefined"}},"equals":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"isDate":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object Date]"}},"isRegExp":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"prototype"},"member":"toString"},"member":"call"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":"[object RegExp]"}},"isWindow":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"window"},"right":{"__symbolic":"reference","name":"obj"}}}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":20,"character":11},"right":"function"}},"isDefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":24,"character":11},"right":"undefined"}},"equals":{"__symbolic":"function"}}}]
\ No newline at end of file
diff --git a/demo/asset/css/bootstrap.min.css b/demo/asset/css/bootstrap.min.css
index 1317635..a8da074 100644
--- a/demo/asset/css/bootstrap.min.css
+++ b/demo/asset/css/bootstrap.min.css
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active{outline:0}a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,::after,::before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}@viewport{width:device-width}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#373a3c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #818a91}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}pre{margin-top:0;margin-bottom:1rem}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#818a91;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{margin:0;line-height:inherit;border-radius:0}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.75rem}.h4{font-size:1.5rem}.h5{font-size:1.25rem}.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300}.display-2{font-size:5.5rem;font-weight:300}.display-3{font-size:4.5rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.dl-horizontal{margin-right:-1.875rem;margin-left:-1.875rem}.dl-horizontal::after{display:table;clear:both;content:""}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;line-height:1.5;color:#818a91}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img,.img-fluid{display:block;max-width:100%;height:auto}.img-rounded{border-radius:.3rem}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:.25rem;line-height:1.5;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#818a91}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#333;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;line-height:1.5;color:#373a3c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:.9375rem;padding-left:.9375rem;margin-right:auto;margin-left:auto}.container::after{display:table;clear:both;content:""}@media (min-width:544px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:940px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{padding-right:.9375rem;padding-left:.9375rem;margin-right:auto;margin-left:auto}.container-fluid::after{display:table;clear:both;content:""}.row{margin-right:-.9375rem;margin-left:-.9375rem}.row::after{display:table;clear:both;content:""}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:.9375rem;padding-left:.9375rem}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.333333%}.col-xs-2{width:16.666667%}.col-xs-3{width:25%}.col-xs-4{width:33.333333%}.col-xs-5{width:41.666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333%}.col-xs-8{width:66.666667%}.col-xs-9{width:75%}.col-xs-10{width:83.333333%}.col-xs-11{width:91.666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.333333%}.col-xs-pull-2{right:16.666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.333333%}.col-xs-pull-5{right:41.666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.333333%}.col-xs-pull-8{right:66.666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.333333%}.col-xs-pull-11{right:91.666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.333333%}.col-xs-push-2{left:16.666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.333333%}.col-xs-push-5{left:41.666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.333333%}.col-xs-push-8{left:66.666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.333333%}.col-xs-push-11{left:91.666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.333333%}.col-xs-offset-2{margin-left:16.666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333333%}.col-xs-offset-5{margin-left:41.666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333333%}.col-xs-offset-8{margin-left:66.666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333333%}.col-xs-offset-11{margin-left:91.666667%}.col-xs-offset-12{margin-left:100%}@media (min-width:544px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.333333%}.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-4{width:33.333333%}.col-sm-5{width:41.666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333%}.col-sm-8{width:66.666667%}.col-sm-9{width:75%}.col-sm-10{width:83.333333%}.col-sm-11{width:91.666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.333333%}.col-sm-pull-2{right:16.666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.333333%}.col-sm-pull-5{right:41.666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333%}.col-sm-pull-8{right:66.666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.333333%}.col-sm-pull-11{right:91.666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.333333%}.col-sm-push-2{left:16.666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.333333%}.col-sm-push-5{left:41.666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333%}.col-sm-push-8{left:66.666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.333333%}.col-sm-push-11{left:91.666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.333333%}.col-sm-offset-2{margin-left:16.666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333333%}.col-sm-offset-5{margin-left:41.666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333%}.col-sm-offset-8{margin-left:66.666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333333%}.col-sm-offset-11{margin-left:91.666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.333333%}.col-md-2{width:16.666667%}.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.col-md-9{width:75%}.col-md-10{width:83.333333%}.col-md-11{width:91.666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333%}.col-md-pull-2{right:16.666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.333333%}.col-md-pull-5{right:41.666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333%}.col-md-pull-8{right:66.666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.333333%}.col-md-pull-11{right:91.666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333%}.col-md-push-2{left:16.666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.333333%}.col-md-push-5{left:41.666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333%}.col-md-push-8{left:66.666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.333333%}.col-md-push-11{left:91.666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333%}.col-md-offset-2{margin-left:16.666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333333%}.col-md-offset-5{margin-left:41.666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333%}.col-md-offset-8{margin-left:66.666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333333%}.col-md-offset-11{margin-left:91.666667%}.col-md-offset-12{margin-left:100%}}@media (min-width:992px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.333333%}.col-lg-2{width:16.666667%}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-5{width:41.666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-10{width:83.333333%}.col-lg-11{width:91.666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333%}.col-lg-pull-2{right:16.666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.333333%}.col-lg-pull-5{right:41.666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333%}.col-lg-pull-8{right:66.666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.333333%}.col-lg-pull-11{right:91.666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333%}.col-lg-push-2{left:16.666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.333333%}.col-lg-push-5{left:41.666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333%}.col-lg-push-8{left:66.666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.333333%}.col-lg-push-11{left:91.666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333%}.col-lg-offset-2{margin-left:16.666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333333%}.col-lg-offset-5{margin-left:41.666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333%}.col-lg-offset-8{margin-left:66.666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333333%}.col-lg-offset-11{margin-left:91.666667%}.col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{float:left}.col-xl-1{width:8.333333%}.col-xl-2{width:16.666667%}.col-xl-3{width:25%}.col-xl-4{width:33.333333%}.col-xl-5{width:41.666667%}.col-xl-6{width:50%}.col-xl-7{width:58.333333%}.col-xl-8{width:66.666667%}.col-xl-9{width:75%}.col-xl-10{width:83.333333%}.col-xl-11{width:91.666667%}.col-xl-12{width:100%}.col-xl-pull-0{right:auto}.col-xl-pull-1{right:8.333333%}.col-xl-pull-2{right:16.666667%}.col-xl-pull-3{right:25%}.col-xl-pull-4{right:33.333333%}.col-xl-pull-5{right:41.666667%}.col-xl-pull-6{right:50%}.col-xl-pull-7{right:58.333333%}.col-xl-pull-8{right:66.666667%}.col-xl-pull-9{right:75%}.col-xl-pull-10{right:83.333333%}.col-xl-pull-11{right:91.666667%}.col-xl-pull-12{right:100%}.col-xl-push-0{left:auto}.col-xl-push-1{left:8.333333%}.col-xl-push-2{left:16.666667%}.col-xl-push-3{left:25%}.col-xl-push-4{left:33.333333%}.col-xl-push-5{left:41.666667%}.col-xl-push-6{left:50%}.col-xl-push-7{left:58.333333%}.col-xl-push-8{left:66.666667%}.col-xl-push-9{left:75%}.col-xl-push-10{left:83.333333%}.col-xl-push-11{left:91.666667%}.col-xl-push-12{left:100%}.col-xl-offset-0{margin-left:0}.col-xl-offset-1{margin-left:8.333333%}.col-xl-offset-2{margin-left:16.666667%}.col-xl-offset-3{margin-left:25%}.col-xl-offset-4{margin-left:33.333333%}.col-xl-offset-5{margin-left:41.666667%}.col-xl-offset-6{margin-left:50%}.col-xl-offset-7{margin-left:58.333333%}.col-xl-offset-8{margin-left:66.666667%}.col-xl-offset-9{margin-left:75%}.col-xl-offset-10{margin-left:83.333333%}.col-xl-offset-11{margin-left:91.666667%}.col-xl-offset-12{margin-left:100%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;line-height:1.5;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover tbody tr:hover{background-color:#f5f5f5}.table-active,.table-active>td,.table-active>th{background-color:#f5f5f5}.table-hover .table-active:hover{background-color:#e8e8e8}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#e8e8e8}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.table-responsive{display:block;width:100%;min-height:.01%;overflow-x:auto}.thead-inverse th{color:#fff;background-color:#373a3c}.thead-default th{color:#55595c;background-color:#eceeef}.table-inverse{color:#eceeef;background-color:#373a3c}.table-inverse.table-bordered{border:0}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#55595c}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid #eceeef;border-left:1px solid #eceeef}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid #eceeef}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid #eceeef}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid #eceeef}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#55595c;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:.25rem}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{border-color:#66afe9;outline:0}.form-control::-webkit-input-placeholder{color:#999;opacity:1}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999;opacity:1}.form-control::placeholder{color:#999;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}.form-control-file,.form-control-range{display:block}.form-control-label{padding:.375rem .75rem;margin-bottom:0}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:2.25rem}.input-group-sm input[type=date].form-control,.input-group-sm input[type=time].form-control,.input-group-sm input[type=datetime-local].form-control,.input-group-sm input[type=month].form-control,input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:1.8625rem}.input-group-lg input[type=date].form-control,.input-group-lg input[type=time].form-control,.input-group-lg input[type=datetime-local].form-control,.input-group-lg input[type=month].form-control,input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:3.166667rem}}.form-control-static{min-height:2.25rem;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.275rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.25rem;font-size:1.25rem;line-height:1.333333;border-radius:.3rem}.form-group{margin-bottom:1rem}.checkbox,.radio{position:relative;display:block;margin-bottom:.75rem}.checkbox label,.radio label{padding-left:1.25rem;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox label input:only-child,.radio label input:only-child{position:static}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.checkbox+.checkbox,.radio+.radio{margin-top:-.25rem}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:1.25rem;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:.75rem}input[type=checkbox].disabled,input[type=checkbox]:disabled,input[type=radio].disabled,input[type=radio]:disabled{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label{cursor:not-allowed}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.4625rem 1.4625rem;background-size:1.4625rem 1.4625rem}.has-success .checkbox,.has-success .checkbox-inline,.has-success .form-control-label,.has-success .radio,.has-success .radio-inline,.has-success .text-help,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;background-color:#eaf6ea;border-color:#5cb85c}.has-success .form-control-feedback{color:#5cb85c}.has-success .form-control-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg==)}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .form-control-label,.has-warning .radio,.has-warning .radio-inline,.has-warning .text-help,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;background-color:#fff;border-color:#f0ad4e}.has-warning .form-control-feedback{color:#f0ad4e}.has-warning .form-control-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+)}.has-danger .checkbox,.has-danger .checkbox-inline,.has-danger .form-control-label,.has-danger .radio,.has-danger .radio-inline,.has-danger .text-help,.has-danger.checkbox label,.has-danger.checkbox-inline label,.has-danger.radio label,.has-danger.radio-inline label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;background-color:#fdf7f7;border-color:#d9534f}.has-danger .form-control-feedback{color:#d9534f}.has-danger .form-control-danger{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4=)}@media (min-width:544px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;padding:.375rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:.25rem}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{text-decoration:none}.btn.focus{text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#014682;border-color:#01315a}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary:disabled.focus,.btn-primary:disabled:focus{background-color:#0275d8;border-color:#0275d8}.btn-primary.disabled:hover,.btn-primary:disabled:hover{background-color:#0275d8;border-color:#0275d8}.btn-secondary{color:#373a3c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.active,.btn-secondary:active,.open>.btn-secondary.dropdown-toggle{color:#373a3c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-secondary.active.focus,.btn-secondary.active:focus,.btn-secondary.active:hover,.btn-secondary:active.focus,.btn-secondary:active:focus,.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.focus,.open>.btn-secondary.dropdown-toggle:focus,.open>.btn-secondary.dropdown-toggle:hover{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.btn-secondary.disabled.focus,.btn-secondary.disabled:focus,.btn-secondary:disabled.focus,.btn-secondary:disabled:focus{background-color:#fff;border-color:#ccc}.btn-secondary.disabled:hover,.btn-secondary:disabled:hover{background-color:#fff;border-color:#ccc}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1f7e9a}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info:disabled.focus,.btn-info:disabled:focus{background-color:#5bc0de;border-color:#5bc0de}.btn-info.disabled:hover,.btn-info:disabled:hover{background-color:#5bc0de;border-color:#5bc0de}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#2d672d}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success:disabled.focus,.btn-success:disabled:focus{background-color:#5cb85c;border-color:#5cb85c}.btn-success.disabled:hover,.btn-success:disabled:hover{background-color:#5cb85c;border-color:#5cb85c}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#b06d0f}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning:disabled.focus,.btn-warning:disabled:focus{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.disabled:hover,.btn-warning:disabled:hover{background-color:#f0ad4e;border-color:#f0ad4e}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#ac2925;border-color:#8b211e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger:disabled.focus,.btn-danger:disabled:focus{background-color:#d9534f;border-color:#d9534f}.btn-danger.disabled:hover,.btn-danger:disabled:hover{background-color:#d9534f;border-color:#d9534f}.btn-primary-outline{color:#0275d8;background-color:transparent;background-image:none;border-color:#0275d8}.btn-primary-outline.active,.btn-primary-outline.focus,.btn-primary-outline:active,.btn-primary-outline:focus,.open>.btn-primary-outline.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary-outline:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary-outline.disabled.focus,.btn-primary-outline.disabled:focus,.btn-primary-outline:disabled.focus,.btn-primary-outline:disabled:focus{border-color:#43a7fd}.btn-primary-outline.disabled:hover,.btn-primary-outline:disabled:hover{border-color:#43a7fd}.btn-secondary-outline{color:#ccc;background-color:transparent;background-image:none;border-color:#ccc}.btn-secondary-outline.active,.btn-secondary-outline.focus,.btn-secondary-outline:active,.btn-secondary-outline:focus,.open>.btn-secondary-outline.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-secondary-outline:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-secondary-outline.disabled.focus,.btn-secondary-outline.disabled:focus,.btn-secondary-outline:disabled.focus,.btn-secondary-outline:disabled:focus{border-color:#fff}.btn-secondary-outline.disabled:hover,.btn-secondary-outline:disabled:hover{border-color:#fff}.btn-info-outline{color:#5bc0de;background-color:transparent;background-image:none;border-color:#5bc0de}.btn-info-outline.active,.btn-info-outline.focus,.btn-info-outline:active,.btn-info-outline:focus,.open>.btn-info-outline.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info-outline:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info-outline.disabled.focus,.btn-info-outline.disabled:focus,.btn-info-outline:disabled.focus,.btn-info-outline:disabled:focus{border-color:#b0e1ef}.btn-info-outline.disabled:hover,.btn-info-outline:disabled:hover{border-color:#b0e1ef}.btn-success-outline{color:#5cb85c;background-color:transparent;background-image:none;border-color:#5cb85c}.btn-success-outline.active,.btn-success-outline.focus,.btn-success-outline:active,.btn-success-outline:focus,.open>.btn-success-outline.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success-outline:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success-outline.disabled.focus,.btn-success-outline.disabled:focus,.btn-success-outline:disabled.focus,.btn-success-outline:disabled:focus{border-color:#a3d7a3}.btn-success-outline.disabled:hover,.btn-success-outline:disabled:hover{border-color:#a3d7a3}.btn-warning-outline{color:#f0ad4e;background-color:transparent;background-image:none;border-color:#f0ad4e}.btn-warning-outline.active,.btn-warning-outline.focus,.btn-warning-outline:active,.btn-warning-outline:focus,.open>.btn-warning-outline.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning-outline:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning-outline.disabled.focus,.btn-warning-outline.disabled:focus,.btn-warning-outline:disabled.focus,.btn-warning-outline:disabled:focus{border-color:#f8d9ac}.btn-warning-outline.disabled:hover,.btn-warning-outline:disabled:hover{border-color:#f8d9ac}.btn-danger-outline{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-danger-outline.active,.btn-danger-outline.focus,.btn-danger-outline:active,.btn-danger-outline:focus,.open>.btn-danger-outline.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger-outline:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger-outline.disabled.focus,.btn-danger-outline.disabled:focus,.btn-danger-outline:disabled.focus,.btn-danger-outline:disabled:focus{border-color:#eba5a3}.btn-danger-outline.disabled:hover,.btn-danger-outline:disabled:hover{border-color:#eba5a3}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled:focus,.btn-link:disabled:hover{color:#818a91;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.25rem;font-size:1.25rem;line-height:1.333333;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height;-o-transition-property:height;transition-property:height}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-right:.25rem;margin-left:.25rem;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:1rem;color:#373a3c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#e5e5e5}.dropdown-item{display:block;width:100%;padding:3px 20px;clear:both;font-weight:400;line-height:1.5;color:#373a3c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f5f5f5}.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#0275d8;outline:0}.dropdown-item.disabled,.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{color:#818a91}.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:"progid:DXImageTransform.Microsoft.gradient(enabled = false)"}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:.875rem;line-height:1.5;color:#818a91;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar::after{display:table;clear:both;content:""}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group::after{display:table;clear:both;content:""}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:.25rem;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1;color:#55595c;text-align:center;background-color:#eceeef;border:1px solid #ccc;border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.275rem .75rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.25rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:last-child>.btn-group:active,.input-group-btn:last-child>.btn-group:focus,.input-group-btn:last-child>.btn-group:hover,.input-group-btn:last-child>.btn:active,.input-group-btn:last-child>.btn:focus,.input-group-btn:last-child>.btn:hover{z-index:3}.c-input{position:relative;display:inline;padding-left:1.5rem;color:#555;cursor:pointer}.c-input>input{position:absolute;z-index:-1;opacity:0}.c-input>input:checked~.c-indicator{color:#fff;background-color:#0074d9}.c-input>input:focus~.c-indicator{-webkit-box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9;box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.c-input>input:active~.c-indicator{color:#fff;background-color:#84c6ff}.c-input+.c-input{margin-left:1rem}.c-indicator{position:absolute;top:0;left:0;display:block;width:1rem;height:1rem;font-size:65%;line-height:1rem;color:#eee;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.c-checkbox .c-indicator{border-radius:.25rem}.c-checkbox input:checked~.c-indicator{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=)}.c-checkbox input:indeterminate~.c-indicator{background-color:#0074d9;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K)}.c-radio .c-indicator{border-radius:50%}.c-radio input:checked~.c-indicator{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==)}.c-inputs-stacked .c-input{display:inline}.c-inputs-stacked .c-input::after{display:block;margin-bottom:.25rem;content:""}.c-inputs-stacked .c-input+.c-input{margin-left:0}.c-select{display:inline-block;max-width:100%;-webkit-appearance:none;padding:.375rem 1.75rem .375rem .75rem;padding-right:.75rem\9;color:#55595c;vertical-align:middle;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center;background-image:none\9;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid #ccc;-moz-appearance:none}.c-select:focus{border-color:#51a7e8;outline:0}.c-select::-ms-expand{opacity:0}.c-select-sm{padding-top:3px;padding-bottom:3px;font-size:12px}.c-select-sm:not([multiple]){height:26px;min-height:26px}.file{position:relative;display:inline-block;height:2.5rem;cursor:pointer}.file input{min-width:14rem;margin:0;filter:alpha(opacity=0);opacity:0}.file-custom{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid #ddd;border-radius:.25rem}.file-custom::after{content:"Choose file..."}.file-custom::before{position:absolute;top:-.075rem;right:-.075rem;bottom:-.075rem;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;content:"Browse";background-color:#eee;border:1px solid #ddd;border-radius:0 .25rem .25rem 0}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:inline-block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#818a91}.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover{color:#818a91;cursor:not-allowed;background-color:transparent}.nav-inline .nav-item{display:inline-block}.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link{margin-left:1rem}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs::after{display:table;clear:both;content:""}.nav-tabs .nav-item{float:left;margin-bottom:-1px}.nav-tabs .nav-item+.nav-item{margin-left:.2rem}.nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-radius:.25rem .25rem 0 0}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:#818a91;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#55595c;background-color:#fff;border-color:#ddd #ddd transparent}.nav-pills::after{display:table;clear:both;content:""}.nav-pills .nav-item{float:left}.nav-pills .nav-item+.nav-item{margin-left:.2rem}.nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:.25rem}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#0275d8}.nav-stacked .nav-item{display:block;float:none}.nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;padding:.5rem 1rem}.navbar::after{display:table;clear:both;content:""}@media (min-width:544px){.navbar{border-radius:.25rem}}.navbar-full{z-index:1000}@media (min-width:544px){.navbar-full{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:544px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030;width:100%}@media (min-width:544px){.navbar-sticky-top{border-radius:0}}.navbar-brand{float:left;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.navbar-divider::before{content:"\00a0"}.navbar-toggler{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}@media (min-width:544px){.navbar-toggleable-xs{display:block!important}}@media (min-width:768px){.navbar-toggleable-sm{display:block!important}}@media (min-width:992px){.navbar-toggleable-md{display:block!important}}.navbar-nav .nav-item{float:left}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-nav .nav-link+.nav-link{margin-left:1rem}.navbar-nav .nav-item+.nav-item{margin-left:1rem}.navbar-light .navbar-brand{color:rgba(0,0,0,.8)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .active>.nav-link:focus,.navbar-light .navbar-nav .active>.nav-link:hover,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.active:focus,.navbar-light .navbar-nav .nav-link.active:hover,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .nav-link.open:focus,.navbar-light .navbar-nav .nav-link.open:hover,.navbar-light .navbar-nav .open>.nav-link,.navbar-light .navbar-nav .open>.nav-link:focus,.navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .active>.nav-link:focus,.navbar-dark .navbar-nav .active>.nav-link:hover,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.active:focus,.navbar-dark .navbar-nav .nav-link.active:hover,.navbar-dark .navbar-nav .nav-link.open,.navbar-dark .navbar-nav .nav-link.open:focus,.navbar-dark .navbar-nav .nav-link.open:hover,.navbar-dark .navbar-nav .open>.nav-link,.navbar-dark .navbar-nav .open>.nav-link:focus,.navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.navbar-dark .navbar-divider{background-color:rgba(255,255,255,.075)}.card{position:relative;display:block;margin-bottom:.75rem;background-color:#fff;border:1px solid #e5e5e5;border-radius:.25rem}.card-block{padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-radius:.25rem .25rem 0 0}.card>.list-group:last-child .list-group-item:last-child{border-radius:0 0 .25rem .25rem}.card-header{padding:.75rem 1.25rem;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5}.card-header:first-child{border-radius:.25rem .25rem 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.card-footer:last-child{border-radius:0 0 .25rem .25rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-primary-outline{background-color:transparent;border-color:#0275d8}.card-secondary-outline{background-color:transparent;border-color:#ccc}.card-info-outline{background-color:transparent;border-color:#5bc0de}.card-success-outline{background-color:transparent;border-color:#5cb85c}.card-warning-outline{background-color:transparent;border-color:#f0ad4e}.card-danger-outline{background-color:transparent;border-color:#d9534f}.card-inverse .card-footer,.card-inverse .card-header{border-bottom:1px solid rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote>footer,.card-inverse .card-link,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:.25rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-radius:.25rem .25rem 0 0}.card-img-bottom{border-radius:0 0 .25rem .25rem}@media (min-width:544px){.card-deck{display:table;table-layout:fixed;border-spacing:1.25rem 0}.card-deck .card{display:table-cell;width:1%;vertical-align:top}.card-deck-wrapper{margin-right:-1.25rem;margin-left:-1.25rem}}@media (min-width:544px){.card-group{display:table;width:100%;table-layout:fixed}.card-group .card{display:table-cell;vertical-align:top}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:544px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:table;clear:both;content:""}.breadcrumb>li{float:left}.breadcrumb>li+li::before{padding-right:.5rem;padding-left:.5rem;color:#818a91;content:"/"}.breadcrumb>.active{color:#818a91}.pagination{display:inline-block;padding-left:0;margin-top:1rem;margin-bottom:1rem;border-radius:.25rem}.page-item{display:inline}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{z-index:2;color:#fff;cursor:default;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link,.page-item.disabled .page-link:focus,.page-item.disabled .page-link:hover{color:#818a91;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;float:left;padding:.5rem .75rem;margin-left:-1px;line-height:1.5;color:#0275d8;text-decoration:none;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.333333}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.275rem .75rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pager{padding-left:0;margin-top:1rem;margin-bottom:1rem;text-align:center;list-style:none}.pager::after{display:table;clear:both;content:""}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eceeef}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover{color:#818a91;cursor:not-allowed;background-color:#fff}.pager .disabled>span{color:#818a91;cursor:not-allowed;background-color:#fff}.pager-next>a,.pager-next>span{float:right}.pager-prev>a,.pager-prev>span{float:left}.label{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.label-default{background-color:#818a91}.label-default[href]:focus,.label-default[href]:hover{background-color:#687077}.label-primary{background-color:#0275d8}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#025aa5}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:544px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:15px;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:35px}.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d0e9c6}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faf2cc}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebcccc}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:1rem;margin-bottom:1rem}.progress[value]{-webkit-appearance:none;color:#0074d9;border:0;-moz-appearance:none;appearance:none}.progress[value]::-webkit-progress-bar{background-color:#eee;border-radius:.25rem}.progress[value]::-webkit-progress-value::before{content:attr(value)}.progress[value]::-webkit-progress-value{background-color:#0074d9;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.progress[value="100"]::-webkit-progress-value{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}@media screen and (min-width:0\0){.progress{background-color:#eee;border-radius:.25rem}.progress-bar{display:inline-block;height:1rem;text-indent:-999rem;background-color:#0074d9;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.progress[width^="0"]{min-width:2rem;color:#818a91;background-color:transparent;background-image:none}.progress[width="100%"]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}@media screen and (min-width:0\0){.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}}.progress-animated[value]::-webkit-progress-value{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:progress-bar-stripes 2s linear infinite}@media screen and (min-width:0\0){.progress-animated .progress-bar-striped{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}}.progress-success[value]::-webkit-progress-value{background-color:#5cb85c}.progress-success[value]::-moz-progress-bar{background-color:#5cb85c}@media screen and (min-width:0\0){.progress-success .progress-bar{background-color:#5cb85c}}.progress-info[value]::-webkit-progress-value{background-color:#5bc0de}.progress-info[value]::-moz-progress-bar{background-color:#5bc0de}@media screen and (min-width:0\0){.progress-info .progress-bar{background-color:#5bc0de}}.progress-warning[value]::-webkit-progress-value{background-color:#f0ad4e}.progress-warning[value]::-moz-progress-bar{background-color:#f0ad4e}@media screen and (min-width:0\0){.progress-warning .progress-bar{background-color:#f0ad4e}}.progress-danger[value]::-webkit-progress-value{background-color:#d9534f}.progress-danger[value]::-moz-progress-bar{background-color:#d9534f}@media screen and (min-width:0\0){.progress-danger .progress-bar{background-color:#d9534f}}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right{padding-left:10px}.media-left{padding-right:10px}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-flush .list-group-item{border-width:1px 0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}a.list-group-item,button.list-group-item{width:100%;color:#555;text-align:inherit}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#818a91;cursor:not-allowed;background-color:#eceeef}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#818a91}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#a8d6fe}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.857143%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:transform .3s ease-out,-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header::after{display:table;clear:both;content:""}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer::after{display:table;clear:both;content:""}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:544px){.modal-dialog{width:600px;margin:30px auto}.modal-sm{width:300px}}@media (min-width:768px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;opacity:0;line-break:auto}.tooltip.in{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-arrow,.tooltip.tooltip-right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-arrow,.tooltip.tooltip-bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-arrow,.tooltip.tooltip-left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;line-break:auto}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom .popover-arrow,.popover.popover-top .popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.bs-tether-element-attached-bottom .popover-arrow::after,.popover.popover-top .popover-arrow::after{bottom:1px;margin-left:-10px;content:"";border-top-color:#fff;border-bottom-width:0}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left .popover-arrow,.popover.popover-right .popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.bs-tether-element-attached-left .popover-arrow::after,.popover.popover-right .popover-arrow::after{bottom:-10px;left:1px;content:"";border-right-color:#fff;border-left-width:0}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top .popover-arrow,.popover.popover-bottom .popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top .popover-arrow::after,.popover.popover-bottom .popover-arrow::after{top:1px;margin-left:-10px;content:"";border-top-width:0;border-bottom-color:#fff}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right .popover-arrow,.popover.popover-left .popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right .popover-arrow::after,.popover.popover-left .popover-arrow::after{right:1px;bottom:-10px;content:"";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:-.7rem -.7rem 0 0}.popover-content{padding:9px 14px}.popover-arrow,.popover-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover-arrow{border-width:11px}.popover-arrow::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.carousel-item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:transform .6s ease-in-out,-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.carousel-item.active.right,.carousel-inner>.carousel-item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.carousel-item.active.left,.carousel-inner>.carousel-item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.carousel-item.active,.carousel-inner>.carousel-item.next.left,.carousel-inner>.carousel-item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5}.carousel-control.left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-prev::before{content:"\2039"}.carousel-control .icon-next::before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media (min-width:544px){.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .icon-prev{margin-left:-15px}.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix::after{display:table;clear:both;content:""}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-xs-left{float:left!important}.pull-xs-right{float:right!important}.pull-xs-none{float:none!important}@media (min-width:544px){.pull-sm-left{float:left!important}.pull-sm-right{float:right!important}.pull-sm-none{float:none!important}}@media (min-width:768px){.pull-md-left{float:left!important}.pull-md-right{float:right!important}.pull-md-none{float:none!important}}@media (min-width:992px){.pull-lg-left{float:left!important}.pull-lg-right{float:right!important}.pull-lg-none{float:none!important}}@media (min-width:1200px){.pull-xl-left{float:left!important}.pull-xl-right{float:right!important}.pull-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.invisible{visibility:hidden!important}.text-hide{font:"0/0" a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs-left{text-align:left!important}.text-xs-right{text-align:right!important}.text-xs-center{text-align:center!important}@media (min-width:544px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-muted{color:#818a91}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c}.bg-inverse{color:#eceeef;background-color:#373a3c}.bg-faded{background-color:#f7f7f9}.bg-primary{color:#fff!important;background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5}.bg-success{color:#fff!important;background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44}.bg-info{color:#fff!important;background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5}.bg-warning{color:#fff!important;background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f}.bg-danger{color:#fff!important;background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c}.m-x-auto{margin-right:auto!important;margin-left:auto!important}.m-a-0{margin:0 0!important}.m-t-0{margin-top:0!important}.m-r-0{margin-right:0!important}.m-b-0{margin-bottom:0!important}.m-l-0{margin-left:0!important}.m-x-0{margin-right:0!important;margin-left:0!important}.m-y-0{margin-top:0!important;margin-bottom:0!important}.m-a-1{margin:1rem 1rem!important}.m-t-1{margin-top:1rem!important}.m-r-1{margin-right:1rem!important}.m-b-1{margin-bottom:1rem!important}.m-l-1{margin-left:1rem!important}.m-x-1{margin-right:1rem!important;margin-left:1rem!important}.m-y-1{margin-top:1rem!important;margin-bottom:1rem!important}.m-a-2{margin:1.5rem 1.5rem!important}.m-t-2{margin-top:1.5rem!important}.m-r-2{margin-right:1.5rem!important}.m-b-2{margin-bottom:1.5rem!important}.m-l-2{margin-left:1.5rem!important}.m-x-2{margin-right:1.5rem!important;margin-left:1.5rem!important}.m-y-2{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-a-3{margin:3rem 3rem!important}.m-t-3{margin-top:3rem!important}.m-r-3{margin-right:3rem!important}.m-b-3{margin-bottom:3rem!important}.m-l-3{margin-left:3rem!important}.m-x-3{margin-right:3rem!important;margin-left:3rem!important}.m-y-3{margin-top:3rem!important;margin-bottom:3rem!important}.p-a-0{padding:0 0!important}.p-t-0{padding-top:0!important}.p-r-0{padding-right:0!important}.p-b-0{padding-bottom:0!important}.p-l-0{padding-left:0!important}.p-x-0{padding-right:0!important;padding-left:0!important}.p-y-0{padding-top:0!important;padding-bottom:0!important}.p-a-1{padding:1rem 1rem!important}.p-t-1{padding-top:1rem!important}.p-r-1{padding-right:1rem!important}.p-b-1{padding-bottom:1rem!important}.p-l-1{padding-left:1rem!important}.p-x-1{padding-right:1rem!important;padding-left:1rem!important}.p-y-1{padding-top:1rem!important;padding-bottom:1rem!important}.p-a-2{padding:1.5rem 1.5rem!important}.p-t-2{padding-top:1.5rem!important}.p-r-2{padding-right:1.5rem!important}.p-b-2{padding-bottom:1.5rem!important}.p-l-2{padding-left:1.5rem!important}.p-x-2{padding-right:1.5rem!important;padding-left:1.5rem!important}.p-y-2{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-a-3{padding:3rem 3rem!important}.p-t-3{padding-top:3rem!important}.p-r-3{padding-right:3rem!important}.p-b-3{padding-bottom:3rem!important}.p-l-3{padding-left:3rem!important}.p-x-3{padding-right:3rem!important;padding-left:3rem!important}.p-y-3{padding-top:3rem!important;padding-bottom:3rem!important}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.hidden-xs-up{display:none!important}@media (max-width:543px){.hidden-xs-down{display:none!important}}@media (min-width:544px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
+ *//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f7f7f9;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/demo/asset/js/main.js b/demo/asset/js/main.js
index b77721c..b7944e9 100644
--- a/demo/asset/js/main.js
+++ b/demo/asset/js/main.js
@@ -1,6 +1,6 @@
webpackJsonp([0],[
/* 0 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file main
@@ -15,7 +15,7 @@ webpackJsonp([0],[
platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule);
-/***/ },
+/***/ }),
/* 1 */,
/* 2 */,
/* 3 */,
@@ -55,7 +55,7 @@ webpackJsonp([0],[
/* 37 */,
/* 38 */,
/* 39 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
@@ -108,7 +108,7 @@ webpackJsonp([0],[
exports.AppModule = AppModule;
-/***/ },
+/***/ }),
/* 40 */,
/* 41 */,
/* 42 */,
@@ -130,7 +130,7 @@ webpackJsonp([0],[
/* 58 */,
/* 59 */,
/* 60 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: App
@@ -161,21 +161,21 @@ webpackJsonp([0],[
exports.AppComponent = AppComponent;
-/***/ },
+/***/ }),
/* 61 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = " \n \n\n\n"
-/***/ },
+/***/ }),
/* 62 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "/**\n * @file App style\n * @author yumao\n */\n.form-control:focus {\n border-color: #e86c8c;\n}\n.c-input > input:checked ~ .c-indicator {\n background-color: #b03a58;\n}\n.c-input > input:focus ~ .c-indicator {\n box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #b03a58;\n}\n.c-input > input:active ~ .c-indicator {\n background-color: #e86c8c;\n}\n.btn:focus,\n.btn:focus:active {\n outline: 0;\n}\n"
-/***/ },
+/***/ }),
/* 63 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file GithubCorner index
@@ -189,9 +189,9 @@ webpackJsonp([0],[
__export(__webpack_require__(64));
-/***/ },
+/***/ }),
/* 64 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: GithubCorner
@@ -221,21 +221,21 @@ webpackJsonp([0],[
exports.GithubCornerComponent = GithubCornerComponent;
-/***/ },
+/***/ }),
/* 65 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "\n\n \n \n \n \n \n \n"
-/***/ },
+/***/ }),
/* 66 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "/**\n * @file GithubCorner style\n * @author yumao\n */\n.github-corner svg {\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n fill: #fff;\n color: #b03a58;\n}\n.github-corner .octo-arm {\n -webkit-transform-origin: 130px 106px;\n transform-origin: 130px 106px;\n}\n.github-corner:hover .octo-arm {\n -webkit-animation: octocat-wave 560ms ease-in-out;\n animation: octocat-wave 560ms ease-in-out;\n}\n@media (max-width: 500px) {\n .github-corner .octo-arm {\n -webkit-animation: octocat-wave 560ms ease-in-out;\n animation: octocat-wave 560ms ease-in-out;\n }\n .github-corner:hover .octo-arm {\n -webkit-animation: none;\n animation: none;\n }\n}\n@-webkit-keyframes octocat-wave {\n 0%,\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n 20%,\n 60% {\n -webkit-transform: rotate(-25deg);\n transform: rotate(-25deg);\n }\n 40%,\n 80% {\n -webkit-transform: rotate(10deg);\n transform: rotate(10deg);\n }\n}\n@keyframes octocat-wave {\n 0%,\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n 20%,\n 60% {\n -webkit-transform: rotate(-25deg);\n transform: rotate(-25deg);\n }\n 40%,\n 80% {\n -webkit-transform: rotate(10deg);\n transform: rotate(10deg);\n }\n}\n"
-/***/ },
+/***/ }),
/* 67 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Header index
@@ -249,9 +249,9 @@ webpackJsonp([0],[
__export(__webpack_require__(68));
-/***/ },
+/***/ }),
/* 68 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: Header
@@ -281,21 +281,21 @@ webpackJsonp([0],[
exports.HeaderComponent = HeaderComponent;
-/***/ },
+/***/ }),
/* 69 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "\n"
-/***/ },
+/***/ }),
/* 70 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "/**\n * @file Header style\n * @author yumao\n */\nheader {\n padding: 3rem .9375rem;\n margin-bottom: 3rem;\n background: #b03a58;\n color: #e8bac5;\n}\nheader h1 {\n color: #fff;\n font-size: 3rem;\n}\n"
-/***/ },
+/***/ }),
/* 71 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Options index
@@ -309,9 +309,9 @@ webpackJsonp([0],[
__export(__webpack_require__(72));
-/***/ },
+/***/ }),
/* 72 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: Options
@@ -362,9 +362,9 @@ webpackJsonp([0],[
var _a;
-/***/ },
+/***/ }),
/* 73 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Options Template
@@ -379,21 +379,21 @@ webpackJsonp([0],[
};
-/***/ },
+/***/ }),
/* 74 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "\n"
-/***/ },
+/***/ }),
/* 75 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "/**\n * @file Options style\n * @author yumao\n */\n.c-checkbox {\n line-height: 36px;\n}\n"
-/***/ },
+/***/ }),
/* 76 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Table index
@@ -407,9 +407,9 @@ webpackJsonp([0],[
__export(__webpack_require__(77));
-/***/ },
+/***/ }),
/* 77 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: Table
@@ -449,17 +449,17 @@ webpackJsonp([0],[
var _a;
-/***/ },
+/***/ }),
/* 78 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "\n \n \n # \n Name \n Species \n Occupation \n \n \n \n \n 1 \n Arthur Dent \n Human \n Radio Employee \n \n \n 2 \n Ford Prefect \n Betelgeusian \n Researcher \n \n \n 3 \n Marvin \n Robot \n Servant \n \n \n
\n"
-/***/ },
+/***/ }),
/* 79 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = "/**\n * @file Table style\n * @author yumao\n */\n.table {\n position: relative;\n}\n"
-/***/ }
+/***/ })
]);
\ No newline at end of file
diff --git a/demo/asset/js/vendor.js b/demo/asset/js/vendor.js
index 0cca9bf..12eed20 100644
--- a/demo/asset/js/vendor.js
+++ b/demo/asset/js/vendor.js
@@ -12,7 +12,9 @@
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) {
-/******/ modules[moduleId] = moreModules[moduleId];
+/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ modules[moduleId] = moreModules[moduleId];
+/******/ }
/******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);
/******/ while(callbacks.length)
@@ -96,7 +98,7 @@
/************************************************************************/
/******/ ([
/* 0 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
@@ -117,13 +119,13 @@
__webpack_require__(50);
-/***/ },
+/***/ }),
/* 1 */,
/* 2 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -139,7 +141,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -268,7 +270,7 @@
/**
* @stable
*/
- var VERSION = new _angular_core.Version('4.0.1');
+ var VERSION = new _angular_core.Version('4.1.0');
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -297,12 +299,12 @@
//# sourceMappingURL=platform-browser-dynamic.umd.js.map
-/***/ },
+/***/ }),
/* 3 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -318,7 +320,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -337,7 +339,7 @@
/**
* \@stable
*/
- var VERSION = new _angular_core.Version('4.0.1');
+ var VERSION = new _angular_core.Version('4.1.0');
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -792,7 +794,7 @@
if (context === void 0) { context = null; }
var /** @type {?} */ result = [];
var /** @type {?} */ visit = visitor.visit ?
- function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :
+ function (ast) { return ((visitor.visit))(ast, context) || ast.visit(visitor, context); } :
function (ast) { return ast.visit(visitor, context); };
asts.forEach(function (ast) {
var /** @type {?} */ astResult = visit(ast);
@@ -876,6 +878,27 @@
}
return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];
}
+ /**
+ * @param {?} tagName
+ * @return {?}
+ */
+ function isNgContainer(tagName) {
+ return splitNsName(tagName)[1] === 'ng-container';
+ }
+ /**
+ * @param {?} tagName
+ * @return {?}
+ */
+ function isNgContent(tagName) {
+ return splitNsName(tagName)[1] === 'ng-content';
+ }
+ /**
+ * @param {?} tagName
+ * @return {?}
+ */
+ function isNgTemplate(tagName) {
+ return splitNsName(tagName)[1] === 'ng-template';
+ }
/**
* @param {?} fullName
* @return {?}
@@ -894,7 +917,8 @@
// see http://www.w3.org/TR/html51/syntax.html#named-character-references
// see https://html.spec.whatwg.org/multipage/entities.json
// This list is not exhaustive to keep the compiler footprint low.
- // The `{` / `ƫ` syntax should be used when the named character reference does not exist.
+ // The `{` / `ƫ` syntax should be used when the named character reference does not
+ // exist.
var NAMED_ENTITIES = {
'Aacute': '\u00C1',
'aacute': '\u00E1',
@@ -1177,7 +1201,7 @@
this.parentToAdd = requiredParents[0];
requiredParents.forEach(function (tagName) { return _this.requiredParents[tagName] = true; });
}
- this.implicitNamespacePrefix = implicitNamespacePrefix;
+ this.implicitNamespacePrefix = implicitNamespacePrefix || null;
this.contentType = contentType;
this.ignoreFirstLf = ignoreFirstLf;
}
@@ -1444,7 +1468,7 @@
* @return {?}
*/
SelectorMatcher.prototype.addSelectables = function (cssSelectors, callbackCtxt) {
- var /** @type {?} */ listContext = null;
+ var /** @type {?} */ listContext = ((null));
if (cssSelectors.length > 1) {
listContext = new SelectorListContext(cssSelectors);
this._listContexts.push(listContext);
@@ -1549,7 +1573,7 @@
*/
SelectorMatcher.prototype.match = function (cssSelector, matchedCallback) {
var /** @type {?} */ result = false;
- var /** @type {?} */ element = cssSelector.element;
+ var /** @type {?} */ element = ((cssSelector.element));
var /** @type {?} */ classNames = cssSelector.classNames;
var /** @type {?} */ attrs = cssSelector.attrs;
for (var /** @type {?} */ i = 0; i < this._listContexts.length; i++) {
@@ -1572,14 +1596,14 @@
for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {
var /** @type {?} */ name = attrs[i];
var /** @type {?} */ value = attrs[i + 1];
- var /** @type {?} */ terminalValuesMap = this._attrValueMap.get(name);
+ var /** @type {?} */ terminalValuesMap = ((this._attrValueMap.get(name)));
if (value) {
result =
this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;
}
result =
this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;
- var /** @type {?} */ partialValuesMap = this._attrValuePartialMap.get(name);
+ var /** @type {?} */ partialValuesMap = ((this._attrValuePartialMap.get(name)));
if (value) {
result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;
}
@@ -1602,7 +1626,7 @@
return false;
}
var /** @type {?} */ selectables = map.get(name) || [];
- var /** @type {?} */ starSelectables = map.get('*');
+ var /** @type {?} */ starSelectables = ((map.get('*')));
if (starSelectables) {
selectables = selectables.concat(starSelectables);
}
@@ -1756,6 +1780,21 @@
}
return visitor.visitOther(value, context);
}
+ /**
+ * @param {?} val
+ * @return {?}
+ */
+ function isDefined(val) {
+ return val !== null && val !== undefined;
+ }
+ /**
+ * @template T
+ * @param {?} val
+ * @return {?}
+ */
+ function noUndefined(val) {
+ return val === undefined ? ((null)) : val;
+ }
var ValueTransformer = (function () {
function ValueTransformer() {
}
@@ -2141,7 +2180,7 @@
*/
function CompileStylesheetMetadata(_a) {
var _b = _a === void 0 ? {} : _a, moduleUrl = _b.moduleUrl, styles = _b.styles, styleUrls = _b.styleUrls;
- this.moduleUrl = moduleUrl;
+ this.moduleUrl = moduleUrl || null;
this.styles = _normalizeArray(styles);
this.styleUrls = _normalizeArray(styleUrls);
}
@@ -2152,10 +2191,10 @@
*/
var CompileTemplateMetadata = (function () {
/**
- * @param {?=} __0
+ * @param {?} __0
*/
function CompileTemplateMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, encapsulation = _b.encapsulation, template = _b.template, templateUrl = _b.templateUrl, styles = _b.styles, styleUrls = _b.styleUrls, externalStylesheets = _b.externalStylesheets, animations = _b.animations, ngContentSelectors = _b.ngContentSelectors, interpolation = _b.interpolation, isInline = _b.isInline;
+ var encapsulation = _a.encapsulation, template = _a.template, templateUrl = _a.templateUrl, styles = _a.styles, styleUrls = _a.styleUrls, externalStylesheets = _a.externalStylesheets, animations = _a.animations, ngContentSelectors = _a.ngContentSelectors, interpolation = _a.interpolation, isInline = _a.isInline;
this.encapsulation = encapsulation;
this.template = template;
this.templateUrl = templateUrl;
@@ -2187,10 +2226,10 @@
*/
var CompileDirectiveMetadata = (function () {
/**
- * @param {?=} __0
+ * @param {?} __0
*/
function CompileDirectiveMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, isHost = _b.isHost, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, hostListeners = _b.hostListeners, hostProperties = _b.hostProperties, hostAttributes = _b.hostAttributes, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template, componentViewType = _b.componentViewType, rendererType = _b.rendererType, componentFactory = _b.componentFactory;
+ var isHost = _a.isHost, type = _a.type, isComponent = _a.isComponent, selector = _a.selector, exportAs = _a.exportAs, changeDetection = _a.changeDetection, inputs = _a.inputs, outputs = _a.outputs, hostListeners = _a.hostListeners, hostProperties = _a.hostProperties, hostAttributes = _a.hostAttributes, providers = _a.providers, viewProviders = _a.viewProviders, queries = _a.queries, viewQueries = _a.viewQueries, entryComponents = _a.entryComponents, template = _a.template, componentViewType = _a.componentViewType, rendererType = _a.rendererType, componentFactory = _a.componentFactory;
this.isHost = !!isHost;
this.type = type;
this.isComponent = isComponent;
@@ -2213,11 +2252,11 @@
this.componentFactory = componentFactory;
}
/**
- * @param {?=} __0
+ * @param {?} __0
* @return {?}
*/
CompileDirectiveMetadata.create = function (_a) {
- var _b = _a === void 0 ? {} : _a, isHost = _b.isHost, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, host = _b.host, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template, componentViewType = _b.componentViewType, rendererType = _b.rendererType, componentFactory = _b.componentFactory;
+ var isHost = _a.isHost, type = _a.type, isComponent = _a.isComponent, selector = _a.selector, exportAs = _a.exportAs, changeDetection = _a.changeDetection, inputs = _a.inputs, outputs = _a.outputs, host = _a.host, providers = _a.providers, viewProviders = _a.viewProviders, queries = _a.queries, viewQueries = _a.viewQueries, entryComponents = _a.entryComponents, template = _a.template, componentViewType = _a.componentViewType, rendererType = _a.rendererType, componentFactory = _a.componentFactory;
var /** @type {?} */ hostListeners = {};
var /** @type {?} */ hostProperties = {};
var /** @type {?} */ hostAttributes = {};
@@ -2311,7 +2350,7 @@
* @return {?}
*/
function createHostComponentMeta(hostTypeReference, compMeta, hostViewType) {
- var /** @type {?} */ template = CssSelector.parse(compMeta.selector)[0].getMatchingElementTemplate();
+ var /** @type {?} */ template = CssSelector.parse(/** @type {?} */ ((compMeta.selector)))[0].getMatchingElementTemplate();
return CompileDirectiveMetadata.create({
isHost: true,
type: { reference: hostTypeReference, diDeps: [], lifecycleHooks: [] },
@@ -2324,7 +2363,10 @@
ngContentSelectors: [],
animations: [],
isInline: true,
+ externalStylesheets: [],
+ interpolation: null
}),
+ exportAs: null,
changeDetection: _angular_core.ChangeDetectionStrategy.Default,
inputs: [],
outputs: [],
@@ -2336,15 +2378,17 @@
queries: [],
viewQueries: [],
componentViewType: hostViewType,
- rendererType: { id: '__Host__', encapsulation: _angular_core.ViewEncapsulation.None, styles: [], data: {} }
+ rendererType: { id: '__Host__', encapsulation: _angular_core.ViewEncapsulation.None, styles: [], data: {} },
+ entryComponents: [],
+ componentFactory: null
});
}
var CompilePipeMetadata = (function () {
/**
- * @param {?=} __0
+ * @param {?} __0
*/
function CompilePipeMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, type = _b.type, name = _b.name, pure = _b.pure;
+ var type = _a.type, name = _a.name, pure = _a.pure;
this.type = type;
this.name = name;
this.pure = !!pure;
@@ -2367,11 +2411,11 @@
*/
var CompileNgModuleMetadata = (function () {
/**
- * @param {?=} __0
+ * @param {?} __0
*/
function CompileNgModuleMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, type = _b.type, providers = _b.providers, declaredDirectives = _b.declaredDirectives, exportedDirectives = _b.exportedDirectives, declaredPipes = _b.declaredPipes, exportedPipes = _b.exportedPipes, entryComponents = _b.entryComponents, bootstrapComponents = _b.bootstrapComponents, importedModules = _b.importedModules, exportedModules = _b.exportedModules, schemas = _b.schemas, transitiveModule = _b.transitiveModule, id = _b.id;
- this.type = type;
+ var type = _a.type, providers = _a.providers, declaredDirectives = _a.declaredDirectives, exportedDirectives = _a.exportedDirectives, declaredPipes = _a.declaredPipes, exportedPipes = _a.exportedPipes, entryComponents = _a.entryComponents, bootstrapComponents = _a.bootstrapComponents, importedModules = _a.importedModules, exportedModules = _a.exportedModules, schemas = _a.schemas, transitiveModule = _a.transitiveModule, id = _a.id;
+ this.type = type || null;
this.declaredDirectives = _normalizeArray(declaredDirectives);
this.exportedDirectives = _normalizeArray(exportedDirectives);
this.declaredPipes = _normalizeArray(declaredPipes);
@@ -2382,21 +2426,22 @@
this.importedModules = _normalizeArray(importedModules);
this.exportedModules = _normalizeArray(exportedModules);
this.schemas = _normalizeArray(schemas);
- this.id = id;
- this.transitiveModule = transitiveModule;
+ this.id = id || null;
+ this.transitiveModule = transitiveModule || null;
}
/**
* @return {?}
*/
CompileNgModuleMetadata.prototype.toSummary = function () {
+ var /** @type {?} */ module = ((this.transitiveModule));
return {
summaryKind: CompileSummaryKind.NgModule,
type: this.type,
- entryComponents: this.transitiveModule.entryComponents,
- providers: this.transitiveModule.providers,
- modules: this.transitiveModule.modules,
- exportedDirectives: this.transitiveModule.exportedDirectives,
- exportedPipes: this.transitiveModule.exportedPipes
+ entryComponents: module.entryComponents,
+ providers: module.providers,
+ modules: module.modules,
+ exportedDirectives: module.exportedDirectives,
+ exportedPipes: module.exportedPipes
};
};
return CompileNgModuleMetadata;
@@ -2502,11 +2547,11 @@
function ProviderMeta(token, _a) {
var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
this.token = token;
- this.useClass = useClass;
+ this.useClass = useClass || null;
this.useValue = useValue;
this.useExisting = useExisting;
- this.useFactory = useFactory;
- this.dependencies = deps;
+ this.useFactory = useFactory || null;
+ this.dependencies = deps || null;
this.multi = !!multi;
}
return ProviderMeta;
@@ -2550,7 +2595,7 @@
}
}
else {
- url = templateMeta.templateUrl;
+ url = ((templateMeta.templateUrl));
}
// always prepend ng:// to make angular resources easy to find and not clobber
// user resources.
@@ -2562,7 +2607,7 @@
* @return {?}
*/
function sharedStylesheetJitUrl(meta, id) {
- var /** @type {?} */ pathParts = meta.moduleUrl.split(/\/\\/g);
+ var /** @type {?} */ pathParts = ((meta.moduleUrl)).split(/\/\\/g);
var /** @type {?} */ baseName = pathParts[pathParts.length - 1];
return sourceUrl("css/" + id + baseName + ".ngstyle.js");
}
@@ -2595,8 +2640,8 @@
function CompilerConfig(_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.defaultEncapsulation, defaultEncapsulation = _c === void 0 ? _angular_core.ViewEncapsulation.Emulated : _c, _d = _b.useJit, useJit = _d === void 0 ? true : _d, missingTranslation = _b.missingTranslation, enableLegacyTemplate = _b.enableLegacyTemplate;
this.defaultEncapsulation = defaultEncapsulation;
- this.useJit = useJit;
- this.missingTranslation = missingTranslation;
+ this.useJit = !!useJit;
+ this.missingTranslation = missingTranslation || null;
this.enableLegacyTemplate = enableLegacyTemplate !== false;
}
return CompilerConfig;
@@ -3242,7 +3287,7 @@
* @return {?}
*/
RecursiveAstVisitor.prototype.visitFunctionCall = function (ast, context) {
- ast.target.visit(this);
+ ((ast.target)).visit(this);
this.visitAll(ast.args, context);
return null;
};
@@ -3445,7 +3490,7 @@
* @return {?}
*/
AstTransformer.prototype.visitFunctionCall = function (ast, context) {
- return new FunctionCall(ast.span, ast.target.visit(this), this.visitAll(ast.args));
+ return new FunctionCall(ast.span, /** @type {?} */ ((ast.target)).visit(this), this.visitAll(ast.args));
};
/**
* @param {?} ast
@@ -4710,7 +4755,7 @@
this.error('Cannot have a pipe in an action expression');
}
do {
- var /** @type {?} */ name = this.expectIdentifierOrKeyword();
+ var /** @type {?} */ name = ((this.expectIdentifierOrKeyword()));
var /** @type {?} */ args = [];
while (this.optionalCharacter($COLON)) {
args.push(this.parseExpression());
@@ -5006,7 +5051,7 @@
if (!this.optionalCharacter($RBRACE)) {
this.rbracesExpected++;
do {
- var /** @type {?} */ key = this.expectIdentifierOrKeywordOrString();
+ var /** @type {?} */ key = ((this.expectIdentifierOrKeywordOrString()));
keys.push(key);
this.expectCharacter($COLON);
values.push(this.parsePipe());
@@ -5024,7 +5069,7 @@
_ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {
if (isSafe === void 0) { isSafe = false; }
var /** @type {?} */ start = receiver.span.start;
- var /** @type {?} */ id = this.expectIdentifierOrKeyword();
+ var /** @type {?} */ id = ((this.expectIdentifierOrKeyword()));
if (this.optionalCharacter($LPAREN)) {
this.rparensExpected++;
var /** @type {?} */ args = this.parseCallArguments();
@@ -5092,7 +5137,7 @@
*/
_ParseAST.prototype.parseTemplateBindings = function () {
var /** @type {?} */ bindings = [];
- var /** @type {?} */ prefix = null;
+ var /** @type {?} */ prefix = ((null));
var /** @type {?} */ warnings = [];
while (this.index < this.tokens.length) {
var /** @type {?} */ start = this.inputIndex;
@@ -5111,8 +5156,8 @@
}
}
this.optionalCharacter($COLON);
- var /** @type {?} */ name = null;
- var /** @type {?} */ expression = null;
+ var /** @type {?} */ name = ((null));
+ var /** @type {?} */ expression = ((null));
if (keyIsVar) {
if (this.optionalOperator('=')) {
name = this.expectTemplateBindingKey();
@@ -5139,7 +5184,7 @@
var /** @type {?} */ letStart = this.inputIndex;
this.advance(); // consume `as`
var /** @type {?} */ letName = this.expectTemplateBindingKey(); // read local var name
- bindings.push(new TemplateBinding(this.span(letStart), letName, true, key, null));
+ bindings.push(new TemplateBinding(this.span(letStart), letName, true, key, /** @type {?} */ ((null))));
}
if (!this.optionalCharacter($SEMICOLON)) {
this.optionalCharacter($COMMA);
@@ -5178,7 +5223,7 @@
(this.rbracesExpected <= 0 || !n.isCharacter($RBRACE)) &&
(this.rbracketsExpected <= 0 || !n.isCharacter($RBRACKET))) {
if (this.next.isError()) {
- this.errors.push(new ParserError(this.next.toString(), this.input, this.locationText(), this.location));
+ this.errors.push(new ParserError(/** @type {?} */ ((this.next.toString())), this.input, this.locationText(), this.location));
}
this.advance();
n = this.next;
@@ -5499,7 +5544,7 @@
var /** @type {?} */ sourceFileName = moduleUrl != null ? "in " + kind + " " + identifierName(type) + " in " + moduleUrl :
"in " + kind + " " + identifierName(type);
var /** @type {?} */ sourceFile = new ParseSourceFile('', sourceFileName);
- return new ParseSourceSpan(new ParseLocation(sourceFile, null, null, null), new ParseLocation(sourceFile, null, null, null));
+ return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));
}
/**
* @license
@@ -5598,10 +5643,12 @@
* @param {?} attrs
* @param {?} children
* @param {?} sourceSpan
- * @param {?} startSourceSpan
- * @param {?} endSourceSpan
+ * @param {?=} startSourceSpan
+ * @param {?=} endSourceSpan
*/
function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {
+ if (startSourceSpan === void 0) { startSourceSpan = null; }
+ if (endSourceSpan === void 0) { endSourceSpan = null; }
this.name = name;
this.attrs = attrs;
this.children = children;
@@ -5644,7 +5691,7 @@
if (context === void 0) { context = null; }
var /** @type {?} */ result = [];
var /** @type {?} */ visit = visitor.visit ?
- function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :
+ function (ast) { return ((visitor.visit))(ast, context) || ast.visit(visitor, context); } :
function (ast) { return ast.visit(visitor, context); };
nodes.forEach(function (ast) {
var /** @type {?} */ astResult = visit(ast);
@@ -5919,8 +5966,8 @@
if (end === void 0) { end = this._getLocation(); }
var /** @type {?} */ token = new Token$1(this._currentTokenType, parts, new ParseSourceSpan(this._currentTokenStart, end));
this.tokens.push(token);
- this._currentTokenStart = null;
- this._currentTokenType = null;
+ this._currentTokenStart = ((null));
+ this._currentTokenType = ((null));
return token;
};
/**
@@ -5933,8 +5980,8 @@
msg += " (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)";
}
var /** @type {?} */ error = new TokenError(msg, this._currentTokenType, span);
- this._currentTokenStart = null;
- this._currentTokenType = null;
+ this._currentTokenStart = ((null));
+ this._currentTokenType = ((null));
return new _ControlFlowError(error);
};
/**
@@ -6181,7 +6228,7 @@
*/
_Tokenizer.prototype._consumePrefixAndName = function () {
var /** @type {?} */ nameOrPrefixStart = this._index;
- var /** @type {?} */ prefix = null;
+ var /** @type {?} */ prefix = ((null));
while (this._peek !== $COLON && !isPrefixEnd(this._peek)) {
this._advance();
}
@@ -6262,7 +6309,7 @@
return _this._attemptCharCode($GT);
});
this._beginToken(TokenType$1.TAG_CLOSE, textToken.sourceSpan.end);
- this._endToken([null, lowercaseTagName]);
+ this._endToken([/** @type {?} */ ((null)), lowercaseTagName]);
};
/**
* @param {?} start
@@ -6542,7 +6589,7 @@
*/
function mergeTextTokens(srcTokens) {
var /** @type {?} */ dstTokens = [];
- var /** @type {?} */ lastDstToken;
+ var /** @type {?} */ lastDstToken = undefined;
for (var /** @type {?} */ i = 0; i < srcTokens.length; i++) {
var /** @type {?} */ token = srcTokens[i];
if (lastDstToken && lastDstToken.type == TokenType$1.TEXT && token.type == TokenType$1.TEXT) {
@@ -6855,7 +6902,7 @@
}
var /** @type {?} */ end = this._peek.sourceSpan.start;
var /** @type {?} */ span = new ParseSourceSpan(startTagToken.sourceSpan.start, end);
- var /** @type {?} */ el = new Element(fullName, attrs, [], span, span, null);
+ var /** @type {?} */ el = new Element(fullName, attrs, [], span, span, undefined);
this._pushElement(el);
if (selfClosing) {
this._popElement(fullName);
@@ -6889,7 +6936,7 @@
_TreeBuilder.prototype._consumeEndTag = function (endTagToken) {
var /** @type {?} */ fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());
if (this._getParentElement()) {
- this._getParentElement().endSourceSpan = endTagToken.sourceSpan;
+ ((this._getParentElement())).endSourceSpan = endTagToken.sourceSpan;
}
if (this.getTagDefinition(fullName).isVoid) {
this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, "Void elements do not have end tags \"" + endTagToken.parts[1] + "\""));
@@ -6924,7 +6971,7 @@
var /** @type {?} */ fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);
var /** @type {?} */ end = attrName.sourceSpan.end;
var /** @type {?} */ value = '';
- var /** @type {?} */ valueSpan;
+ var /** @type {?} */ valueSpan = ((undefined));
if (this._peek.type === TokenType$1.ATTR_VALUE) {
var /** @type {?} */ valueToken = this._advance();
value = valueToken.parts[0];
@@ -6948,7 +6995,7 @@
_TreeBuilder.prototype._getParentElementSkippingContainers = function () {
var /** @type {?} */ container = null;
for (var /** @type {?} */ i = this._elementStack.length - 1; i >= 0; i--) {
- if (this._elementStack[i].name !== 'ng-container') {
+ if (!isNgContainer(this._elementStack[i].name)) {
return { parent: this._elementStack[i], container: container };
}
container = this._elementStack[i];
@@ -7005,7 +7052,7 @@
*/
_TreeBuilder.prototype._getElementFullName = function (prefix, localName, parentElement) {
if (prefix == null) {
- prefix = this.getTagDefinition(localName).implicitNamespacePrefix;
+ prefix = ((this.getTagDefinition(localName).implicitNamespacePrefix));
if (prefix == null && parentElement != null) {
prefix = getNsPrefix(parentElement.name);
}
@@ -7045,6 +7092,18 @@
this.meaning = meaning;
this.description = description;
this.id = id;
+ if (nodes.length) {
+ this.sources = [{
+ filePath: nodes[0].sourceSpan.start.file.url,
+ startLine: nodes[0].sourceSpan.start.line + 1,
+ startCol: nodes[0].sourceSpan.start.col + 1,
+ endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,
+ endCol: nodes[0].sourceSpan.start.col + 1
+ }];
+ }
+ else {
+ this.sources = [];
+ }
}
return Message;
}());
@@ -7475,13 +7534,13 @@
});
var /** @type {?} */ isVoid = getHtmlTagDefinition(el.name).isVoid;
var /** @type {?} */ startPhName = this._placeholderRegistry.getStartTagPlaceholderName(el.name, attrs, isVoid);
- this._placeholderToContent[startPhName] = el.sourceSpan.toString();
+ this._placeholderToContent[startPhName] = ((el.sourceSpan)).toString();
var /** @type {?} */ closePhName = '';
if (!isVoid) {
closePhName = this._placeholderRegistry.getCloseTagPlaceholderName(el.name);
this._placeholderToContent[closePhName] = "" + el.name + ">";
}
- return new TagPlaceholder(el.name, attrs, startPhName, closePhName, children, isVoid, el.sourceSpan);
+ return new TagPlaceholder(el.name, attrs, startPhName, closePhName, children, isVoid, /** @type {?} */ ((el.sourceSpan)));
};
/**
* @param {?} attribute
@@ -7497,7 +7556,7 @@
* @return {?}
*/
_I18nVisitor.prototype.visitText = function (text, context) {
- return this._visitTextWithInterpolation(text.value, text.sourceSpan);
+ return this._visitTextWithInterpolation(text.value, /** @type {?} */ ((text.sourceSpan)));
};
/**
* @param {?} comment
@@ -7704,7 +7763,7 @@
this._init(_VisitorMode.Merge, interpolationConfig);
this._translations = translations;
// Construct a single fake root element
- var /** @type {?} */ wrapper = new Element('wrapper', [], nodes, null, null, null);
+ var /** @type {?} */ wrapper = new Element('wrapper', [], nodes, /** @type {?} */ ((undefined)), undefined, undefined);
var /** @type {?} */ translatedNode = wrapper.visit(this, null);
if (this._inI18nBlock) {
this._reportError(nodes[nodes.length - 1], 'Unclosed block');
@@ -7767,7 +7826,7 @@
this._inI18nBlock = true;
this._blockStartDepth = this._depth;
this._blockChildren = [];
- this._blockMeaningAndDesc = comment.value.replace(_I18N_COMMENT_PREFIX_REGEXP, '').trim();
+ this._blockMeaningAndDesc = ((comment.value)).replace(_I18N_COMMENT_PREFIX_REGEXP, '').trim();
this._openTranslatableSection(comment);
}
}
@@ -7776,7 +7835,7 @@
if (this._depth == this._blockStartDepth) {
this._closeTranslatableSection(comment, this._blockChildren);
this._inI18nBlock = false;
- var /** @type {?} */ message = this._addMessage(this._blockChildren, this._blockMeaningAndDesc);
+ var /** @type {?} */ message = ((this._addMessage(this._blockChildren, this._blockMeaningAndDesc)));
// merge attributes in sections
var /** @type {?} */ nodes = this._translateMessage(comment, message);
return visitAll(this, nodes);
@@ -7812,7 +7871,7 @@
var /** @type {?} */ wasInI18nNode = this._inI18nNode;
var /** @type {?} */ wasInImplicitNode = this._inImplicitNode;
var /** @type {?} */ childNodes = [];
- var /** @type {?} */ translatedChildNodes;
+ var /** @type {?} */ translatedChildNodes = ((undefined));
// Extract:
// - top level nodes with the (implicit) "i18n" attribute if not already in a section
// - ICU messages
@@ -7825,7 +7884,7 @@
if (!this._isInTranslatableSection && !this._inIcu) {
if (i18nAttr || isTopLevelImplicit) {
this._inI18nNode = true;
- var /** @type {?} */ message = this._addMessage(el.children, i18nMeta);
+ var /** @type {?} */ message = ((this._addMessage(el.children, i18nMeta)));
translatedChildNodes = this._translateMessage(el, message);
}
if (this._mode == _VisitorMode.Extract) {
@@ -7865,6 +7924,7 @@
var /** @type {?} */ translatedAttrs = this._translateAttributes(el);
return new Element(el.name, translatedAttrs, childNodes, el.sourceSpan, el.startSourceSpan, el.endSourceSpan);
}
+ return null;
};
/**
* @param {?} attribute
@@ -7885,7 +7945,7 @@
this._inI18nNode = false;
this._depth = 0;
this._inIcu = false;
- this._msgCountAtSectionStart = void 0;
+ this._msgCountAtSectionStart = undefined;
this._errors = [];
this._messages = [];
this._inImplicitNode = false;
@@ -7920,7 +7980,7 @@
if (ast.length == 0 ||
ast.length == 1 && ast[0] instanceof Attribute$1 && !((ast[0])).value) {
// Do not create empty messages
- return;
+ return null;
}
var _a = _parseMessageMeta(msgMeta), meaning = _a.meaning, description = _a.description, id = _a.id;
var /** @type {?} */ message = this._createI18nMessage(ast, meaning, description, id);
@@ -8062,7 +8122,7 @@
}
}
}
- this._msgCountAtSectionStart = void 0;
+ this._msgCountAtSectionStart = undefined;
};
/**
* @param {?} node
@@ -8070,7 +8130,7 @@
* @return {?}
*/
_Visitor.prototype._reportError = function (node, msg) {
- this._errors.push(new I18nError(node.sourceSpan, msg));
+ this._errors.push(new I18nError(/** @type {?} */ ((node.sourceSpan)), msg));
};
return _Visitor;
}());
@@ -8079,14 +8139,14 @@
* @return {?}
*/
function _isOpeningComment(n) {
- return n instanceof Comment && n.value && n.value.startsWith('i18n');
+ return !!(n instanceof Comment && n.value && n.value.startsWith('i18n'));
}
/**
* @param {?} n
* @return {?}
*/
function _isClosingComment(n) {
- return n instanceof Comment && n.value && n.value === '/i18n';
+ return !!(n instanceof Comment && n.value && n.value === '/i18n');
}
/**
* @param {?} p
@@ -8096,7 +8156,7 @@
return p.attrs.find(function (attr) { return attr.name === _I18N_ATTR; }) || null;
}
/**
- * @param {?} i18n
+ * @param {?=} i18n
* @return {?}
*/
function _parseMessageMeta(i18n) {
@@ -8165,7 +8225,7 @@
*/
XmlParser.prototype.parse = function (source, url, parseExpansionForms) {
if (parseExpansionForms === void 0) { parseExpansionForms = false; }
- return _super.prototype.parse.call(this, source, url, parseExpansionForms, null);
+ return _super.prototype.parse.call(this, source, url, parseExpansionForms);
};
return XmlParser;
}(Parser$1));
@@ -8924,6 +8984,8 @@
var _SOURCE_TAG = 'source';
var _TARGET_TAG = 'target';
var _UNIT_TAG = 'trans-unit';
+ var _CONTEXT_GROUP_TAG = 'context-group';
+ var _CONTEXT_TAG = 'context';
var Xliff = (function (_super) {
__extends(Xliff, _super);
function Xliff() {
@@ -8938,8 +9000,14 @@
var /** @type {?} */ visitor = new _WriteVisitor();
var /** @type {?} */ transUnits = [];
messages.forEach(function (message) {
+ var /** @type {?} */ contextTags = [];
+ message.sources.forEach(function (source) {
+ var /** @type {?} */ contextGroupTag = new Tag(_CONTEXT_GROUP_TAG, { purpose: 'location' });
+ contextGroupTag.children.push(new CR(10), new Tag(_CONTEXT_TAG, { 'context-type': 'sourcefile' }, [new Text$2(source.filePath)]), new CR(10), new Tag(_CONTEXT_TAG, { 'context-type': 'linenumber' }, [new Text$2("" + source.startLine)]), new CR(8));
+ contextTags.push(new CR(8), contextGroupTag);
+ });
var /** @type {?} */ transUnit = new Tag(_UNIT_TAG, { id: message.id, datatype: 'html' });
- transUnit.children.push(new CR(8), new Tag(_SOURCE_TAG, {}, visitor.serialize(message.nodes)), new CR(8), new Tag(_TARGET_TAG));
+ (_a = transUnit.children).push.apply(_a, [new CR(8), new Tag(_SOURCE_TAG, {}, visitor.serialize(message.nodes)), new CR(8), new Tag(_TARGET_TAG)].concat(contextTags));
if (message.description) {
transUnit.children.push(new CR(8), new Tag('note', { priority: '1', from: 'description' }, [new Text$2(message.description)]));
}
@@ -8948,6 +9016,7 @@
}
transUnit.children.push(new CR(6));
transUnits.push(new CR(6), transUnit);
+ var _a;
});
var /** @type {?} */ body = new Tag('body', {}, transUnits.concat([new CR(4)]));
var /** @type {?} */ file = new Tag('file', {
@@ -8968,19 +9037,19 @@
Xliff.prototype.load = function (content, url) {
// xliff to xml nodes
var /** @type {?} */ xliffParser = new XliffParser();
- var _a = xliffParser.parse(content, url), locale = _a.locale, mlNodesByMsgId = _a.mlNodesByMsgId, errors = _a.errors;
+ var _a = xliffParser.parse(content, url), locale = _a.locale, msgIdToHtml = _a.msgIdToHtml, errors = _a.errors;
// xml nodes to i18n nodes
var /** @type {?} */ i18nNodesByMsgId = {};
var /** @type {?} */ converter = new XmlToI18n();
- Object.keys(mlNodesByMsgId).forEach(function (msgId) {
- var _a = converter.convert(mlNodesByMsgId[msgId]), i18nNodes = _a.i18nNodes, e = _a.errors;
+ Object.keys(msgIdToHtml).forEach(function (msgId) {
+ var _a = converter.convert(msgIdToHtml[msgId], url), i18nNodes = _a.i18nNodes, e = _a.errors;
errors.push.apply(errors, e);
i18nNodesByMsgId[msgId] = i18nNodes;
});
if (errors.length) {
throw new Error("xliff parse errors:\n" + errors.join('\n'));
}
- return { locale: locale, i18nNodesByMsgId: i18nNodesByMsgId };
+ return { locale: /** @type {?} */ ((locale)), i18nNodesByMsgId: i18nNodesByMsgId };
};
/**
* @param {?} message
@@ -9015,16 +9084,12 @@
* @return {?}
*/
_WriteVisitor.prototype.visitIcu = function (icu, context) {
- if (this._isInIcu) {
- // nested ICU is not supported
- throw new Error('xliff does not support nested ICU messages');
- }
- this._isInIcu = true;
- // TODO(vicb): support ICU messages
- // https://lists.oasis-open.org/archives/xliff/201201/msg00028.html
- // http://docs.oasis-open.org/xliff/v1.2/xliff-profile-po/xliff-profile-po-1.2-cd02.html
- var /** @type {?} */ nodes = [];
- this._isInIcu = false;
+ var _this = this;
+ var /** @type {?} */ nodes = [new Text$2("{" + icu.expressionPlaceholder + ", " + icu.type + ", ")];
+ Object.keys(icu.cases).forEach(function (c) {
+ nodes.push.apply(nodes, [new Text$2(c + " {")].concat(icu.cases[c].visit(_this), [new Text$2("} ")]));
+ });
+ nodes.push(new Text$2("}"));
return nodes;
};
/**
@@ -9064,7 +9129,6 @@
*/
_WriteVisitor.prototype.serialize = function (nodes) {
var _this = this;
- this._isInIcu = false;
return [].concat.apply([], nodes.map(function (node) { return node.visit(_this); }));
};
return _WriteVisitor;
@@ -9079,13 +9143,13 @@
* @return {?}
*/
XliffParser.prototype.parse = function (xliff, url) {
- this._unitMlNodes = [];
- this._mlNodesByMsgId = {};
+ this._unitMlString = null;
+ this._msgIdToHtml = {};
var /** @type {?} */ xml = new XmlParser().parse(xliff, url, false);
this._errors = xml.errors;
visitAll(this, xml.rootNodes, null);
return {
- mlNodesByMsgId: this._mlNodesByMsgId,
+ msgIdToHtml: this._msgIdToHtml,
errors: this._errors,
locale: this._locale,
};
@@ -9098,20 +9162,20 @@
XliffParser.prototype.visitElement = function (element, context) {
switch (element.name) {
case _UNIT_TAG:
- this._unitMlNodes = null;
+ this._unitMlString = ((null));
var /** @type {?} */ idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });
if (!idAttr) {
this._addError(element, "<" + _UNIT_TAG + "> misses the \"id\" attribute");
}
else {
var /** @type {?} */ id = idAttr.value;
- if (this._mlNodesByMsgId.hasOwnProperty(id)) {
+ if (this._msgIdToHtml.hasOwnProperty(id)) {
this._addError(element, "Duplicated translations for msg " + id);
}
else {
visitAll(this, element.children, null);
- if (this._unitMlNodes) {
- this._mlNodesByMsgId[id] = this._unitMlNodes;
+ if (typeof this._unitMlString === 'string') {
+ this._msgIdToHtml[id] = this._unitMlString;
}
else {
this._addError(element, "Message " + id + " misses a translation");
@@ -9123,7 +9187,11 @@
// ignore source message
break;
case _TARGET_TAG:
- this._unitMlNodes = element.children;
+ var /** @type {?} */ innerTextStart = ((element.startSourceSpan)).end.offset;
+ var /** @type {?} */ innerTextEnd = ((element.endSourceSpan)).start.offset;
+ var /** @type {?} */ content = ((element.startSourceSpan)).start.file.content;
+ var /** @type {?} */ innerText = content.slice(innerTextStart, innerTextEnd);
+ this._unitMlString = innerText;
break;
case _FILE_TAG:
var /** @type {?} */ localeAttr = element.attrs.find(function (attr) { return attr.name === 'target-language'; });
@@ -9174,7 +9242,7 @@
* @return {?}
*/
XliffParser.prototype._addError = function (node, message) {
- this._errors.push(new I18nError(node.sourceSpan, message));
+ this._errors.push(new I18nError(/** @type {?} */ ((node.sourceSpan)), message));
};
return XliffParser;
}());
@@ -9182,13 +9250,18 @@
function XmlToI18n() {
}
/**
- * @param {?} nodes
+ * @param {?} message
+ * @param {?} url
* @return {?}
*/
- XmlToI18n.prototype.convert = function (nodes) {
- this._errors = [];
+ XmlToI18n.prototype.convert = function (message, url) {
+ var /** @type {?} */ xmlIcu = new XmlParser().parse(message, url, true);
+ this._errors = xmlIcu.errors;
+ var /** @type {?} */ i18nNodes = this._errors.length > 0 || xmlIcu.rootNodes.length == 0 ?
+ [] :
+ visitAll(this, xmlIcu.rootNodes);
return {
- i18nNodes: visitAll(this, nodes),
+ i18nNodes: i18nNodes,
errors: this._errors,
};
};
@@ -9197,7 +9270,7 @@
* @param {?} context
* @return {?}
*/
- XmlToI18n.prototype.visitText = function (text, context) { return new Text$1(text.value, text.sourceSpan); };
+ XmlToI18n.prototype.visitText = function (text, context) { return new Text$1(text.value, /** @type {?} */ ((text.sourceSpan))); };
/**
* @param {?} el
* @param {?} context
@@ -9207,26 +9280,38 @@
if (el.name === _PLACEHOLDER_TAG) {
var /** @type {?} */ nameAttr = el.attrs.find(function (attr) { return attr.name === 'id'; });
if (nameAttr) {
- return new Placeholder('', nameAttr.value, el.sourceSpan);
+ return new Placeholder('', nameAttr.value, /** @type {?} */ ((el.sourceSpan)));
}
this._addError(el, "<" + _PLACEHOLDER_TAG + "> misses the \"id\" attribute");
}
else {
this._addError(el, "Unexpected tag");
}
+ return null;
};
/**
* @param {?} icu
* @param {?} context
* @return {?}
*/
- XmlToI18n.prototype.visitExpansion = function (icu, context) { };
+ XmlToI18n.prototype.visitExpansion = function (icu, context) {
+ var /** @type {?} */ caseMap = {};
+ visitAll(this, icu.cases).forEach(function (c) {
+ caseMap[c.value] = new Container(c.nodes, icu.sourceSpan);
+ });
+ return new Icu(icu.switchValue, icu.type, caseMap, icu.sourceSpan);
+ };
/**
* @param {?} icuCase
* @param {?} context
* @return {?}
*/
- XmlToI18n.prototype.visitExpansionCase = function (icuCase, context) { };
+ XmlToI18n.prototype.visitExpansionCase = function (icuCase, context) {
+ return {
+ value: icuCase.value,
+ nodes: visitAll(this, icuCase.expression),
+ };
+ };
/**
* @param {?} comment
* @param {?} context
@@ -9245,7 +9330,7 @@
* @return {?}
*/
XmlToI18n.prototype._addError = function (node, message) {
- this._errors.push(new I18nError(node.sourceSpan, message));
+ this._errors.push(new I18nError(/** @type {?} */ ((node.sourceSpan)), message));
};
return XmlToI18n;
}());
@@ -9263,6 +9348,432 @@
return "x-" + tag;
}
}
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var _VERSION$1 = '2.0';
+ var _XMLNS$1 = 'urn:oasis:names:tc:xliff:document:2.0';
+ // TODO(vicb): make this a param (s/_/-/)
+ var _DEFAULT_SOURCE_LANG$1 = 'en';
+ var _PLACEHOLDER_TAG$1 = 'ph';
+ var _PLACEHOLDER_SPANNING_TAG = 'pc';
+ var _XLIFF_TAG = 'xliff';
+ var _SOURCE_TAG$1 = 'source';
+ var _TARGET_TAG$1 = 'target';
+ var _UNIT_TAG$1 = 'unit';
+ var Xliff2 = (function (_super) {
+ __extends(Xliff2, _super);
+ function Xliff2() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ /**
+ * @param {?} messages
+ * @param {?} locale
+ * @return {?}
+ */
+ Xliff2.prototype.write = function (messages, locale) {
+ var /** @type {?} */ visitor = new _WriteVisitor$1();
+ var /** @type {?} */ units = [];
+ messages.forEach(function (message) {
+ var /** @type {?} */ unit = new Tag(_UNIT_TAG$1, { id: message.id });
+ if (message.description || message.meaning) {
+ var /** @type {?} */ notes = new Tag('notes');
+ if (message.description) {
+ notes.children.push(new CR(8), new Tag('note', { category: 'description' }, [new Text$2(message.description)]));
+ }
+ if (message.meaning) {
+ notes.children.push(new CR(8), new Tag('note', { category: 'meaning' }, [new Text$2(message.meaning)]));
+ }
+ notes.children.push(new CR(6));
+ unit.children.push(new CR(6), notes);
+ }
+ var /** @type {?} */ segment = new Tag('segment');
+ segment.children.push(new CR(8), new Tag(_SOURCE_TAG$1, {}, visitor.serialize(message.nodes)), new CR(6));
+ unit.children.push(new CR(6), segment, new CR(4));
+ units.push(new CR(4), unit);
+ });
+ var /** @type {?} */ file = new Tag('file', { 'original': 'ng.template', id: 'ngi18n' }, units.concat([new CR(2)]));
+ var /** @type {?} */ xliff = new Tag(_XLIFF_TAG, { version: _VERSION$1, xmlns: _XMLNS$1, srcLang: locale || _DEFAULT_SOURCE_LANG$1 }, [new CR(2), file, new CR()]);
+ return serialize([
+ new Declaration({ version: '1.0', encoding: 'UTF-8' }), new CR(), xliff, new CR()
+ ]);
+ };
+ /**
+ * @param {?} content
+ * @param {?} url
+ * @return {?}
+ */
+ Xliff2.prototype.load = function (content, url) {
+ // xliff to xml nodes
+ var /** @type {?} */ xliff2Parser = new Xliff2Parser();
+ var _a = xliff2Parser.parse(content, url), locale = _a.locale, msgIdToHtml = _a.msgIdToHtml, errors = _a.errors;
+ // xml nodes to i18n nodes
+ var /** @type {?} */ i18nNodesByMsgId = {};
+ var /** @type {?} */ converter = new XmlToI18n$1();
+ Object.keys(msgIdToHtml).forEach(function (msgId) {
+ var _a = converter.convert(msgIdToHtml[msgId], url), i18nNodes = _a.i18nNodes, e = _a.errors;
+ errors.push.apply(errors, e);
+ i18nNodesByMsgId[msgId] = i18nNodes;
+ });
+ if (errors.length) {
+ throw new Error("xliff2 parse errors:\n" + errors.join('\n'));
+ }
+ return { locale: /** @type {?} */ ((locale)), i18nNodesByMsgId: i18nNodesByMsgId };
+ };
+ /**
+ * @param {?} message
+ * @return {?}
+ */
+ Xliff2.prototype.digest = function (message) { return decimalDigest(message); };
+ return Xliff2;
+ }(Serializer));
+ var _WriteVisitor$1 = (function () {
+ function _WriteVisitor$1() {
+ }
+ /**
+ * @param {?} text
+ * @param {?=} context
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.visitText = function (text, context) { return [new Text$2(text.value)]; };
+ /**
+ * @param {?} container
+ * @param {?=} context
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.visitContainer = function (container, context) {
+ var _this = this;
+ var /** @type {?} */ nodes = [];
+ container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this)); });
+ return nodes;
+ };
+ /**
+ * @param {?} icu
+ * @param {?=} context
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.visitIcu = function (icu, context) {
+ var _this = this;
+ var /** @type {?} */ nodes = [new Text$2("{" + icu.expressionPlaceholder + ", " + icu.type + ", ")];
+ Object.keys(icu.cases).forEach(function (c) {
+ nodes.push.apply(nodes, [new Text$2(c + " {")].concat(icu.cases[c].visit(_this), [new Text$2("} ")]));
+ });
+ nodes.push(new Text$2("}"));
+ return nodes;
+ };
+ /**
+ * @param {?} ph
+ * @param {?=} context
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.visitTagPlaceholder = function (ph, context) {
+ var _this = this;
+ var /** @type {?} */ type = getTypeForTag(ph.tag);
+ if (ph.isVoid) {
+ var /** @type {?} */ tagPh = new Tag(_PLACEHOLDER_TAG$1, {
+ id: (this._nextPlaceholderId++).toString(),
+ equiv: ph.startName,
+ type: type,
+ disp: "<" + ph.tag + "/>",
+ });
+ return [tagPh];
+ }
+ var /** @type {?} */ tagPc = new Tag(_PLACEHOLDER_SPANNING_TAG, {
+ id: (this._nextPlaceholderId++).toString(),
+ equivStart: ph.startName,
+ equivEnd: ph.closeName,
+ type: type,
+ dispStart: "<" + ph.tag + ">",
+ dispEnd: "" + ph.tag + ">",
+ });
+ var /** @type {?} */ nodes = [].concat.apply([], ph.children.map(function (node) { return node.visit(_this); }));
+ if (nodes.length) {
+ nodes.forEach(function (node) { return tagPc.children.push(node); });
+ }
+ else {
+ tagPc.children.push(new Text$2(''));
+ }
+ return [tagPc];
+ };
+ /**
+ * @param {?} ph
+ * @param {?=} context
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.visitPlaceholder = function (ph, context) {
+ return [new Tag(_PLACEHOLDER_TAG$1, {
+ id: (this._nextPlaceholderId++).toString(),
+ equiv: ph.name,
+ disp: "{{" + ph.value + "}}",
+ })];
+ };
+ /**
+ * @param {?} ph
+ * @param {?=} context
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.visitIcuPlaceholder = function (ph, context) {
+ return [new Tag(_PLACEHOLDER_TAG$1, { id: (this._nextPlaceholderId++).toString() })];
+ };
+ /**
+ * @param {?} nodes
+ * @return {?}
+ */
+ _WriteVisitor$1.prototype.serialize = function (nodes) {
+ var _this = this;
+ this._nextPlaceholderId = 0;
+ return [].concat.apply([], nodes.map(function (node) { return node.visit(_this); }));
+ };
+ return _WriteVisitor$1;
+ }());
+ var Xliff2Parser = (function () {
+ function Xliff2Parser() {
+ this._locale = null;
+ }
+ /**
+ * @param {?} xliff
+ * @param {?} url
+ * @return {?}
+ */
+ Xliff2Parser.prototype.parse = function (xliff, url) {
+ this._unitMlString = null;
+ this._msgIdToHtml = {};
+ var /** @type {?} */ xml = new XmlParser().parse(xliff, url, false);
+ this._errors = xml.errors;
+ visitAll(this, xml.rootNodes, null);
+ return {
+ msgIdToHtml: this._msgIdToHtml,
+ errors: this._errors,
+ locale: this._locale,
+ };
+ };
+ /**
+ * @param {?} element
+ * @param {?} context
+ * @return {?}
+ */
+ Xliff2Parser.prototype.visitElement = function (element, context) {
+ switch (element.name) {
+ case _UNIT_TAG$1:
+ this._unitMlString = null;
+ var /** @type {?} */ idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });
+ if (!idAttr) {
+ this._addError(element, "<" + _UNIT_TAG$1 + "> misses the \"id\" attribute");
+ }
+ else {
+ var /** @type {?} */ id = idAttr.value;
+ if (this._msgIdToHtml.hasOwnProperty(id)) {
+ this._addError(element, "Duplicated translations for msg " + id);
+ }
+ else {
+ visitAll(this, element.children, null);
+ if (typeof this._unitMlString === 'string') {
+ this._msgIdToHtml[id] = this._unitMlString;
+ }
+ else {
+ this._addError(element, "Message " + id + " misses a translation");
+ }
+ }
+ }
+ break;
+ case _SOURCE_TAG$1:
+ // ignore source message
+ break;
+ case _TARGET_TAG$1:
+ var /** @type {?} */ innerTextStart = ((element.startSourceSpan)).end.offset;
+ var /** @type {?} */ innerTextEnd = ((element.endSourceSpan)).start.offset;
+ var /** @type {?} */ content = ((element.startSourceSpan)).start.file.content;
+ var /** @type {?} */ innerText = content.slice(innerTextStart, innerTextEnd);
+ this._unitMlString = innerText;
+ break;
+ case _XLIFF_TAG:
+ var /** @type {?} */ localeAttr = element.attrs.find(function (attr) { return attr.name === 'trgLang'; });
+ if (localeAttr) {
+ this._locale = localeAttr.value;
+ }
+ var /** @type {?} */ versionAttr = element.attrs.find(function (attr) { return attr.name === 'version'; });
+ if (versionAttr) {
+ var /** @type {?} */ version = versionAttr.value;
+ if (version !== '2.0') {
+ this._addError(element, "The XLIFF file version " + version + " is not compatible with XLIFF 2.0 serializer");
+ }
+ else {
+ visitAll(this, element.children, null);
+ }
+ }
+ break;
+ default:
+ visitAll(this, element.children, null);
+ }
+ };
+ /**
+ * @param {?} attribute
+ * @param {?} context
+ * @return {?}
+ */
+ Xliff2Parser.prototype.visitAttribute = function (attribute, context) { };
+ /**
+ * @param {?} text
+ * @param {?} context
+ * @return {?}
+ */
+ Xliff2Parser.prototype.visitText = function (text, context) { };
+ /**
+ * @param {?} comment
+ * @param {?} context
+ * @return {?}
+ */
+ Xliff2Parser.prototype.visitComment = function (comment, context) { };
+ /**
+ * @param {?} expansion
+ * @param {?} context
+ * @return {?}
+ */
+ Xliff2Parser.prototype.visitExpansion = function (expansion, context) { };
+ /**
+ * @param {?} expansionCase
+ * @param {?} context
+ * @return {?}
+ */
+ Xliff2Parser.prototype.visitExpansionCase = function (expansionCase, context) { };
+ /**
+ * @param {?} node
+ * @param {?} message
+ * @return {?}
+ */
+ Xliff2Parser.prototype._addError = function (node, message) {
+ this._errors.push(new I18nError(node.sourceSpan, message));
+ };
+ return Xliff2Parser;
+ }());
+ var XmlToI18n$1 = (function () {
+ function XmlToI18n$1() {
+ }
+ /**
+ * @param {?} message
+ * @param {?} url
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.convert = function (message, url) {
+ var /** @type {?} */ xmlIcu = new XmlParser().parse(message, url, true);
+ this._errors = xmlIcu.errors;
+ var /** @type {?} */ i18nNodes = this._errors.length > 0 || xmlIcu.rootNodes.length == 0 ?
+ [] : [].concat.apply([], visitAll(this, xmlIcu.rootNodes));
+ return {
+ i18nNodes: i18nNodes,
+ errors: this._errors,
+ };
+ };
+ /**
+ * @param {?} text
+ * @param {?} context
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.visitText = function (text, context) { return new Text$1(text.value, text.sourceSpan); };
+ /**
+ * @param {?} el
+ * @param {?} context
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.visitElement = function (el, context) {
+ var _this = this;
+ switch (el.name) {
+ case _PLACEHOLDER_TAG$1:
+ var /** @type {?} */ nameAttr = el.attrs.find(function (attr) { return attr.name === 'equiv'; });
+ if (nameAttr) {
+ return [new Placeholder('', nameAttr.value, el.sourceSpan)];
+ }
+ this._addError(el, "<" + _PLACEHOLDER_TAG$1 + "> misses the \"equiv\" attribute");
+ break;
+ case _PLACEHOLDER_SPANNING_TAG:
+ var /** @type {?} */ startAttr = el.attrs.find(function (attr) { return attr.name === 'equivStart'; });
+ var /** @type {?} */ endAttr = el.attrs.find(function (attr) { return attr.name === 'equivEnd'; });
+ if (!startAttr) {
+ this._addError(el, "<" + _PLACEHOLDER_TAG$1 + "> misses the \"equivStart\" attribute");
+ }
+ else if (!endAttr) {
+ this._addError(el, "<" + _PLACEHOLDER_TAG$1 + "> misses the \"equivEnd\" attribute");
+ }
+ else {
+ var /** @type {?} */ startId = startAttr.value;
+ var /** @type {?} */ endId = endAttr.value;
+ var /** @type {?} */ nodes = [];
+ return nodes.concat.apply(nodes, [new Placeholder('', startId, el.sourceSpan)].concat(el.children.map(function (node) { return node.visit(_this, null); }), [new Placeholder('', endId, el.sourceSpan)]));
+ }
+ break;
+ default:
+ this._addError(el, "Unexpected tag");
+ }
+ return null;
+ };
+ /**
+ * @param {?} icu
+ * @param {?} context
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.visitExpansion = function (icu, context) {
+ var /** @type {?} */ caseMap = {};
+ visitAll(this, icu.cases).forEach(function (c) {
+ caseMap[c.value] = new Container(c.nodes, icu.sourceSpan);
+ });
+ return new Icu(icu.switchValue, icu.type, caseMap, icu.sourceSpan);
+ };
+ /**
+ * @param {?} icuCase
+ * @param {?} context
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.visitExpansionCase = function (icuCase, context) {
+ return {
+ value: icuCase.value,
+ nodes: [].concat.apply([], visitAll(this, icuCase.expression)),
+ };
+ };
+ /**
+ * @param {?} comment
+ * @param {?} context
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.visitComment = function (comment, context) { };
+ /**
+ * @param {?} attribute
+ * @param {?} context
+ * @return {?}
+ */
+ XmlToI18n$1.prototype.visitAttribute = function (attribute, context) { };
+ /**
+ * @param {?} node
+ * @param {?} message
+ * @return {?}
+ */
+ XmlToI18n$1.prototype._addError = function (node, message) {
+ this._errors.push(new I18nError(node.sourceSpan, message));
+ };
+ return XmlToI18n$1;
+ }());
+ /**
+ * @param {?} tag
+ * @return {?}
+ */
+ function getTypeForTag(tag) {
+ switch (tag.toLowerCase()) {
+ case 'br':
+ case 'b':
+ case 'i':
+ case 'u':
+ return 'fmt';
+ case 'img':
+ return 'image';
+ case 'a':
+ return 'link';
+ default:
+ return 'other';
+ }
+ }
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -9272,8 +9783,9 @@
*/
var _MESSAGES_TAG = 'messagebundle';
var _MESSAGE_TAG = 'msg';
- var _PLACEHOLDER_TAG$1 = 'ph';
+ var _PLACEHOLDER_TAG$2 = 'ph';
var _EXEMPLE_TAG = 'ex';
+ var _SOURCE_TAG$2 = 'source';
var _DOCTYPE = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
var Xmb = (function (_super) {
__extends(Xmb, _super);
@@ -9297,7 +9809,13 @@
if (message.meaning) {
attrs['meaning'] = message.meaning;
}
- rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, visitor.serialize(message.nodes)));
+ var /** @type {?} */ sourceTags = [];
+ message.sources.forEach(function (source) {
+ sourceTags.push(new Tag(_SOURCE_TAG$2, {}, [
+ new Text$2(source.filePath + ":" + source.startLine + (source.endLine !== source.startLine ? ',' + source.endLine : ''))
+ ]));
+ });
+ rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, sourceTags.concat(visitor.serialize(message.nodes))));
});
rootNode.children.push(new CR());
return serialize([
@@ -9372,13 +9890,13 @@
*/
_Visitor$2.prototype.visitTagPlaceholder = function (ph, context) {
var /** @type {?} */ startEx = new Tag(_EXEMPLE_TAG, {}, [new Text$2("<" + ph.tag + ">")]);
- var /** @type {?} */ startTagPh = new Tag(_PLACEHOLDER_TAG$1, { name: ph.startName }, [startEx]);
+ var /** @type {?} */ startTagPh = new Tag(_PLACEHOLDER_TAG$2, { name: ph.startName }, [startEx]);
if (ph.isVoid) {
// void tags have no children nor closing tags
return [startTagPh];
}
var /** @type {?} */ closeEx = new Tag(_EXEMPLE_TAG, {}, [new Text$2("" + ph.tag + ">")]);
- var /** @type {?} */ closeTagPh = new Tag(_PLACEHOLDER_TAG$1, { name: ph.closeName }, [closeEx]);
+ var /** @type {?} */ closeTagPh = new Tag(_PLACEHOLDER_TAG$2, { name: ph.closeName }, [closeEx]);
return [startTagPh].concat(this.serialize(ph.children), [closeTagPh]);
};
/**
@@ -9387,7 +9905,7 @@
* @return {?}
*/
_Visitor$2.prototype.visitPlaceholder = function (ph, context) {
- return [new Tag(_PLACEHOLDER_TAG$1, { name: ph.name })];
+ return [new Tag(_PLACEHOLDER_TAG$2, { name: ph.name })];
};
/**
* @param {?} ph
@@ -9395,7 +9913,7 @@
* @return {?}
*/
_Visitor$2.prototype.visitIcuPlaceholder = function (ph, context) {
- return [new Tag(_PLACEHOLDER_TAG$1, { name: ph.name })];
+ return [new Tag(_PLACEHOLDER_TAG$2, { name: ph.name })];
};
/**
* @param {?} nodes
@@ -9431,7 +9949,7 @@
*/
ExampleVisitor.prototype.visitTag = function (tag) {
var _this = this;
- if (tag.name === _PLACEHOLDER_TAG$1) {
+ if (tag.name === _PLACEHOLDER_TAG$2) {
if (!tag.children || tag.children.length == 0) {
var /** @type {?} */ exText = new Text$2(tag.attrs['name'] || '...');
tag.children = [new Tag(_EXEMPLE_TAG, {}, [exText])];
@@ -9474,7 +9992,7 @@
*/
var _TRANSLATIONS_TAG = 'translationbundle';
var _TRANSLATION_TAG = 'translation';
- var _PLACEHOLDER_TAG$2 = 'ph';
+ var _PLACEHOLDER_TAG$3 = 'ph';
var Xtb = (function (_super) {
__extends(Xtb, _super);
function Xtb() {
@@ -9497,7 +10015,7 @@
var _a = xtbParser.parse(content, url), locale = _a.locale, msgIdToHtml = _a.msgIdToHtml, errors = _a.errors;
// xml nodes to i18n nodes
var /** @type {?} */ i18nNodesByMsgId = {};
- var /** @type {?} */ converter = new XmlToI18n$1();
+ var /** @type {?} */ converter = new XmlToI18n$2();
// Because we should be able to load xtb files that rely on features not supported by angular,
// we need to delay the conversion of html to i18n nodes so that non angular messages are not
// converted
@@ -9514,7 +10032,7 @@
if (errors.length) {
throw new Error("xtb parse errors:\n" + errors.join('\n'));
}
- return { locale: locale, i18nNodesByMsgId: i18nNodesByMsgId };
+ return { locale: /** @type {?} */ ((locale)), i18nNodesByMsgId: i18nNodesByMsgId };
};
/**
* @param {?} message
@@ -9601,10 +10119,10 @@
this._addError(element, "Duplicated translations for msg " + id);
}
else {
- var /** @type {?} */ innerTextStart = element.startSourceSpan.end.offset;
- var /** @type {?} */ innerTextEnd = element.endSourceSpan.start.offset;
- var /** @type {?} */ content = element.startSourceSpan.start.file.content;
- var /** @type {?} */ innerText = content.slice(innerTextStart, innerTextEnd);
+ var /** @type {?} */ innerTextStart = ((element.startSourceSpan)).end.offset;
+ var /** @type {?} */ innerTextEnd = ((element.endSourceSpan)).start.offset;
+ var /** @type {?} */ content = ((element.startSourceSpan)).start.file.content;
+ var /** @type {?} */ innerText = content.slice(/** @type {?} */ ((innerTextStart)), /** @type {?} */ ((innerTextEnd)));
this._msgIdToHtml[id] = innerText;
}
}
@@ -9649,19 +10167,19 @@
* @return {?}
*/
XtbParser.prototype._addError = function (node, message) {
- this._errors.push(new I18nError(node.sourceSpan, message));
+ this._errors.push(new I18nError(/** @type {?} */ ((node.sourceSpan)), message));
};
return XtbParser;
}());
- var XmlToI18n$1 = (function () {
- function XmlToI18n$1() {
+ var XmlToI18n$2 = (function () {
+ function XmlToI18n$2() {
}
/**
* @param {?} message
* @param {?} url
* @return {?}
*/
- XmlToI18n$1.prototype.convert = function (message, url) {
+ XmlToI18n$2.prototype.convert = function (message, url) {
var /** @type {?} */ xmlIcu = new XmlParser().parse(message, url, true);
this._errors = xmlIcu.errors;
var /** @type {?} */ i18nNodes = this._errors.length > 0 || xmlIcu.rootNodes.length == 0 ?
@@ -9677,13 +10195,13 @@
* @param {?} context
* @return {?}
*/
- XmlToI18n$1.prototype.visitText = function (text, context) { return new Text$1(text.value, text.sourceSpan); };
+ XmlToI18n$2.prototype.visitText = function (text, context) { return new Text$1(text.value, /** @type {?} */ ((text.sourceSpan))); };
/**
* @param {?} icu
* @param {?} context
* @return {?}
*/
- XmlToI18n$1.prototype.visitExpansion = function (icu, context) {
+ XmlToI18n$2.prototype.visitExpansion = function (icu, context) {
var /** @type {?} */ caseMap = {};
visitAll(this, icu.cases).forEach(function (c) {
caseMap[c.value] = new Container(c.nodes, icu.sourceSpan);
@@ -9695,7 +10213,7 @@
* @param {?} context
* @return {?}
*/
- XmlToI18n$1.prototype.visitExpansionCase = function (icuCase, context) {
+ XmlToI18n$2.prototype.visitExpansionCase = function (icuCase, context) {
return {
value: icuCase.value,
nodes: visitAll(this, icuCase.expression),
@@ -9706,39 +10224,40 @@
* @param {?} context
* @return {?}
*/
- XmlToI18n$1.prototype.visitElement = function (el, context) {
- if (el.name === _PLACEHOLDER_TAG$2) {
+ XmlToI18n$2.prototype.visitElement = function (el, context) {
+ if (el.name === _PLACEHOLDER_TAG$3) {
var /** @type {?} */ nameAttr = el.attrs.find(function (attr) { return attr.name === 'name'; });
if (nameAttr) {
- return new Placeholder('', nameAttr.value, el.sourceSpan);
+ return new Placeholder('', nameAttr.value, /** @type {?} */ ((el.sourceSpan)));
}
- this._addError(el, "<" + _PLACEHOLDER_TAG$2 + "> misses the \"name\" attribute");
+ this._addError(el, "<" + _PLACEHOLDER_TAG$3 + "> misses the \"name\" attribute");
}
else {
this._addError(el, "Unexpected tag");
}
+ return null;
};
/**
* @param {?} comment
* @param {?} context
* @return {?}
*/
- XmlToI18n$1.prototype.visitComment = function (comment, context) { };
+ XmlToI18n$2.prototype.visitComment = function (comment, context) { };
/**
* @param {?} attribute
* @param {?} context
* @return {?}
*/
- XmlToI18n$1.prototype.visitAttribute = function (attribute, context) { };
+ XmlToI18n$2.prototype.visitAttribute = function (attribute, context) { };
/**
* @param {?} node
* @param {?} message
* @return {?}
*/
- XmlToI18n$1.prototype._addError = function (node, message) {
- this._errors.push(new I18nError(node.sourceSpan, message));
+ XmlToI18n$2.prototype._addError = function (node, message) {
+ this._errors.push(new I18nError(/** @type {?} */ ((node.sourceSpan)), message));
};
- return XmlToI18n$1;
+ return XmlToI18n$2;
}());
/**
* @license
@@ -9811,7 +10330,7 @@
TranslationBundle.load = function (content, url, serializer, missingTranslationStrategy, console) {
var _a = serializer.load(content, url), locale = _a.locale, i18nNodesByMsgId = _a.i18nNodesByMsgId;
var /** @type {?} */ digestFn = function (m) { return serializer.digest(m); };
- var /** @type {?} */ mapperFactory = function (m) { return serializer.createNameMapper(m); };
+ var /** @type {?} */ mapperFactory = function (m) { return ((serializer.createNameMapper(m))); };
return new TranslationBundle(i18nNodesByMsgId, locale, digestFn, mapperFactory, missingTranslationStrategy, console);
};
/**
@@ -9958,7 +10477,7 @@
// When there is a translation use its nodes as the source
// And create a mapper to convert serialized placeholder names to internal names
nodes = this._i18nNodesByMsgId[id];
- this._mapper = function (name) { return mapper ? mapper.toInternalName(name) : name; };
+ this._mapper = function (name) { return mapper ? ((mapper.toInternalName(name))) : name; };
}
else {
// When no translation has been found
@@ -9978,7 +10497,7 @@
this._mapper = function (name) { return name; };
}
var /** @type {?} */ text = nodes.map(function (node) { return node.visit(_this); }).join('');
- var /** @type {?} */ context = this._contextStack.pop();
+ var /** @type {?} */ context = ((this._contextStack.pop()));
this._srcMsg = context.msg;
this._mapper = context.mapper;
return text;
@@ -10050,6 +10569,9 @@
return new Xmb();
case 'xtb':
return new Xtb();
+ case 'xliff2':
+ case 'xlf2':
+ return new Xliff2();
case 'xliff':
case 'xlf':
default:
@@ -10565,27 +11087,27 @@
this._seenProviders.set(tokenReference(token), true);
var /** @type {?} */ transformedProviders = resolvedProvider.providers.map(function (provider) {
var /** @type {?} */ transformedUseValue = provider.useValue;
- var /** @type {?} */ transformedUseExisting = provider.useExisting;
- var /** @type {?} */ transformedDeps;
+ var /** @type {?} */ transformedUseExisting = ((provider.useExisting));
+ var /** @type {?} */ transformedDeps = ((undefined));
if (provider.useExisting != null) {
- var /** @type {?} */ existingDiDep = _this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);
+ var /** @type {?} */ existingDiDep = ((_this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager)));
if (existingDiDep.token != null) {
transformedUseExisting = existingDiDep.token;
}
else {
- transformedUseExisting = null;
+ transformedUseExisting = ((null));
transformedUseValue = existingDiDep.value;
}
}
else if (provider.useFactory) {
var /** @type {?} */ deps = provider.deps || provider.useFactory.diDeps;
transformedDeps =
- deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });
+ deps.map(function (dep) { return ((_this._getDependency(resolvedProvider.providerType, dep, eager))); });
}
else if (provider.useClass) {
var /** @type {?} */ deps = provider.deps || provider.useClass.diDeps;
transformedDeps =
- deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });
+ deps.map(function (dep) { return ((_this._getDependency(resolvedProvider.providerType, dep, eager))); });
}
return _transformProvider(provider, {
useExisting: transformedUseExisting,
@@ -10605,9 +11127,9 @@
* @return {?}
*/
ProviderElementContext.prototype._getLocalDependency = function (requestingProviderType, dep, eager) {
- if (eager === void 0) { eager = null; }
+ if (eager === void 0) { eager = false; }
if (dep.isAttribute) {
- var /** @type {?} */ attrValue = this._attrs[dep.token.value];
+ var /** @type {?} */ attrValue = this._attrs[((dep.token)).value];
return { isValue: true, value: attrValue == null ? null : attrValue };
}
if (dep.token != null) {
@@ -10642,7 +11164,7 @@
* @return {?}
*/
ProviderElementContext.prototype._getDependency = function (requestingProviderType, dep, eager) {
- if (eager === void 0) { eager = null; }
+ if (eager === void 0) { eager = false; }
var /** @type {?} */ currElement = this;
var /** @type {?} */ currEager = eager;
var /** @type {?} */ result = null;
@@ -10667,8 +11189,8 @@
// check @Host restriction
if (!result) {
if (!dep.isHost || this.viewContext.component.isHost ||
- this.viewContext.component.type.reference === tokenReference(dep.token) ||
- this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {
+ this.viewContext.component.type.reference === tokenReference(/** @type {?} */ ((dep.token))) ||
+ this.viewContext.viewProviders.get(tokenReference(/** @type {?} */ ((dep.token)))) != null) {
result = dep;
}
else {
@@ -10677,7 +11199,7 @@
}
}
if (!result) {
- this.viewContext.errors.push(new ProviderError("No provider for " + tokenName(dep.token), this._sourceSpan));
+ this.viewContext.errors.push(new ProviderError("No provider for " + tokenName(/** @type {?} */ ((dep.token))), this._sourceSpan));
}
return result;
};
@@ -10737,15 +11259,15 @@
this._seenProviders.set(tokenReference(token), true);
var /** @type {?} */ transformedProviders = resolvedProvider.providers.map(function (provider) {
var /** @type {?} */ transformedUseValue = provider.useValue;
- var /** @type {?} */ transformedUseExisting = provider.useExisting;
- var /** @type {?} */ transformedDeps;
+ var /** @type {?} */ transformedUseExisting = ((provider.useExisting));
+ var /** @type {?} */ transformedDeps = ((undefined));
if (provider.useExisting != null) {
var /** @type {?} */ existingDiDep = _this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);
if (existingDiDep.token != null) {
transformedUseExisting = existingDiDep.token;
}
else {
- transformedUseExisting = null;
+ transformedUseExisting = ((null));
transformedUseValue = existingDiDep.value;
}
}
@@ -10777,7 +11299,7 @@
* @return {?}
*/
NgModuleProviderAnalyzer.prototype._getDependency = function (dep, eager, requestorSourceSpan) {
- if (eager === void 0) { eager = null; }
+ if (eager === void 0) { eager = false; }
var /** @type {?} */ foundLocal = false;
if (!dep.isSkipSelf && dep.token != null) {
// access the injector
@@ -10795,7 +11317,7 @@
result = { isValue: true, value: null };
}
else {
- this._errors.push(new ProviderError("No provider for " + tokenName(dep.token), requestorSourceSpan));
+ this._errors.push(new ProviderError("No provider for " + tokenName(/** @type {?} */ ((dep.token))), requestorSourceSpan));
}
}
return result;
@@ -10869,7 +11391,7 @@
((provider.token.identifier)).lifecycleHooks :
[];
var /** @type {?} */ isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);
- resolvedProvider = new ProviderAst(provider.token, provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan);
+ resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan);
targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);
}
else {
@@ -11158,6 +11680,7 @@
});
return boundProps_1.map(function (prop) { return _this.createElementPropertyAst(elementSelector, prop); });
}
+ return null;
};
/**
* @param {?} dirMeta
@@ -11179,6 +11702,7 @@
});
return targetEventAsts_1;
}
+ return null;
};
/**
* @param {?} value
@@ -11188,7 +11712,7 @@
BindingParser.prototype.parseInterpolation = function (value, sourceSpan) {
var /** @type {?} */ sourceInfo = sourceSpan.start.toString();
try {
- var /** @type {?} */ ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);
+ var /** @type {?} */ ast = ((this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig)));
if (ast)
this._reportExpressionParserErrors(ast.errors, sourceSpan);
this._checkPipes(ast, sourceSpan);
@@ -11321,7 +11845,7 @@
* @return {?}
*/
BindingParser.prototype._parsePropertyAst = function (name, ast, sourceSpan, targetMatchableAttrs, targetProps) {
- targetMatchableAttrs.push([name, ast.source]);
+ targetMatchableAttrs.push([name, /** @type {?} */ ((ast.source))]);
targetProps.push(new BoundProperty(name, ast, BoundPropertyType.DEFAULT, sourceSpan));
};
/**
@@ -11337,7 +11861,7 @@
// For animations it is valid to not have an expression since */void
// states will be applied by angular when the element is attached/detached
var /** @type {?} */ ast = this._parseBinding(expression || 'null', false, sourceSpan);
- targetMatchableAttrs.push([name, ast.source]);
+ targetMatchableAttrs.push([name, /** @type {?} */ ((ast.source))]);
targetProps.push(new BoundProperty(name, ast, BoundPropertyType.ANIMATION, sourceSpan));
};
/**
@@ -11372,10 +11896,10 @@
return new BoundElementPropertyAst(boundProp.name, PropertyBindingType.Animation, _angular_core.SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan);
}
var /** @type {?} */ unit = null;
- var /** @type {?} */ bindingType;
+ var /** @type {?} */ bindingType = ((undefined));
var /** @type {?} */ boundPropertyName = null;
var /** @type {?} */ parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);
- var /** @type {?} */ securityContexts;
+ var /** @type {?} */ securityContexts = ((undefined));
// Check check for special cases (prefix style, attr, class)
if (parts.length > 1) {
if (parts[0] == ATTRIBUTE_PREFIX) {
@@ -11465,9 +11989,9 @@
*/
BindingParser.prototype._parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
// long format: 'target: eventName'
- var _a = splitAtColon(name, [null, name]), target = _a[0], eventName = _a[1];
+ var _a = splitAtColon(name, [/** @type {?} */ ((null)), name]), target = _a[0], eventName = _a[1];
var /** @type {?} */ ast = this._parseAction(expression, sourceSpan);
- targetMatchableAttrs.push([name, ast.source]);
+ targetMatchableAttrs.push([/** @type {?} */ ((name)), /** @type {?} */ ((ast.source))]);
targetEvents.push(new BoundEventAst(eventName, target, null, ast, sourceSpan));
// Don't detect directives for event names for now,
// so don't add the event name to the matchableAttrs
@@ -11548,7 +12072,7 @@
var /** @type {?} */ report = isAttr ? this._schemaRegistry.validateAttribute(propName) :
this._schemaRegistry.validateProperty(propName);
if (report.error) {
- this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);
+ this._reportError(/** @type {?} */ ((report.msg)), sourceSpan, ParseErrorLevel.ERROR);
}
};
return BindingParser;
@@ -11606,7 +12130,6 @@
* found in the LICENSE file at https://angular.io/license
*/
var NG_CONTENT_SELECT_ATTR = 'select';
- var NG_CONTENT_ELEMENT = 'ng-content';
var LINK_ELEMENT = 'link';
var LINK_STYLE_REL_ATTR = 'rel';
var LINK_STYLE_HREF_ATTR = 'href';
@@ -11620,11 +12143,11 @@
* @return {?}
*/
function preparseElement(ast) {
- var /** @type {?} */ selectAttr = null;
- var /** @type {?} */ hrefAttr = null;
- var /** @type {?} */ relAttr = null;
+ var /** @type {?} */ selectAttr = ((null));
+ var /** @type {?} */ hrefAttr = ((null));
+ var /** @type {?} */ relAttr = ((null));
var /** @type {?} */ nonBindable = false;
- var /** @type {?} */ projectAs = null;
+ var /** @type {?} */ projectAs = ((null));
ast.attrs.forEach(function (attr) {
var /** @type {?} */ lcAttrName = attr.name.toLowerCase();
if (lcAttrName == NG_CONTENT_SELECT_ATTR) {
@@ -11648,7 +12171,7 @@
selectAttr = normalizeNgContentSelect(selectAttr);
var /** @type {?} */ nodeName = ast.name.toLowerCase();
var /** @type {?} */ type = PreparsedElementType.OTHER;
- if (splitNsName(nodeName)[1] == NG_CONTENT_ELEMENT) {
+ if (isNgContent(nodeName)) {
type = PreparsedElementType.NG_CONTENT;
}
else if (nodeName == STYLE_ELEMENT) {
@@ -11728,7 +12251,6 @@
var IDENT_PROPERTY_IDX = 9;
// Group 10 = identifier inside ()
var IDENT_EVENT_IDX = 10;
- var NG_TEMPLATE_ELEMENT = 'ng-template';
// deprecated in 4.x
var TEMPLATE_ELEMENT = 'template';
// deprecated in 4.x
@@ -11813,10 +12335,9 @@
*/
TemplateParser.prototype.parse = function (component, template, directives, pipes, schemas, templateUrl) {
var /** @type {?} */ result = this.tryParse(component, template, directives, pipes, schemas, templateUrl);
- var /** @type {?} */ warnings = result.errors.filter(function (error) { return error.level === ParseErrorLevel.WARNING; }).filter(warnOnlyOnce([
- TEMPLATE_ATTR_DEPRECATION_WARNING, TEMPLATE_ELEMENT_DEPRECATION_WARNING
- ]));
- var /** @type {?} */ errors = result.errors.filter(function (error) { return error.level === ParseErrorLevel.ERROR; });
+ var /** @type {?} */ warnings = ((result.errors)).filter(function (error) { return error.level === ParseErrorLevel.WARNING; })
+ .filter(warnOnlyOnce([TEMPLATE_ATTR_DEPRECATION_WARNING, TEMPLATE_ELEMENT_DEPRECATION_WARNING]));
+ var /** @type {?} */ errors = ((result.errors)).filter(function (error) { return error.level === ParseErrorLevel.ERROR; });
if (warnings.length > 0) {
this._console.warn("Template parse warnings:\n" + warnings.join('\n'));
}
@@ -11824,7 +12345,7 @@
var /** @type {?} */ errorString = errors.join('\n');
throw syntaxError("Template parse errors:\n" + errorString);
}
- return { template: result.templateAst, pipes: result.usedPipes };
+ return { template: /** @type {?} */ ((result.templateAst)), pipes: /** @type {?} */ ((result.usedPipes)) };
};
/**
* @param {?} component
@@ -11836,19 +12357,17 @@
* @return {?}
*/
TemplateParser.prototype.tryParse = function (component, template, directives, pipes, schemas, templateUrl) {
- return this.tryParseHtml(this.expandHtml(this._htmlParser.parse(template, templateUrl, true, this.getInterpolationConfig(component))), component, template, directives, pipes, schemas, templateUrl);
+ return this.tryParseHtml(this.expandHtml(/** @type {?} */ ((this._htmlParser)).parse(template, templateUrl, true, this.getInterpolationConfig(component))), component, directives, pipes, schemas);
};
/**
* @param {?} htmlAstWithErrors
* @param {?} component
- * @param {?} template
* @param {?} directives
* @param {?} pipes
* @param {?} schemas
- * @param {?} templateUrl
* @return {?}
*/
- TemplateParser.prototype.tryParseHtml = function (htmlAstWithErrors, component, template, directives, pipes, schemas, templateUrl) {
+ TemplateParser.prototype.tryParseHtml = function (htmlAstWithErrors, component, directives, pipes, schemas) {
var /** @type {?} */ result;
var /** @type {?} */ errors = htmlAstWithErrors.errors;
var /** @type {?} */ usedPipes = [];
@@ -11856,14 +12375,14 @@
var /** @type {?} */ uniqDirectives = removeSummaryDuplicates(directives);
var /** @type {?} */ uniqPipes = removeSummaryDuplicates(pipes);
var /** @type {?} */ providerViewContext = new ProviderViewContext(component);
- var /** @type {?} */ interpolationConfig = void 0;
+ var /** @type {?} */ interpolationConfig = ((undefined));
if (component.template && component.template.interpolation) {
interpolationConfig = {
start: component.template.interpolation[0],
end: component.template.interpolation[1]
};
}
- var /** @type {?} */ bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);
+ var /** @type {?} */ bindingParser = new BindingParser(this._exprParser, /** @type {?} */ ((interpolationConfig)), this._schemaRegistry, uniqPipes, errors);
var /** @type {?} */ parseVisitor = new TemplateParseVisitor(this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);
result = visitAll(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);
errors.push.apply(errors, providerViewContext.errors);
@@ -11905,6 +12424,7 @@
if (component.template) {
return InterpolationConfig.fromArray(component.template.interpolation);
}
+ return undefined;
};
/**
* \@internal
@@ -11989,10 +12509,10 @@
* @return {?}
*/
TemplateParseVisitor.prototype.visitText = function (text, parent) {
- var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);
- var /** @type {?} */ expr = this._bindingParser.parseInterpolation(text.value, text.sourceSpan);
- return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :
- new TextAst(text.value, ngContentIndex, text.sourceSpan);
+ var /** @type {?} */ ngContentIndex = ((parent.findNgContentIndex(TEXT_CSS_SELECTOR)));
+ var /** @type {?} */ expr = this._bindingParser.parseInterpolation(text.value, /** @type {?} */ ((text.sourceSpan)));
+ return expr ? new BoundTextAst(expr, ngContentIndex, /** @type {?} */ ((text.sourceSpan))) :
+ new TextAst(text.value, ngContentIndex, /** @type {?} */ ((text.sourceSpan)));
};
/**
* @param {?} attribute
@@ -12061,7 +12581,7 @@
_this._reportError("Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *", attr.sourceSpan);
}
hasInlineTemplates = true;
- _this._bindingParser.parseInlineTemplateBinding(prefixToken, templateBindingsSource, attr.sourceSpan, templateMatchableAttrs, templateElementOrDirectiveProps, templateElementVars);
+ _this._bindingParser.parseInlineTemplateBinding(/** @type {?} */ ((prefixToken)), /** @type {?} */ ((templateBindingsSource)), attr.sourceSpan, templateMatchableAttrs, templateElementOrDirectiveProps, templateElementVars);
}
if (!hasBinding && !hasTemplateBinding) {
// don't include the bindings as attributes as well in the AST
@@ -12073,46 +12593,46 @@
var _a = this._parseDirectives(this.selectorMatcher, elementCssSelector), directiveMetas = _a.directives, matchElement = _a.matchElement;
var /** @type {?} */ references = [];
var /** @type {?} */ boundDirectivePropNames = new Set();
- var /** @type {?} */ directiveAsts = this._createDirectiveAsts(isTemplateElement, element.name, directiveMetas, elementOrDirectiveProps, elementOrDirectiveRefs, element.sourceSpan, references, boundDirectivePropNames);
+ var /** @type {?} */ directiveAsts = this._createDirectiveAsts(isTemplateElement, element.name, directiveMetas, elementOrDirectiveProps, elementOrDirectiveRefs, /** @type {?} */ ((element.sourceSpan)), references, boundDirectivePropNames);
var /** @type {?} */ elementProps = this._createElementPropertyAsts(element.name, elementOrDirectiveProps, boundDirectivePropNames);
var /** @type {?} */ isViewRoot = parent.isTemplateElement || hasInlineTemplates;
- var /** @type {?} */ providerContext = new ProviderElementContext(this.providerViewContext, parent.providerContext, isViewRoot, directiveAsts, attrs, references, isTemplateElement, queryStartIndex, element.sourceSpan);
- var /** @type {?} */ children = visitAll(preparsedElement.nonBindable ? NON_BINDABLE_VISITOR : this, element.children, ElementContext.create(isTemplateElement, directiveAsts, isTemplateElement ? parent.providerContext : providerContext));
+ var /** @type {?} */ providerContext = new ProviderElementContext(this.providerViewContext, /** @type {?} */ ((parent.providerContext)), isViewRoot, directiveAsts, attrs, references, isTemplateElement, queryStartIndex, /** @type {?} */ ((element.sourceSpan)));
+ var /** @type {?} */ children = visitAll(preparsedElement.nonBindable ? NON_BINDABLE_VISITOR : this, element.children, ElementContext.create(isTemplateElement, directiveAsts, isTemplateElement ? ((parent.providerContext)) : providerContext));
providerContext.afterElement();
// Override the actual selector when the `ngProjectAs` attribute is provided
var /** @type {?} */ projectionSelector = preparsedElement.projectAs != null ?
CssSelector.parse(preparsedElement.projectAs)[0] :
elementCssSelector;
- var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(projectionSelector);
+ var /** @type {?} */ ngContentIndex = ((parent.findNgContentIndex(projectionSelector)));
var /** @type {?} */ parsedElement;
if (preparsedElement.type === PreparsedElementType.NG_CONTENT) {
if (element.children && !element.children.every(_isEmptyTextNode)) {
- this._reportError(" element cannot have content.", element.sourceSpan);
+ this._reportError(" element cannot have content.", /** @type {?} */ ((element.sourceSpan)));
}
- parsedElement = new NgContentAst(this.ngContentCount++, hasInlineTemplates ? null : ngContentIndex, element.sourceSpan);
+ parsedElement = new NgContentAst(this.ngContentCount++, hasInlineTemplates ? ((null)) : ngContentIndex, /** @type {?} */ ((element.sourceSpan)));
}
else if (isTemplateElement) {
this._assertAllEventsPublishedByDirectives(directiveAsts, events);
- this._assertNoComponentsNorElementBindingsOnTemplate(directiveAsts, elementProps, element.sourceSpan);
- parsedElement = new EmbeddedTemplateAst(attrs, events, references, elementVars, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, providerContext.queryMatches, children, hasInlineTemplates ? null : ngContentIndex, element.sourceSpan);
+ this._assertNoComponentsNorElementBindingsOnTemplate(directiveAsts, elementProps, /** @type {?} */ ((element.sourceSpan)));
+ parsedElement = new EmbeddedTemplateAst(attrs, events, references, elementVars, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, providerContext.queryMatches, children, hasInlineTemplates ? ((null)) : ngContentIndex, /** @type {?} */ ((element.sourceSpan)));
}
else {
this._assertElementExists(matchElement, element);
- this._assertOnlyOneComponent(directiveAsts, element.sourceSpan);
+ this._assertOnlyOneComponent(directiveAsts, /** @type {?} */ ((element.sourceSpan)));
var /** @type {?} */ ngContentIndex_1 = hasInlineTemplates ? null : parent.findNgContentIndex(projectionSelector);
- parsedElement = new ElementAst(nodeName, attrs, elementProps, events, references, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, providerContext.queryMatches, children, hasInlineTemplates ? null : ngContentIndex_1, element.sourceSpan, element.endSourceSpan);
+ parsedElement = new ElementAst(nodeName, attrs, elementProps, events, references, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, providerContext.queryMatches, children, hasInlineTemplates ? null : ngContentIndex_1, element.sourceSpan, element.endSourceSpan || null);
}
if (hasInlineTemplates) {
var /** @type {?} */ templateQueryStartIndex = this.contentQueryStartId;
var /** @type {?} */ templateSelector = createElementCssSelector(TEMPLATE_ELEMENT, templateMatchableAttrs);
var templateDirectiveMetas = this._parseDirectives(this.selectorMatcher, templateSelector).directives;
var /** @type {?} */ templateBoundDirectivePropNames = new Set();
- var /** @type {?} */ templateDirectiveAsts = this._createDirectiveAsts(true, element.name, templateDirectiveMetas, templateElementOrDirectiveProps, [], element.sourceSpan, [], templateBoundDirectivePropNames);
+ var /** @type {?} */ templateDirectiveAsts = this._createDirectiveAsts(true, element.name, templateDirectiveMetas, templateElementOrDirectiveProps, [], /** @type {?} */ ((element.sourceSpan)), [], templateBoundDirectivePropNames);
var /** @type {?} */ templateElementProps = this._createElementPropertyAsts(element.name, templateElementOrDirectiveProps, templateBoundDirectivePropNames);
- this._assertNoComponentsNorElementBindingsOnTemplate(templateDirectiveAsts, templateElementProps, element.sourceSpan);
- var /** @type {?} */ templateProviderContext = new ProviderElementContext(this.providerViewContext, parent.providerContext, parent.isTemplateElement, templateDirectiveAsts, [], [], true, templateQueryStartIndex, element.sourceSpan);
+ this._assertNoComponentsNorElementBindingsOnTemplate(templateDirectiveAsts, templateElementProps, /** @type {?} */ ((element.sourceSpan)));
+ var /** @type {?} */ templateProviderContext = new ProviderElementContext(this.providerViewContext, /** @type {?} */ ((parent.providerContext)), parent.isTemplateElement, templateDirectiveAsts, [], [], true, templateQueryStartIndex, /** @type {?} */ ((element.sourceSpan)));
templateProviderContext.afterElement();
- parsedElement = new EmbeddedTemplateAst([], [], [], templateElementVars, templateProviderContext.transformedDirectiveAsts, templateProviderContext.transformProviders, templateProviderContext.transformedHasViewContainer, templateProviderContext.queryMatches, [parsedElement], ngContentIndex, element.sourceSpan);
+ parsedElement = new EmbeddedTemplateAst([], [], [], templateElementVars, templateProviderContext.transformedDirectiveAsts, templateProviderContext.transformProviders, templateProviderContext.transformedHasViewContainer, templateProviderContext.queryMatches, [parsedElement], ngContentIndex, /** @type {?} */ ((element.sourceSpan)));
}
return parsedElement;
};
@@ -12237,7 +12757,7 @@
// Whether any directive selector matches on the element name
var /** @type {?} */ matchElement = false;
selectorMatcher.match(elementCssSelector, function (selector, directive) {
- directives[_this.directivesIndex.get(directive)] = directive;
+ directives[((_this.directivesIndex.get(directive)))] = directive;
matchElement = matchElement || selector.hasElementSelector();
});
return {
@@ -12259,18 +12779,18 @@
TemplateParseVisitor.prototype._createDirectiveAsts = function (isTemplateElement, elementName, directives, props, elementOrDirectiveRefs, elementSourceSpan, targetReferences, targetBoundDirectivePropNames) {
var _this = this;
var /** @type {?} */ matchedReferences = new Set();
- var /** @type {?} */ component = null;
+ var /** @type {?} */ component = ((null));
var /** @type {?} */ directiveAsts = directives.map(function (directive) {
var /** @type {?} */ sourceSpan = new ParseSourceSpan(elementSourceSpan.start, elementSourceSpan.end, "Directive " + identifierName(directive.type));
if (directive.isComponent) {
component = directive;
}
var /** @type {?} */ directiveProperties = [];
- var /** @type {?} */ hostProperties = _this._bindingParser.createDirectiveHostPropertyAsts(directive, elementName, sourceSpan);
+ var /** @type {?} */ hostProperties = ((_this._bindingParser.createDirectiveHostPropertyAsts(directive, elementName, sourceSpan)));
// Note: We need to check the host properties here as well,
// as we don't know the element name in the DirectiveWrapperCompiler yet.
hostProperties = _this._checkPropertiesInSchema(elementName, hostProperties);
- var /** @type {?} */ hostEvents = _this._bindingParser.createDirectiveHostEventAsts(directive, sourceSpan);
+ var /** @type {?} */ hostEvents = ((_this._bindingParser.createDirectiveHostEventAsts(directive, sourceSpan)));
_this._createDirectivePropertyAsts(directive.inputs, props, directiveProperties, targetBoundDirectivePropNames);
elementOrDirectiveRefs.forEach(function (elOrDirRef) {
if ((elOrDirRef.value.length === 0 && directive.isComponent) ||
@@ -12290,7 +12810,7 @@
}
}
else if (!component) {
- var /** @type {?} */ refToken = null;
+ var /** @type {?} */ refToken = ((null));
if (isTemplateElement) {
refToken = createIdentifierToken(Identifiers.TemplateRef);
}
@@ -12358,7 +12878,7 @@
*/
TemplateParseVisitor.prototype._findComponentDirectiveNames = function (directives) {
return this._findComponentDirectives(directives)
- .map(function (directive) { return identifierName(directive.directive.type); });
+ .map(function (directive) { return ((identifierName(directive.directive.type))); });
};
/**
* @param {?} directives
@@ -12397,7 +12917,7 @@
errorMsg +=
"2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.";
}
- this._reportError(errorMsg, element.sourceSpan);
+ this._reportError(errorMsg, /** @type {?} */ ((element.sourceSpan)));
}
};
/**
@@ -12521,8 +13041,8 @@
* @return {?}
*/
NonBindableVisitor.prototype.visitText = function (text, parent) {
- var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);
- return new TextAst(text.value, ngContentIndex, text.sourceSpan);
+ var /** @type {?} */ ngContentIndex = ((parent.findNgContentIndex(TEXT_CSS_SELECTOR)));
+ return new TextAst(text.value, ngContentIndex, /** @type {?} */ ((text.sourceSpan)));
};
/**
* @param {?} expansion
@@ -12579,10 +13099,10 @@
*/
ElementContext.create = function (isTemplateElement, directives, providerContext) {
var /** @type {?} */ matcher = new SelectorMatcher();
- var /** @type {?} */ wildcardNgContentIndex = null;
+ var /** @type {?} */ wildcardNgContentIndex = ((null));
var /** @type {?} */ component = directives.find(function (directive) { return directive.directive.isComponent; });
if (component) {
- var /** @type {?} */ ngContentSelectors = component.directive.template.ngContentSelectors;
+ var /** @type {?} */ ngContentSelectors = ((component.directive.template)).ngContentSelectors;
for (var /** @type {?} */ i = 0; i < ngContentSelectors.length; i++) {
var /** @type {?} */ selector = ngContentSelectors[i];
if (selector === '*') {
@@ -12671,18 +13191,17 @@
* @return {?}
*/
function isTemplate(el, enableLegacyTemplate, reportDeprecation) {
- var /** @type {?} */ tagNoNs = splitNsName(el.name)[1];
- // `` is an angular construct and is lower case
- if (tagNoNs === NG_TEMPLATE_ELEMENT)
+ if (isNgTemplate(el.name))
return true;
+ var /** @type {?} */ tagNoNs = splitNsName(el.name)[1];
// `` is HTML and case insensitive
if (tagNoNs.toLowerCase() === TEMPLATE_ELEMENT) {
if (enableLegacyTemplate && tagNoNs.toLowerCase() === TEMPLATE_ELEMENT) {
- reportDeprecation(TEMPLATE_ELEMENT_DEPRECATION_WARNING, el.sourceSpan);
+ reportDeprecation(TEMPLATE_ELEMENT_DEPRECATION_WARNING, /** @type {?} */ ((el.sourceSpan)));
return true;
}
- return false;
}
+ return false;
}
/**
* An interface for retrieving documents by URL that the compiler uses
@@ -12948,7 +13467,7 @@
* arbitrary strings may still look like path names.
*/
function _split(uri) {
- return uri.match(_splitRe);
+ return ((uri.match(_splitRe)));
}
/**
* Removes dot segments in given path component, as described in
@@ -13069,8 +13588,9 @@
if (!normalizedDirective.isComponent) {
return;
}
- this._resourceLoaderCache.delete(normalizedDirective.template.templateUrl);
- normalizedDirective.template.externalStylesheets.forEach(function (stylesheet) { _this._resourceLoaderCache.delete(stylesheet.moduleUrl); });
+ var /** @type {?} */ template = ((normalizedDirective.template));
+ this._resourceLoaderCache.delete(/** @type {?} */ ((template.templateUrl)));
+ template.externalStylesheets.forEach(function (stylesheet) { _this._resourceLoaderCache.delete(/** @type {?} */ ((stylesheet.moduleUrl))); });
};
/**
* @param {?} url
@@ -13079,7 +13599,7 @@
DirectiveNormalizer.prototype._fetch = function (url) {
var /** @type {?} */ result = this._resourceLoaderCache.get(url);
if (!result) {
- result = this._resourceLoader.get(url);
+ result = ((this._resourceLoader.get(url)));
this._resourceLoaderCache.set(url, result);
}
return result;
@@ -13090,19 +13610,19 @@
*/
DirectiveNormalizer.prototype.normalizeTemplate = function (prenormData) {
var _this = this;
- var /** @type {?} */ normalizedTemplateSync = null;
- var /** @type {?} */ normalizedTemplateAsync;
- if (prenormData.template != null) {
- if (prenormData.templateUrl != null) {
+ var /** @type {?} */ normalizedTemplateSync = ((null));
+ var /** @type {?} */ normalizedTemplateAsync = ((undefined));
+ if (isDefined(prenormData.template)) {
+ if (isDefined(prenormData.templateUrl)) {
throw syntaxError("'" + _angular_core.ɵstringify(prenormData.componentType) + "' component cannot define both template and templateUrl");
}
if (typeof prenormData.template !== 'string') {
throw syntaxError("The template specified for component " + _angular_core.ɵstringify(prenormData.componentType) + " is not a string");
}
normalizedTemplateSync = this.normalizeTemplateSync(prenormData);
- normalizedTemplateAsync = Promise.resolve(normalizedTemplateSync);
+ normalizedTemplateAsync = Promise.resolve(/** @type {?} */ ((normalizedTemplateSync)));
}
- else if (prenormData.templateUrl) {
+ else if (isDefined(prenormData.templateUrl)) {
if (typeof prenormData.templateUrl !== 'string') {
throw syntaxError("The templateUrl specified for component " + _angular_core.ɵstringify(prenormData.componentType) + " is not a string");
}
@@ -13125,7 +13645,7 @@
* @return {?}
*/
DirectiveNormalizer.prototype.normalizeTemplateSync = function (prenomData) {
- return this.normalizeLoadedTemplate(prenomData, prenomData.template, prenomData.moduleUrl);
+ return this.normalizeLoadedTemplate(prenomData, /** @type {?} */ ((prenomData.template)), prenomData.moduleUrl);
};
/**
* @param {?} prenomData
@@ -13133,7 +13653,7 @@
*/
DirectiveNormalizer.prototype.normalizeTemplateAsync = function (prenomData) {
var _this = this;
- var /** @type {?} */ templateUrl = this._urlResolver.resolve(prenomData.moduleUrl, prenomData.templateUrl);
+ var /** @type {?} */ templateUrl = this._urlResolver.resolve(prenomData.moduleUrl, /** @type {?} */ ((prenomData.templateUrl)));
return this._fetch(templateUrl)
.then(function (value) { return _this.normalizeLoadedTemplate(prenomData, value, templateUrl); });
};
@@ -13145,7 +13665,7 @@
*/
DirectiveNormalizer.prototype.normalizeLoadedTemplate = function (prenormData, template, templateAbsUrl) {
var /** @type {?} */ isInline = !!prenormData.template;
- var /** @type {?} */ interpolationConfig = InterpolationConfig.fromArray(prenormData.interpolation);
+ var /** @type {?} */ interpolationConfig = InterpolationConfig.fromArray(/** @type {?} */ ((prenormData.interpolation)));
var /** @type {?} */ rootNodesAndErrors = this._htmlParser.parse(template, templateSourceUrl({ reference: prenormData.ngModuleType }, { type: { reference: prenormData.componentType } }, { isInline: isInline, templateUrl: templateAbsUrl }), true, interpolationConfig);
if (rootNodesAndErrors.errors.length > 0) {
var /** @type {?} */ errorString = rootNodesAndErrors.errors.join('\n');
@@ -13175,7 +13695,8 @@
templateUrl: templateAbsUrl, styles: styles, styleUrls: styleUrls,
ngContentSelectors: visitor.ngContentSelectors,
animations: prenormData.animations,
- interpolation: prenormData.interpolation, isInline: isInline
+ interpolation: prenormData.interpolation, isInline: isInline,
+ externalStylesheets: []
});
};
/**
@@ -13220,14 +13741,15 @@
*/
DirectiveNormalizer.prototype.normalizeStylesheet = function (stylesheet) {
var _this = this;
+ var /** @type {?} */ moduleUrl = ((stylesheet.moduleUrl));
var /** @type {?} */ allStyleUrls = stylesheet.styleUrls.filter(isStyleUrlResolvable)
- .map(function (url) { return _this._urlResolver.resolve(stylesheet.moduleUrl, url); });
+ .map(function (url) { return _this._urlResolver.resolve(moduleUrl, url); });
var /** @type {?} */ allStyles = stylesheet.styles.map(function (style$$1) {
- var /** @type {?} */ styleWithImports = extractStyleUrls(_this._urlResolver, stylesheet.moduleUrl, style$$1);
+ var /** @type {?} */ styleWithImports = extractStyleUrls(_this._urlResolver, moduleUrl, style$$1);
allStyleUrls.push.apply(allStyleUrls, styleWithImports.styleUrls);
return styleWithImports.style;
});
- return new CompileStylesheetMetadata({ styles: allStyles, styleUrls: allStyleUrls, moduleUrl: stylesheet.moduleUrl });
+ return new CompileStylesheetMetadata({ styles: allStyles, styleUrls: allStyleUrls, moduleUrl: moduleUrl });
};
return DirectiveNormalizer;
}());
@@ -13354,7 +13876,6 @@
return typeMetadata && typeMetadata.some(isDirectiveMetadata);
};
/**
- * Return {\@link Directive} for a given `Type`.
* @param {?} type
* @param {?=} throwIfNotFound
* @return {?}
@@ -13436,7 +13957,7 @@
* @param {?} def
* @return {?}
*/
- DirectiveResolver.prototype._extractPublicName = function (def) { return splitAtColon(def, [null, def])[1].trim(); };
+ DirectiveResolver.prototype._extractPublicName = function (def) { return splitAtColon(def, [/** @type {?} */ ((null)), def])[1].trim(); };
/**
* @param {?} bindings
* @return {?}
@@ -13987,7 +14508,7 @@
if (!typeSummary) {
var /** @type {?} */ summary = this._summaryResolver.resolveSummary(type);
typeSummary = summary ? summary.type : null;
- this._summaryCache.set(type, typeSummary);
+ this._summaryCache.set(type, typeSummary || null);
}
return typeSummary && typeSummary.summaryKind === kind ? typeSummary : null;
};
@@ -14000,12 +14521,13 @@
CompileMetadataResolver.prototype._loadDirectiveMetadata = function (ngModuleType, directiveType, isSync) {
var _this = this;
if (this._directiveCache.has(directiveType)) {
- return;
+ return null;
}
directiveType = _angular_core.resolveForwardRef(directiveType);
- var _a = this.getNonNormalizedDirectiveMetadata(directiveType), annotation = _a.annotation, metadata = _a.metadata;
+ var _a = ((this.getNonNormalizedDirectiveMetadata(directiveType))), annotation = _a.annotation, metadata = _a.metadata;
var /** @type {?} */ createDirectiveMetadata = function (templateMetadata) {
var /** @type {?} */ normalizedDirMeta = new CompileDirectiveMetadata({
+ isHost: false,
type: metadata.type,
isComponent: metadata.isComponent,
selector: metadata.selector,
@@ -14027,24 +14549,25 @@
template: templateMetadata
});
if (templateMetadata) {
- _this.initComponentFactory(metadata.componentFactory, templateMetadata.ngContentSelectors);
+ _this.initComponentFactory(/** @type {?} */ ((metadata.componentFactory)), templateMetadata.ngContentSelectors);
}
_this._directiveCache.set(directiveType, normalizedDirMeta);
_this._summaryCache.set(directiveType, normalizedDirMeta.toSummary());
return normalizedDirMeta;
};
if (metadata.isComponent) {
+ var /** @type {?} */ template = ((metadata.template));
var /** @type {?} */ templateMeta = this._directiveNormalizer.normalizeTemplate({
ngModuleType: ngModuleType,
componentType: directiveType,
moduleUrl: componentModuleUrl(this._reflector, directiveType, annotation),
- encapsulation: metadata.template.encapsulation,
- template: metadata.template.template,
- templateUrl: metadata.template.templateUrl,
- styles: metadata.template.styles,
- styleUrls: metadata.template.styleUrls,
- animations: metadata.template.animations,
- interpolation: metadata.template.interpolation
+ encapsulation: template.encapsulation,
+ template: template.template,
+ templateUrl: template.templateUrl,
+ styles: template.styles,
+ styleUrls: template.styleUrls,
+ animations: template.animations,
+ interpolation: template.interpolation
});
if (templateMeta.syncResult) {
createDirectiveMetadata(templateMeta.syncResult);
@@ -14055,7 +14578,7 @@
this._reportError(componentStillLoadingError(directiveType), directiveType);
return null;
}
- return templateMeta.asyncResult.then(createDirectiveMetadata);
+ return ((templateMeta.asyncResult)).then(createDirectiveMetadata);
}
}
else {
@@ -14082,7 +14605,7 @@
if (!dirMeta) {
return null;
}
- var /** @type {?} */ nonNormalizedTemplateMetadata;
+ var /** @type {?} */ nonNormalizedTemplateMetadata = ((undefined));
if (dirMeta instanceof _angular_core.Component) {
// component
assertArrayOfStrings('styles', dirMeta.styles);
@@ -14090,29 +14613,31 @@
assertInterpolationSymbols('interpolation', dirMeta.interpolation);
var /** @type {?} */ animations = dirMeta.animations;
nonNormalizedTemplateMetadata = new CompileTemplateMetadata({
- encapsulation: dirMeta.encapsulation,
- template: dirMeta.template,
- templateUrl: dirMeta.templateUrl,
- styles: dirMeta.styles,
- styleUrls: dirMeta.styleUrls,
- animations: animations,
- interpolation: dirMeta.interpolation,
- isInline: !!dirMeta.template
+ encapsulation: noUndefined(dirMeta.encapsulation),
+ template: noUndefined(dirMeta.template),
+ templateUrl: noUndefined(dirMeta.templateUrl),
+ styles: dirMeta.styles || [],
+ styleUrls: dirMeta.styleUrls || [],
+ animations: animations || [],
+ interpolation: noUndefined(dirMeta.interpolation),
+ isInline: !!dirMeta.template,
+ externalStylesheets: [],
+ ngContentSelectors: []
});
}
- var /** @type {?} */ changeDetectionStrategy = null;
+ var /** @type {?} */ changeDetectionStrategy = ((null));
var /** @type {?} */ viewProviders = [];
var /** @type {?} */ entryComponentMetadata = [];
var /** @type {?} */ selector = dirMeta.selector;
if (dirMeta instanceof _angular_core.Component) {
// Component
- changeDetectionStrategy = dirMeta.changeDetection;
+ changeDetectionStrategy = ((dirMeta.changeDetection));
if (dirMeta.viewProviders) {
viewProviders = this._getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, "viewProviders for \"" + stringifyType(directiveType) + "\"", [], directiveType);
}
if (dirMeta.entryComponents) {
entryComponentMetadata = flattenAndDedupeArray(dirMeta.entryComponents)
- .map(function (type) { return _this._getEntryComponentMetadata(type); })
+ .map(function (type) { return ((_this._getEntryComponentMetadata(type))); })
.concat(entryComponentMetadata);
}
if (!selector) {
@@ -14137,24 +14662,25 @@
viewQueries = this._getQueriesMetadata(dirMeta.queries, true, directiveType);
}
var /** @type {?} */ metadata = CompileDirectiveMetadata.create({
+ isHost: false,
selector: selector,
- exportAs: dirMeta.exportAs,
+ exportAs: noUndefined(dirMeta.exportAs),
isComponent: !!nonNormalizedTemplateMetadata,
type: this._getTypeMetadata(directiveType),
template: nonNormalizedTemplateMetadata,
changeDetection: changeDetectionStrategy,
- inputs: dirMeta.inputs,
- outputs: dirMeta.outputs,
- host: dirMeta.host,
- providers: providers,
- viewProviders: viewProviders,
- queries: queries,
- viewQueries: viewQueries,
+ inputs: dirMeta.inputs || [],
+ outputs: dirMeta.outputs || [],
+ host: dirMeta.host || {},
+ providers: providers || [],
+ viewProviders: viewProviders || [],
+ queries: queries || [],
+ viewQueries: viewQueries || [],
entryComponents: entryComponentMetadata,
componentViewType: nonNormalizedTemplateMetadata ? this.getComponentViewClass(directiveType) :
- undefined,
- rendererType: nonNormalizedTemplateMetadata ? this.getRendererType(directiveType) : undefined,
- componentFactory: undefined
+ null,
+ rendererType: nonNormalizedTemplateMetadata ? this.getRendererType(directiveType) : null,
+ componentFactory: null
});
if (nonNormalizedTemplateMetadata) {
metadata.componentFactory =
@@ -14171,7 +14697,7 @@
* @return {?}
*/
CompileMetadataResolver.prototype.getDirectiveMetadata = function (directiveType) {
- var /** @type {?} */ dirMeta = this._directiveCache.get(directiveType);
+ var /** @type {?} */ dirMeta = ((this._directiveCache.get(directiveType)));
if (!dirMeta) {
this._reportError(syntaxError("Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive " + stringifyType(directiveType) + "."), directiveType);
}
@@ -14264,7 +14790,7 @@
var /** @type {?} */ schemas = [];
if (meta.imports) {
flattenAndDedupeArray(meta.imports).forEach(function (importedType) {
- var /** @type {?} */ importedModuleType;
+ var /** @type {?} */ importedModuleType = ((undefined));
if (isValidType(importedType)) {
importedModuleType = importedType;
}
@@ -14346,6 +14872,7 @@
}
else {
_this._reportError(syntaxError("Can't export " + _this._getTypeDescriptor(exportedId.reference) + " " + stringifyType(exportedId.reference) + " from " + stringifyType(moduleType) + " as it was neither declared nor imported!"), moduleType);
+ return;
}
});
// The providers of the module have to go last
@@ -14355,7 +14882,7 @@
}
if (meta.entryComponents) {
entryComponents.push.apply(entryComponents, flattenAndDedupeArray(meta.entryComponents)
- .map(function (type) { return _this._getEntryComponentMetadata(type); }));
+ .map(function (type) { return ((_this._getEntryComponentMetadata(type))); }));
}
if (meta.bootstrap) {
flattenAndDedupeArray(meta.bootstrap).forEach(function (type) {
@@ -14366,7 +14893,7 @@
bootstrapComponents.push(_this._getIdentifierMetadata(type));
});
}
- entryComponents.push.apply(entryComponents, bootstrapComponents.map(function (type) { return _this._getEntryComponentMetadata(type.reference); }));
+ entryComponents.push.apply(entryComponents, bootstrapComponents.map(function (type) { return ((_this._getEntryComponentMetadata(type.reference))); }));
if (meta.schemas) {
schemas.push.apply(schemas, flattenAndDedupeArray(meta.schemas));
}
@@ -14383,10 +14910,10 @@
importedModules: importedModules,
exportedModules: exportedModules,
transitiveModule: transitiveModule,
- id: meta.id,
+ id: meta.id || null,
});
entryComponents.forEach(function (id) { return transitiveModule.addEntryComponent(id); });
- providers.forEach(function (provider) { return transitiveModule.addProvider(provider, compileMeta.type); });
+ providers.forEach(function (provider) { return transitiveModule.addProvider(provider, /** @type {?} */ ((compileMeta)).type); });
transitiveModule.addModule(compileMeta.type);
this._ngModuleCache.set(moduleType, compileMeta);
return compileMeta;
@@ -14433,6 +14960,7 @@
this._reportError(syntaxError("Type " + stringifyType(type) + " is part of the declarations of 2 modules: " + stringifyType(oldModule) + " and " + stringifyType(moduleType) + "! " +
("Please consider moving " + stringifyType(type) + " to a higher module that imports " + stringifyType(oldModule) + " and " + stringifyType(moduleType) + ". ") +
("You can also create a new NgModule that exports and includes " + stringifyType(type) + " then import that NgModule in " + stringifyType(oldModule) + " and " + stringifyType(moduleType) + ".")), moduleType);
+ return;
}
this._ngModuleOfTypes.set(type, moduleType);
};
@@ -14554,7 +15082,7 @@
if (!pipeMeta) {
this._reportError(syntaxError("Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe " + stringifyType(pipeType) + "."), pipeType);
}
- return pipeMeta;
+ return pipeMeta || null;
};
/**
* @param {?} pipeType
@@ -14584,11 +15112,11 @@
*/
CompileMetadataResolver.prototype._loadPipeMetadata = function (pipeType) {
pipeType = _angular_core.resolveForwardRef(pipeType);
- var /** @type {?} */ pipeAnnotation = this._pipeResolver.resolve(pipeType);
+ var /** @type {?} */ pipeAnnotation = ((this._pipeResolver.resolve(pipeType)));
var /** @type {?} */ pipeMeta = new CompilePipeMetadata({
type: this._getTypeMetadata(pipeType),
name: pipeAnnotation.name,
- pure: pipeAnnotation.pure
+ pure: !!pipeAnnotation.pure
});
this._pipeCache.set(pipeType, pipeMeta);
this._summaryCache.set(pipeType, pipeMeta.toSummary());
@@ -14646,7 +15174,7 @@
}
if (token == null) {
hasUnknownDeps = true;
- return null;
+ return ((null));
}
return {
isAttribute: isAttribute,
@@ -14701,7 +15229,7 @@
}
else {
provider = _angular_core.resolveForwardRef(provider);
- var /** @type {?} */ providerMeta = void 0;
+ var /** @type {?} */ providerMeta = ((undefined));
if (provider && typeof provider === 'object' && provider.hasOwnProperty('provide')) {
_this._validateProvider(provider);
providerMeta = new ProviderMeta(provider.provide, provider);
@@ -14711,6 +15239,7 @@
}
else if (provider === void 0) {
_this._reportError(syntaxError("Encountered undefined provider! Usually this means you have a circular dependencies (might be caused by using 'barrel' index.ts files."));
+ return;
}
else {
var /** @type {?} */ providersInfo = ((providers.reduce(function (soFar, seenProvider, seenProviderIdx) {
@@ -14727,6 +15256,7 @@
}, [])))
.join(', ');
_this._reportError(syntaxError("Invalid " + (debugInfo ? debugInfo : 'provider') + " - only instances of Provider and Type are allowed, got: [" + providersInfo + "]"), type);
+ return;
}
if (providerMeta.token === resolveIdentifier(Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS)) {
targetEntryComponents.push.apply(targetEntryComponents, _this._getEntryComponentsFromProvider(providerMeta, type));
@@ -14782,26 +15312,25 @@
if (throwIfNotFound === void 0) { throwIfNotFound = true; }
var /** @type {?} */ dirMeta = this.getNonNormalizedDirectiveMetadata(dirType);
if (dirMeta && dirMeta.metadata.isComponent) {
- return { componentType: dirType, componentFactory: dirMeta.metadata.componentFactory };
+ return { componentType: dirType, componentFactory: /** @type {?} */ ((dirMeta.metadata.componentFactory)) };
}
- else {
- var /** @type {?} */ dirSummary = (this._loadSummary(dirType, CompileSummaryKind.Directive));
- if (dirSummary && dirSummary.isComponent) {
- return { componentType: dirType, componentFactory: dirSummary.componentFactory };
- }
+ var /** @type {?} */ dirSummary = (this._loadSummary(dirType, CompileSummaryKind.Directive));
+ if (dirSummary && dirSummary.isComponent) {
+ return { componentType: dirType, componentFactory: /** @type {?} */ ((dirSummary.componentFactory)) };
}
if (throwIfNotFound) {
throw syntaxError(dirType.name + " cannot be used as an entry component.");
}
+ return null;
};
/**
* @param {?} provider
* @return {?}
*/
CompileMetadataResolver.prototype.getProviderMetadata = function (provider) {
- var /** @type {?} */ compileDeps;
- var /** @type {?} */ compileTypeMetadata = null;
- var /** @type {?} */ compileFactoryMetadata = null;
+ var /** @type {?} */ compileDeps = ((undefined));
+ var /** @type {?} */ compileTypeMetadata = ((null));
+ var /** @type {?} */ compileFactoryMetadata = ((null));
var /** @type {?} */ token = this._getTokenMetadata(provider.token);
if (provider.useClass) {
compileTypeMetadata = this._getInjectableMetadata(provider.useClass, provider.dependencies);
@@ -14820,7 +15349,7 @@
useClass: compileTypeMetadata,
useValue: provider.useValue,
useFactory: compileFactoryMetadata,
- useExisting: provider.useExisting ? this._getTokenMetadata(provider.useExisting) : null,
+ useExisting: provider.useExisting ? this._getTokenMetadata(provider.useExisting) : undefined,
deps: compileDeps,
multi: provider.multi
};
@@ -14863,14 +15392,17 @@
else {
if (!q.selector) {
this._reportError(syntaxError("Can't construct a query for the property \"" + propertyName + "\" of \"" + stringifyType(typeOrFunc) + "\" since the query selector wasn't defined."), typeOrFunc);
+ selectors = [];
+ }
+ else {
+ selectors = [this._getTokenMetadata(q.selector)];
}
- selectors = [this._getTokenMetadata(q.selector)];
}
return {
selectors: selectors,
first: q.first,
descendants: q.descendants, propertyName: propertyName,
- read: q.read ? this._getTokenMetadata(q.read) : null
+ read: q.read ? this._getTokenMetadata(q.read) : ((null))
};
};
/**
@@ -14974,7 +15506,7 @@
throw syntaxError("moduleId should be a string in \"" + stringifyType(type) + "\". See https://goo.gl/wIDDiL for more information.\n" +
"If you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");
}
- return reflector.importUri(type);
+ return ((reflector.importUri(type)));
}
/**
* @param {?} value
@@ -15056,7 +15588,7 @@
* @param {?} modifier
* @return {?}
*/
- Type$1.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
+ Type$1.prototype.hasModifier = function (modifier) { return ((this.modifiers)).indexOf(modifier) !== -1; };
return Type$1;
}());
var BuiltinTypeName = {};
@@ -15149,7 +15681,7 @@
function MapType(valueType, modifiers) {
if (modifiers === void 0) { modifiers = null; }
var _this = _super.call(this, modifiers) || this;
- _this.valueType = valueType;
+ _this.valueType = valueType || null;
return _this;
}
/**
@@ -15207,8 +15739,8 @@
* @param {?=} sourceSpan
*/
function Expression(type, sourceSpan) {
- this.type = type;
- this.sourceSpan = sourceSpan;
+ this.type = type || null;
+ this.sourceSpan = sourceSpan || null;
}
/**
* @abstract
@@ -15232,7 +15764,6 @@
* @return {?}
*/
Expression.prototype.key = function (index, type, sourceSpan) {
- if (type === void 0) { type = null; }
return new ReadKeyExpr(this, index, type, sourceSpan);
};
/**
@@ -15259,7 +15790,6 @@
* @return {?}
*/
Expression.prototype.instantiate = function (params, type, sourceSpan) {
- if (type === void 0) { type = null; }
return new InstantiateExpr(this, params, type, sourceSpan);
};
/**
@@ -15412,7 +15942,7 @@
/**
* @return {?}
*/
- Expression.prototype.toStmt = function () { return new ExpressionStatement(this); };
+ Expression.prototype.toStmt = function () { return new ExpressionStatement(this, null); };
return Expression;
}());
var BuiltinVar = {};
@@ -15432,7 +15962,6 @@
* @param {?=} sourceSpan
*/
function ReadVarExpr(name, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
if (typeof name === 'string') {
_this.name = name;
@@ -15457,6 +15986,9 @@
* @return {?}
*/
ReadVarExpr.prototype.set = function (value) {
+ if (!this.name) {
+ throw new Error("Built in variable " + this.builtin + " can not be assigned to.");
+ }
return new WriteVarExpr(this.name, value, null, this.sourceSpan);
};
return ReadVarExpr;
@@ -15470,7 +16002,6 @@
* @param {?=} sourceSpan
*/
function WriteVarExpr(name, value, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type || value.type, sourceSpan) || this;
_this.name = name;
_this.value = value;
@@ -15490,8 +16021,6 @@
* @return {?}
*/
WriteVarExpr.prototype.toDeclStmt = function (type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);
};
return WriteVarExpr;
@@ -15506,7 +16035,6 @@
* @param {?=} sourceSpan
*/
function WriteKeyExpr(receiver, index, value, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type || value.type, sourceSpan) || this;
_this.receiver = receiver;
_this.index = index;
@@ -15533,7 +16061,6 @@
* @param {?=} sourceSpan
*/
function WritePropExpr(receiver, name, value, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type || value.type, sourceSpan) || this;
_this.receiver = receiver;
_this.name = name;
@@ -15567,7 +16094,6 @@
* @param {?=} sourceSpan
*/
function InvokeMethodExpr(receiver, method, args, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.receiver = receiver;
_this.args = args;
@@ -15600,7 +16126,6 @@
* @param {?=} sourceSpan
*/
function InvokeFunctionExpr(fn, args, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.fn = fn;
_this.args = args;
@@ -15648,7 +16173,6 @@
* @param {?=} sourceSpan
*/
function LiteralExpr(value, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.value = value;
return _this;
@@ -15672,7 +16196,6 @@
* @param {?=} sourceSpan
*/
function ExternalExpr(value, type, typeParams, sourceSpan) {
- if (type === void 0) { type = null; }
if (typeParams === void 0) { typeParams = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.value = value;
@@ -15700,7 +16223,6 @@
*/
function ConditionalExpr(condition, trueCase, falseCase, type, sourceSpan) {
if (falseCase === void 0) { falseCase = null; }
- if (type === void 0) { type = null; }
var _this = _super.call(this, type || trueCase.type, sourceSpan) || this;
_this.condition = condition;
_this.falseCase = falseCase;
@@ -15742,7 +16264,7 @@
__extends(CastExpr, _super);
/**
* @param {?} value
- * @param {?} type
+ * @param {?=} type
* @param {?=} sourceSpan
*/
function CastExpr(value, type, sourceSpan) {
@@ -15781,7 +16303,6 @@
* @param {?=} sourceSpan
*/
function FunctionExpr(params, statements, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.params = params;
_this.statements = statements;
@@ -15816,7 +16337,6 @@
* @param {?=} sourceSpan
*/
function BinaryOperatorExpr(operator, lhs, rhs, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type || lhs.type, sourceSpan) || this;
_this.operator = operator;
_this.rhs = rhs;
@@ -15842,7 +16362,6 @@
* @param {?=} sourceSpan
*/
function ReadPropExpr(receiver, name, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.receiver = receiver;
_this.name = name;
@@ -15874,7 +16393,6 @@
* @param {?=} sourceSpan
*/
function ReadKeyExpr(receiver, index, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.receiver = receiver;
_this.index = index;
@@ -15905,7 +16423,6 @@
* @param {?=} sourceSpan
*/
function LiteralArrayExpr(entries, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.entries = entries;
return _this;
@@ -15942,7 +16459,6 @@
* @param {?=} sourceSpan
*/
function LiteralMapExpr(entries, type, sourceSpan) {
- if (type === void 0) { type = null; }
var _this = _super.call(this, type, sourceSpan) || this;
_this.entries = entries;
_this.valueType = null;
@@ -15982,12 +16498,12 @@
};
return CommaExpr;
}(Expression));
- var THIS_EXPR = new ReadVarExpr(BuiltinVar.This);
- var SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super);
- var CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError);
- var CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack);
- var NULL_EXPR = new LiteralExpr(null, null);
- var TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE);
+ var THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);
+ var SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);
+ var CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);
+ var CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);
+ var NULL_EXPR = new LiteralExpr(null, null, null);
+ var TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);
var StmtModifier = {};
StmtModifier.Final = 0;
StmtModifier.Private = 1;
@@ -16002,12 +16518,8 @@
* @param {?=} sourceSpan
*/
function Statement(modifiers, sourceSpan) {
- if (modifiers === void 0) { modifiers = null; }
- this.modifiers = modifiers;
- this.sourceSpan = sourceSpan;
- if (!modifiers) {
- this.modifiers = [];
- }
+ this.modifiers = modifiers || [];
+ this.sourceSpan = sourceSpan || null;
}
/**
* @abstract
@@ -16020,7 +16532,7 @@
* @param {?} modifier
* @return {?}
*/
- Statement.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
+ Statement.prototype.hasModifier = function (modifier) { return ((this.modifiers)).indexOf(modifier) !== -1; };
return Statement;
}());
var DeclareVarStmt = (function (_super) {
@@ -16033,7 +16545,6 @@
* @param {?=} sourceSpan
*/
function DeclareVarStmt(name, value, type, modifiers, sourceSpan) {
- if (type === void 0) { type = null; }
if (modifiers === void 0) { modifiers = null; }
var _this = _super.call(this, modifiers, sourceSpan) || this;
_this.name = name;
@@ -16062,13 +16573,12 @@
* @param {?=} sourceSpan
*/
function DeclareFunctionStmt(name, params, statements, type, modifiers, sourceSpan) {
- if (type === void 0) { type = null; }
if (modifiers === void 0) { modifiers = null; }
var _this = _super.call(this, modifiers, sourceSpan) || this;
_this.name = name;
_this.params = params;
_this.statements = statements;
- _this.type = type;
+ _this.type = type || null;
return _this;
}
/**
@@ -16125,22 +16635,21 @@
}(Statement));
var AbstractClassPart = (function () {
/**
- * @param {?=} type
- * @param {?=} modifiers
+ * @param {?} type
+ * @param {?} modifiers
*/
function AbstractClassPart(type, modifiers) {
- if (type === void 0) { type = null; }
- this.type = type;
this.modifiers = modifiers;
if (!modifiers) {
this.modifiers = [];
}
+ this.type = type || null;
}
/**
* @param {?} modifier
* @return {?}
*/
- AbstractClassPart.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
+ AbstractClassPart.prototype.hasModifier = function (modifier) { return ((this.modifiers)).indexOf(modifier) !== -1; };
return AbstractClassPart;
}());
var ClassField = (function (_super) {
@@ -16151,7 +16660,6 @@
* @param {?=} modifiers
*/
function ClassField(name, type, modifiers) {
- if (type === void 0) { type = null; }
if (modifiers === void 0) { modifiers = null; }
var _this = _super.call(this, type, modifiers) || this;
_this.name = name;
@@ -16169,7 +16677,6 @@
* @param {?=} modifiers
*/
function ClassMethod(name, params, body, type, modifiers) {
- if (type === void 0) { type = null; }
if (modifiers === void 0) { modifiers = null; }
var _this = _super.call(this, type, modifiers) || this;
_this.name = name;
@@ -16188,7 +16695,6 @@
* @param {?=} modifiers
*/
function ClassGetter(name, body, type, modifiers) {
- if (type === void 0) { type = null; }
if (modifiers === void 0) { modifiers = null; }
var _this = _super.call(this, type, modifiers) || this;
_this.name = name;
@@ -16352,7 +16858,7 @@
*/
AstTransformer$1.prototype.visitInvokeMethodExpr = function (ast, context) {
var /** @type {?} */ method = ast.builtin || ast.name;
- return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);
+ return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), /** @type {?} */ ((method)), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);
};
/**
* @param {?} ast
@@ -16390,7 +16896,7 @@
* @return {?}
*/
AstTransformer$1.prototype.visitConditionalExpr = function (ast, context) {
- return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);
+ return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), /** @type {?} */ ((ast.falseCase)).visitExpression(this, context), ast.type, ast.sourceSpan), context);
};
/**
* @param {?} ast
@@ -16456,7 +16962,7 @@
AstTransformer$1.prototype.visitLiteralMapExpr = function (ast, context) {
var _this = this;
var /** @type {?} */ entries = ast.entries.map(function (entry) { return new LiteralMapEntry(entry.key, entry.value.visitExpression(_this, context), entry.quoted); });
- var /** @type {?} */ mapType = new MapType(ast.valueType);
+ var /** @type {?} */ mapType = new MapType(ast.valueType, null);
return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);
};
/**
@@ -16515,7 +17021,7 @@
*/
AstTransformer$1.prototype.visitDeclareClassStmt = function (stmt, context) {
var _this = this;
- var /** @type {?} */ parent = stmt.parent.visitExpression(this, context);
+ var /** @type {?} */ parent = ((stmt.parent)).visitExpression(this, context);
var /** @type {?} */ getters = stmt.getters.map(function (getter) { return new ClassGetter(getter.name, _this.visitAllStatements(getter.body, context), getter.type, getter.modifiers); });
var /** @type {?} */ ctorMethod = stmt.constructorMethod &&
new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);
@@ -16653,8 +17159,8 @@
*/
RecursiveAstVisitor$1.prototype.visitConditionalExpr = function (ast, context) {
ast.condition.visitExpression(this, context);
- ast.trueCase.visitExpression(this, context);
- ast.falseCase.visitExpression(this, context);
+ ast.trueCase.visitExpression(this, context); /** @type {?} */
+ ((ast.falseCase)).visitExpression(this, context);
return ast;
};
/**
@@ -16792,7 +17298,7 @@
*/
RecursiveAstVisitor$1.prototype.visitDeclareClassStmt = function (stmt, context) {
var _this = this;
- stmt.parent.visitExpression(this, context);
+ ((stmt.parent)).visitExpression(this, context);
stmt.getters.forEach(function (getter) { return _this.visitAllStatements(getter.body, context); });
if (stmt.constructorMethod) {
this.visitAllStatements(stmt.constructorMethod.body, context);
@@ -16887,7 +17393,9 @@
* @return {?}
*/
_ReadVarVisitor.prototype.visitReadVarExpr = function (ast, context) {
- this.varNames.add(ast.name);
+ if (ast.name) {
+ this.varNames.add(ast.name);
+ }
return null;
};
return _ReadVarVisitor;
@@ -16970,7 +17478,6 @@
* @return {?}
*/
function variable(name, type, sourceSpan) {
- if (type === void 0) { type = null; }
return new ReadVarExpr(name, type, sourceSpan);
}
/**
@@ -16992,7 +17499,7 @@
function importType(id, typeParams, typeModifiers) {
if (typeParams === void 0) { typeParams = null; }
if (typeModifiers === void 0) { typeModifiers = null; }
- return id != null ? expressionType(importExpr(id, typeParams), typeModifiers) : null;
+ return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;
}
/**
* @param {?} expr
@@ -17001,7 +17508,7 @@
*/
function expressionType(expr, typeModifiers) {
if (typeModifiers === void 0) { typeModifiers = null; }
- return expr != null ? new ExpressionType(expr, typeModifiers) : null;
+ return expr != null ? ((new ExpressionType(expr, typeModifiers))) : null;
}
/**
* @param {?} values
@@ -17010,7 +17517,6 @@
* @return {?}
*/
function literalArr(values, type, sourceSpan) {
- if (type === void 0) { type = null; }
return new LiteralArrayExpr(values, type, sourceSpan);
}
/**
@@ -17022,7 +17528,7 @@
function literalMap(values, type, quoted) {
if (type === void 0) { type = null; }
if (quoted === void 0) { quoted = false; }
- return new LiteralMapExpr(values.map(function (entry) { return new LiteralMapEntry(entry[0], entry[1], quoted); }), type);
+ return new LiteralMapExpr(values.map(function (entry) { return new LiteralMapEntry(entry[0], entry[1], quoted); }), type, null);
}
/**
* @param {?} expr
@@ -17040,7 +17546,6 @@
* @return {?}
*/
function fn(params, body, type, sourceSpan) {
- if (type === void 0) { type = null; }
return new FunctionExpr(params, body, type, sourceSpan);
}
/**
@@ -17050,7 +17555,6 @@
* @return {?}
*/
function literal(value, type, sourceSpan) {
- if (type === void 0) { type = null; }
return new LiteralExpr(value, type, sourceSpan);
}
/**
@@ -17070,7 +17574,7 @@
var /** @type {?} */ superCtorStmts = config.parent ? [SUPER_EXPR.callFn(parentArgs).toStmt()] : [];
var /** @type {?} */ builder = concatClassBuilderParts(Array.isArray(config.builders) ? config.builders : [config.builders]);
var /** @type {?} */ ctor = new ClassMethod(null, config.ctorParams || [], superCtorStmts.concat(builder.ctorStmts));
- return new ClassStmt(config.name, config.parent, builder.fields, builder.getters, ctor, builder.methods, config.modifiers || [], config.sourceSpan);
+ return new ClassStmt(config.name, config.parent || null, builder.fields, builder.getters, ctor, builder.methods, config.modifiers || [], config.sourceSpan);
}
/**
* @param {?} builders
@@ -17078,10 +17582,10 @@
*/
function concatClassBuilderParts(builders) {
return {
- fields: [].concat.apply([], builders.map(function (builder) { return builder.fields || []; })),
- methods: [].concat.apply([], builders.map(function (builder) { return builder.methods || []; })),
- getters: [].concat.apply([], builders.map(function (builder) { return builder.getters || []; })),
- ctorStmts: [].concat.apply([], builders.map(function (builder) { return builder.ctorStmts || []; })),
+ fields: [].concat.apply([], ((builders.map((function (builder) { return builder.fields || []; }))))),
+ methods: [].concat.apply([], ((builders.map(function (builder) { return builder.methods || []; })))),
+ getters: [].concat.apply([], ((builders.map(function (builder) { return builder.getters || []; })))),
+ ctorStmts: [].concat.apply([], ((builders.map(function (builder) { return builder.ctorStmts || []; })))),
};
}
/**
@@ -17207,7 +17711,7 @@
var /** @type {?} */ ngModuleFactoryVar = identifierName(ngModuleMeta.type) + "NgFactory";
var /** @type {?} */ ngModuleFactoryStmt = variable(ngModuleFactoryVar)
.set(importExpr(createIdentifier(Identifiers.NgModuleFactory))
- .instantiate([variable(injectorClass.name), importExpr(ngModuleMeta.type)], importType(createIdentifier(Identifiers.NgModuleFactory), [importType(ngModuleMeta.type)], [TypeModifier.Const])))
+ .instantiate([variable(injectorClass.name), importExpr(ngModuleMeta.type)], importType(createIdentifier(Identifiers.NgModuleFactory), [/** @type {?} */ ((importType(ngModuleMeta.type)))], [TypeModifier.Const])))
.toDeclStmt(null, [StmtModifier.Final]);
var /** @type {?} */ stmts = [injectorClass, ngModuleFactoryStmt];
if (ngModuleMeta.id) {
@@ -17261,7 +17765,7 @@
if (resolvedProvider.lifecycleHooks.indexOf(_angular_core.ɵLifecycleHooks.OnDestroy) !== -1) {
var /** @type {?} */ callNgOnDestroy = instance.callMethod('ngOnDestroy', []);
if (!resolvedProvider.eager) {
- callNgOnDestroy = this._lazyProps.get(instance.name).and(callNgOnDestroy);
+ callNgOnDestroy = ((this._lazyProps.get(instance.name))).and(callNgOnDestroy);
}
this._destroyStmts.push(callNgOnDestroy.toStmt());
}
@@ -17274,14 +17778,14 @@
_InjectorBuilder.prototype.build = function () {
var _this = this;
var /** @type {?} */ getMethodStmts = this._tokens.map(function (token) {
- var /** @type {?} */ providerExpr = _this._instances.get(tokenReference(token));
+ var /** @type {?} */ providerExpr = ((_this._instances.get(tokenReference(token))));
return new IfStmt(InjectMethodVars.token.identical(createDiTokenExpression(token)), [new ReturnStatement(providerExpr)]);
});
var /** @type {?} */ methods = [
- new ClassMethod('createInternal', [], this._createStmts.concat(new ReturnStatement(this._instances.get(this._ngModuleMeta.type.reference))), importType(this._ngModuleMeta.type)),
+ new ClassMethod('createInternal', [], this._createStmts.concat(new ReturnStatement(/** @type {?} */ ((this._instances.get(this._ngModuleMeta.type.reference))))), importType(this._ngModuleMeta.type)),
new ClassMethod('getInternal', [
- new FnParam(InjectMethodVars.token.name, DYNAMIC_TYPE),
- new FnParam(InjectMethodVars.notFoundResult.name, DYNAMIC_TYPE)
+ new FnParam(/** @type {?} */ ((InjectMethodVars.token.name)), DYNAMIC_TYPE),
+ new FnParam(/** @type {?} */ ((InjectMethodVars.notFoundResult.name)), DYNAMIC_TYPE)
], getMethodStmts.concat([new ReturnStatement(InjectMethodVars.notFoundResult)]), DYNAMIC_TYPE),
new ClassMethod('destroyInternal', [], this._destroyStmts),
];
@@ -17294,7 +17798,7 @@
return createClassStmt({
name: injClassName,
ctorParams: [new FnParam(InjectorProps.parent.name, importType(createIdentifier(Identifiers.Injector)))],
- parent: importExpr(createIdentifier(Identifiers.NgModuleInjector), [importType(this._ngModuleMeta.type)]),
+ parent: importExpr(createIdentifier(Identifiers.NgModuleInjector), [/** @type {?} */ ((importType(this._ngModuleMeta.type)))]),
parentArgs: parentArgs,
builders: [{ methods: methods }, this]
});
@@ -17342,7 +17846,7 @@
}
else {
resolvedProviderValueExpr = providerValueExpressions[0];
- type = providerValueExpressions[0].type;
+ type = ((providerValueExpressions[0].type));
}
if (!type) {
type = DYNAMIC_TYPE;
@@ -17369,7 +17873,7 @@
* @return {?}
*/
_InjectorBuilder.prototype._getDependency = function (dep) {
- var /** @type {?} */ result = null;
+ var /** @type {?} */ result = ((null));
if (dep.isValue) {
result = literal(dep.value);
}
@@ -17383,11 +17887,11 @@
}
}
if (!result) {
- result = this._instances.get(tokenReference(dep.token));
+ result = ((this._instances.get(tokenReference(/** @type {?} */ ((dep.token))))));
}
}
if (!result) {
- var /** @type {?} */ args = [createDiTokenExpression(dep.token)];
+ var /** @type {?} */ args = [createDiTokenExpression(/** @type {?} */ ((dep.token)))];
if (dep.isOptional) {
args.push(NULL_EXPR);
}
@@ -17406,7 +17910,7 @@
return literal(token.value);
}
else {
- return importExpr(token.identifier);
+ return importExpr(/** @type {?} */ ((token.identifier)));
}
}
var InjectorProps = (function () {
@@ -17531,14 +18035,14 @@
if (segment.sourceUrl != null) {
// zero-based index into the “sources” list
segAsStr +=
- toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);
- lastSourceIndex = sourcesIndex.get(segment.sourceUrl);
+ toBase64VLQ(/** @type {?} */ ((sourcesIndex.get(segment.sourceUrl))) - lastSourceIndex);
+ lastSourceIndex = ((sourcesIndex.get(segment.sourceUrl)));
// the zero-based starting line in the original source
- segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);
- lastSourceLine0 = segment.sourceLine0;
+ segAsStr += toBase64VLQ(/** @type {?} */ ((segment.sourceLine0)) - lastSourceLine0);
+ lastSourceLine0 = ((segment.sourceLine0));
// the zero-based starting column in the original source
- segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);
- lastSourceCol0 = segment.sourceCol0;
+ segAsStr += toBase64VLQ(/** @type {?} */ ((segment.sourceCol0)) - lastSourceCol0);
+ lastSourceCol0 = ((segment.sourceCol0));
}
return segAsStr;
})
@@ -17620,8 +18124,8 @@
var _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\|\n|\r|\$/g;
var _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;
var _INDENT_WITH = ' ';
- var CATCH_ERROR_VAR$1 = variable('error');
- var CATCH_STACK_VAR$1 = variable('stack');
+ var CATCH_ERROR_VAR$1 = variable('error', null, null);
+ var CATCH_STACK_VAR$1 = variable('stack', null, null);
/**
* @abstract
*/
@@ -17674,7 +18178,7 @@
*/
EmitterVisitorContext.prototype.println = function (from, lastPart) {
if (lastPart === void 0) { lastPart = ''; }
- this.print(from, lastPart, true);
+ this.print(from || null, lastPart, true);
};
/**
* @return {?}
@@ -17726,7 +18230,7 @@
/**
* @return {?}
*/
- EmitterVisitorContext.prototype.popClass = function () { return this._classes.pop(); };
+ EmitterVisitorContext.prototype.popClass = function () { return ((this._classes.pop())); };
Object.defineProperty(EmitterVisitorContext.prototype, "currentClass", {
/**
* @return {?}
@@ -17786,7 +18290,7 @@
mapFirstOffsetIfNeeded();
}
while (spanIdx < spans.length) {
- var /** @type {?} */ span = spans[spanIdx];
+ var /** @type {?} */ span = ((spans[spanIdx]));
var /** @type {?} */ source = span.start.file;
var /** @type {?} */ sourceLine = span.start.line;
var /** @type {?} */ sourceCol = span.start.col;
@@ -18028,7 +18532,7 @@
* @return {?}
*/
AbstractEmitterVisitor.prototype.visitReadVarExpr = function (ast, ctx) {
- var /** @type {?} */ varName = ast.name;
+ var /** @type {?} */ varName = ((ast.name));
if (ast.builtin != null) {
switch (ast.builtin) {
case BuiltinVar.Super:
@@ -18038,10 +18542,10 @@
varName = 'this';
break;
case BuiltinVar.CatchError:
- varName = CATCH_ERROR_VAR$1.name;
+ varName = ((CATCH_ERROR_VAR$1.name));
break;
case BuiltinVar.CatchStack:
- varName = CATCH_STACK_VAR$1.name;
+ varName = ((CATCH_STACK_VAR$1.name));
break;
default:
throw new Error("Unknown builtin variable " + ast.builtin);
@@ -18095,8 +18599,8 @@
ast.condition.visitExpression(this, ctx);
ctx.print(ast, '? ');
ast.trueCase.visitExpression(this, ctx);
- ctx.print(ast, ': ');
- ast.falseCase.visitExpression(this, ctx);
+ ctx.print(ast, ': '); /** @type {?} */
+ ((ast.falseCase)).visitExpression(this, ctx);
ctx.print(ast, ")");
return null;
};
@@ -18449,7 +18953,7 @@
*/
_TsEmitterVisitor.prototype.visitType = function (t, ctx, defaultType) {
if (defaultType === void 0) { defaultType = 'any'; }
- if (t != null) {
+ if (t) {
this.typeExpression++;
t.visitType(this, ctx);
this.typeExpression--;
@@ -18504,7 +19008,7 @@
if (ctx.isExportedVar(stmt.name) && stmt.value instanceof ExternalExpr && !stmt.type) {
// check for a reexport
var _a = this._resolveStaticSymbol(stmt.value.value), name = _a.name, filePath = _a.filePath, members = _a.members;
- if (members.length === 0 && filePath !== this._genFilePath) {
+ if (((members)).length === 0 && filePath !== this._genFilePath) {
var /** @type {?} */ reexports = this.reexports.get(filePath);
if (!reexports) {
reexports = [];
@@ -18536,8 +19040,8 @@
* @return {?}
*/
_TsEmitterVisitor.prototype.visitCastExpr = function (ast, ctx) {
- ctx.print(ast, "(<");
- ast.type.visitType(this, ctx);
+ ctx.print(ast, "(<"); /** @type {?} */
+ ((ast.type)).visitType(this, ctx);
ctx.print(ast, ">");
ast.value.visitExpression(this, ctx);
ctx.print(ast, ")");
@@ -18702,7 +19206,7 @@
ctx.decIndent();
ctx.println(stmt, "} catch (" + CATCH_ERROR_VAR$1.name + ") {");
ctx.incIndent();
- var /** @type {?} */ catchStmts = [/** @type {?} */ (CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [
+ var /** @type {?} */ catchStmts = [/** @type {?} */ (CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack', null)).toDeclStmt(null, [
StmtModifier.Final
]))].concat(stmt.catchStmts);
this.visitAllStatements(catchStmts, ctx);
@@ -18839,10 +19343,10 @@
}
ctx.print(null, prefix + ".");
}
- if (members.length) {
+ if (((members)).length) {
ctx.print(null, name);
ctx.print(null, '.');
- ctx.print(null, members.join('.'));
+ ctx.print(null, /** @type {?} */ ((members)).join('.'));
}
else {
ctx.print(null, name);
@@ -18858,7 +19362,7 @@
if (suppliedParameters > 0 || additionalParameters > 0) {
ctx.print(null, "<");
if (suppliedParameters > 0) {
- this.visitAllObjects(function (type) { return type.visitType(_this, ctx); }, typeParams, ctx, ',');
+ this.visitAllObjects(function (type) { return type.visitType(_this, ctx); }, /** @type {?} */ ((typeParams)), ctx, ',');
}
if (additionalParameters > 0) {
for (var /** @type {?} */ i = 0; i < additionalParameters; i++) {
@@ -19222,7 +19726,7 @@
return true;
}
if (tagName.indexOf('-') > -1) {
- if (tagName === 'ng-container' || tagName === 'ng-content') {
+ if (isNgContainer(tagName) || isNgContent(tagName)) {
return false;
}
if (schemaMetas.some(function (schema) { return schema.name === _angular_core.CUSTOM_ELEMENTS_SCHEMA.name; })) {
@@ -19244,7 +19748,7 @@
return true;
}
if (tagName.indexOf('-') > -1) {
- if (tagName === 'ng-container' || tagName === 'ng-content') {
+ if (isNgContainer(tagName) || isNgContent(tagName)) {
return true;
}
if (schemaMetas.some(function (schema) { return schema.name === _angular_core.CUSTOM_ELEMENTS_SCHEMA.name; })) {
@@ -19343,7 +19847,7 @@
DomElementSchemaRegistry.prototype.normalizeAnimationStyleValue = function (camelCaseProp, userProvidedProp, val) {
var /** @type {?} */ unit = '';
var /** @type {?} */ strVal = val.toString().trim();
- var /** @type {?} */ errorMsg = null;
+ var /** @type {?} */ errorMsg = ((null));
if (_isPixelDimensionStyle(camelCaseProp) && val !== 0 && val !== '0') {
if (typeof val === 'number') {
unit = 'px';
@@ -19971,13 +20475,14 @@
*/
StyleCompiler.prototype.compileComponent = function (comp) {
var _this = this;
+ var /** @type {?} */ template = ((comp.template));
var /** @type {?} */ externalStylesheets = [];
var /** @type {?} */ componentStylesheet = this._compileStyles(comp, new CompileStylesheetMetadata({
- styles: comp.template.styles,
- styleUrls: comp.template.styleUrls,
+ styles: template.styles,
+ styleUrls: template.styleUrls,
moduleUrl: identifierModuleUrl(comp.type)
}), true);
- comp.template.externalStylesheets.forEach(function (stylesheetMeta) {
+ template.externalStylesheets.forEach(function (stylesheetMeta) {
var /** @type {?} */ compiledStylesheet = _this._compileStyles(comp, stylesheetMeta, false);
externalStylesheets.push(compiledStylesheet);
});
@@ -19991,7 +20496,7 @@
*/
StyleCompiler.prototype._compileStyles = function (comp, stylesheet, isComponentStylesheet) {
var _this = this;
- var /** @type {?} */ shim = comp.template.encapsulation === _angular_core.ViewEncapsulation.Emulated;
+ var /** @type {?} */ shim = ((comp.template)).encapsulation === _angular_core.ViewEncapsulation.Emulated;
var /** @type {?} */ styleExpressions = stylesheet.styles.map(function (plainStyle) { return literal(_this._shimIfNeeded(plainStyle, shim)); });
var /** @type {?} */ dependencies = [];
for (var /** @type {?} */ i = 0; i < stylesheet.styleUrls.length; i++) {
@@ -20092,7 +20597,7 @@
flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);
prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);
var /** @type {?} */ lastIndex = actionStmts.length - 1;
- var /** @type {?} */ preventDefaultVar = null;
+ var /** @type {?} */ preventDefaultVar = ((null));
if (lastIndex >= 0) {
var /** @type {?} */ lastStatement = actionStmts[lastIndex];
var /** @type {?} */ returnExpr = convertStmtIntoExpression(lastStatement);
@@ -20379,7 +20884,7 @@
fnResult = ast.converter(convertedArgs);
}
else {
- fnResult = this.visit(ast.target, _Mode.Expression).callFn(convertedArgs);
+ fnResult = this.visit(/** @type {?} */ ((ast.target)), _Mode.Expression).callFn(convertedArgs);
}
return convertToStatementIfNeeded(mode, fnResult);
};
@@ -20567,7 +21072,7 @@
* @return {?}
*/
_AstToIrVisitor.prototype.visitQuote = function (ast, mode) {
- throw new Error('Quotes are not supported for evaluation!');
+ throw new Error("Quotes are not supported for evaluation!\n Statement: " + ast.uninterpretedExpression + " located at " + ast.location);
};
/**
* @param {?} ast
@@ -20623,7 +21128,7 @@
// Notice that the first guard condition is the left hand of the left most safe access node
// which comes in as leftMostSafe to this routine.
var /** @type {?} */ guardedExpression = this.visit(leftMostSafe.receiver, _Mode.Expression);
- var /** @type {?} */ temporary;
+ var /** @type {?} */ temporary = ((undefined));
if (this.needsTemporary(leftMostSafe.receiver)) {
// If the expression has method calls or pipes then we need to save the result into a
// temporary variable to avoid calling stateful or impure code more than once.
@@ -20976,7 +21481,6 @@
var CLASS_ATTR$1 = 'class';
var STYLE_ATTR = 'style';
var IMPLICIT_TEMPLATE_VAR = '\$implicit';
- var NG_CONTAINER_TAG = 'ng-container';
var ViewCompileResult = (function () {
/**
* @param {?} statements
@@ -21010,18 +21514,19 @@
var /** @type {?} */ embeddedViewCount = 0;
var /** @type {?} */ staticQueryIds = findStaticQueryIds(template);
var /** @type {?} */ statements = [];
- var /** @type {?} */ renderComponentVarName;
+ var /** @type {?} */ renderComponentVarName = ((undefined));
if (!component.isHost) {
+ var /** @type {?} */ template_1 = ((component.template));
var /** @type {?} */ customRenderData = [];
- if (component.template.animations && component.template.animations.length) {
- customRenderData.push(new LiteralMapEntry('animation', convertValueToOutputAst(component.template.animations), true));
+ if (template_1.animations && template_1.animations.length) {
+ customRenderData.push(new LiteralMapEntry('animation', convertValueToOutputAst(template_1.animations), true));
}
var /** @type {?} */ renderComponentVar = variable(rendererTypeName(component.type.reference));
- renderComponentVarName = renderComponentVar.name;
+ renderComponentVarName = ((renderComponentVar.name));
statements.push(renderComponentVar
.set(importExpr(createIdentifier(Identifiers.createRendererType2))
.callFn([new LiteralMapExpr([
- new LiteralMapEntry('encapsulation', literal(component.template.encapsulation)),
+ new LiteralMapEntry('encapsulation', literal(template_1.encapsulation)),
new LiteralMapEntry('styles', styles),
new LiteralMapEntry('data', new LiteralMapExpr(customRenderData))
])]))
@@ -21078,7 +21583,8 @@
// TODO(tbosch): The old view compiler used to use an `any` type
// for the context in any embedded view. We keep this behaivor for now
// to be able to introduce the new view compiler without too many errors.
- this.compType = this.embeddedViewIndex > 0 ? DYNAMIC_TYPE : importType(this.component.type);
+ this.compType =
+ this.embeddedViewIndex > 0 ? DYNAMIC_TYPE : importType(this.component.type);
}
Object.defineProperty(ViewBuilder.prototype, "viewName", {
/**
@@ -21149,7 +21655,7 @@
if (!this.parent && this.component.changeDetection === _angular_core.ChangeDetectionStrategy.OnPush) {
viewFlags |= 2 /* OnPush */;
}
- var /** @type {?} */ viewFactory = new DeclareFunctionStmt(this.viewName, [new FnParam(LOG_VAR.name)], [new ReturnStatement(importExpr(createIdentifier(Identifiers.viewDef)).callFn([
+ var /** @type {?} */ viewFactory = new DeclareFunctionStmt(this.viewName, [new FnParam(/** @type {?} */ ((LOG_VAR.name)))], [new ReturnStatement(importExpr(createIdentifier(Identifiers.viewDef)).callFn([
literal(viewFlags),
literalArr(nodeDefExprs),
updateDirectivesFn,
@@ -21166,12 +21672,12 @@
var /** @type {?} */ updateFn;
if (updateStmts.length > 0) {
var /** @type {?} */ preStmts = [];
- if (!this.component.isHost && findReadVarNames(updateStmts).has(COMP_VAR.name)) {
+ if (!this.component.isHost && findReadVarNames(updateStmts).has(/** @type {?} */ ((COMP_VAR.name)))) {
preStmts.push(COMP_VAR.set(VIEW_VAR.prop('component')).toDeclStmt(this.compType));
}
updateFn = fn([
- new FnParam(CHECK_VAR.name, INFERRED_TYPE),
- new FnParam(VIEW_VAR.name, INFERRED_TYPE)
+ new FnParam(/** @type {?} */ ((CHECK_VAR.name)), INFERRED_TYPE),
+ new FnParam(/** @type {?} */ ((VIEW_VAR.name)), INFERRED_TYPE)
], preStmts.concat(updateStmts), INFERRED_TYPE);
}
else {
@@ -21218,7 +21724,7 @@
var _this = this;
var /** @type {?} */ nodeIndex = this.nodes.length;
// reserve the space in the nodeDefs array
- this.nodes.push(null);
+ this.nodes.push(/** @type {?} */ ((null)));
var /** @type {?} */ astWithSource = (ast.value);
var /** @type {?} */ inter = (astWithSource.ast);
var /** @type {?} */ updateRendererExpressions = inter.expressions.map(function (expr, bindingIndex) { return _this._preprocessUpdateExpression({ nodeIndex: nodeIndex, bindingIndex: bindingIndex, sourceSpan: ast.sourceSpan, context: COMP_VAR, value: expr }); });
@@ -21241,7 +21747,7 @@
var _this = this;
var /** @type {?} */ nodeIndex = this.nodes.length;
// reserve the space in the nodeDefs array
- this.nodes.push(null);
+ this.nodes.push(/** @type {?} */ ((null)));
var _a = this._visitElementOrTemplate(nodeIndex, ast), flags = _a.flags, queryMatchesExpr = _a.queryMatchesExpr, hostEvents = _a.hostEvents;
var /** @type {?} */ childVisitor = this.viewBuilderFactory(this);
this.children.push(childVisitor);
@@ -21273,12 +21779,9 @@
var _this = this;
var /** @type {?} */ nodeIndex = this.nodes.length;
// reserve the space in the nodeDefs array so we can add children
- this.nodes.push(null);
- var /** @type {?} */ elName = ast.name;
- if (ast.name === NG_CONTAINER_TAG) {
- // Using a null element name creates an anchor.
- elName = null;
- }
+ this.nodes.push(/** @type {?} */ ((null)));
+ // Using a null element name creates an anchor.
+ var /** @type {?} */ elName = isNgContainer(ast.name) ? null : ast.name;
var _a = this._visitElementOrTemplate(nodeIndex, ast), flags = _a.flags, usedEvents = _a.usedEvents, queryMatchesExpr = _a.queryMatchesExpr, dirHostBindings = _a.hostBindings, hostEvents = _a.hostEvents;
var /** @type {?} */ inputDefs = [];
var /** @type {?} */ updateRendererExpressions = [];
@@ -21288,7 +21791,7 @@
.map(function (inputAst) { return ({
context: /** @type {?} */ (COMP_VAR),
inputAst: inputAst,
- dirAst: null,
+ dirAst: /** @type {?} */ (null),
}); })
.concat(dirHostBindings);
if (hostBindings.length) {
@@ -21372,8 +21875,8 @@
this._visitProvider(componentFactoryResolverProvider, ast.queryMatches);
}
ast.providers.forEach(function (providerAst, providerIndex) {
- var /** @type {?} */ dirAst;
- var /** @type {?} */ dirIndex;
+ var /** @type {?} */ dirAst = ((undefined));
+ var /** @type {?} */ dirIndex = ((undefined));
ast.directives.forEach(function (localDirAst, i) {
if (localDirAst.directive.type.reference === tokenReference(providerAst.token)) {
dirAst = localDirAst;
@@ -21381,7 +21884,7 @@
}
});
if (dirAst) {
- var _a = _this._visitDirective(providerAst, dirAst, dirIndex, nodeIndex, ast.references, ast.queryMatches, usedEvents, _this.staticQueryIds.get(/** @type {?} */ (ast))), dirHostBindings = _a.hostBindings, dirHostEvents = _a.hostEvents;
+ var _a = _this._visitDirective(providerAst, dirAst, dirIndex, nodeIndex, ast.references, ast.queryMatches, usedEvents, /** @type {?} */ ((_this.staticQueryIds.get(/** @type {?} */ (ast))))), dirHostBindings = _a.hostBindings, dirHostEvents = _a.hostEvents;
hostBindings.push.apply(hostBindings, dirHostBindings);
hostEvents.push.apply(hostEvents, dirHostEvents);
}
@@ -21391,7 +21894,7 @@
});
var /** @type {?} */ queryMatchExprs = [];
ast.queryMatches.forEach(function (match) {
- var /** @type {?} */ valueType;
+ var /** @type {?} */ valueType = ((undefined));
if (tokenReference(match.value) === resolveIdentifier(Identifiers.ElementRef)) {
valueType = 0 /* ElementRef */;
}
@@ -21406,7 +21909,7 @@
}
});
ast.references.forEach(function (ref) {
- var /** @type {?} */ valueType;
+ var /** @type {?} */ valueType = ((undefined));
if (!ref.value) {
valueType = 1 /* RenderElement */;
}
@@ -21419,7 +21922,7 @@
}
});
ast.outputs.forEach(function (outputAst) {
- hostEvents.push({ context: COMP_VAR, eventAst: outputAst, dirAst: null });
+ hostEvents.push({ context: COMP_VAR, eventAst: outputAst, dirAst: /** @type {?} */ ((null)) });
});
return {
flags: flags,
@@ -21444,7 +21947,7 @@
var _this = this;
var /** @type {?} */ nodeIndex = this.nodes.length;
// reserve the space in the nodeDefs array so we can add children
- this.nodes.push(null);
+ this.nodes.push(/** @type {?} */ ((null)));
dirAst.directive.queries.forEach(function (query, queryIndex) {
var /** @type {?} */ queryId = dirAst.contentQueryStartId + queryIndex;
var /** @type {?} */ flags = 33554432 /* TypeContentQuery */ | calcStaticDynamicQueryFlags(queryIds, queryId, query.first);
@@ -21537,7 +22040,7 @@
ViewBuilder.prototype._visitProvider = function (providerAst, queryMatches) {
var /** @type {?} */ nodeIndex = this.nodes.length;
// reserve the space in the nodeDefs array so we can add children
- this.nodes.push(null);
+ this.nodes.push(/** @type {?} */ ((null)));
var _a = this._visitProviderOrDirective(providerAst, queryMatches), flags = _a.flags, queryMatchExprs = _a.queryMatchExprs, providerExpr = _a.providerExpr, depsExpr = _a.depsExpr;
// providerDef(
// flags: NodeFlags, matchedQueries: [string, QueryValueType][], token:any,
@@ -21654,7 +22157,7 @@
* @return {?}
*/
ViewBuilder.prototype.createPipeConverter = function (expression, name, argCount) {
- var /** @type {?} */ pipe = this.usedPipes.find(function (pipeSummary) { return pipeSummary.name === name; });
+ var /** @type {?} */ pipe = ((this.usedPipes.find(function (pipeSummary) { return pipeSummary.name === name; })));
if (pipe.pure) {
var /** @type {?} */ nodeIndex_1 = this.nodes.length;
// function purePipeDef(argCount: number): NodeDef;
@@ -21804,13 +22307,13 @@
var /** @type {?} */ handleEventFn;
if (handleEventStmts.length > 0) {
var /** @type {?} */ preStmts = [ALLOW_DEFAULT_VAR.set(literal(true)).toDeclStmt(BOOL_TYPE)];
- if (!this.component.isHost && findReadVarNames(handleEventStmts).has(COMP_VAR.name)) {
+ if (!this.component.isHost && findReadVarNames(handleEventStmts).has(/** @type {?} */ ((COMP_VAR.name)))) {
preStmts.push(COMP_VAR.set(VIEW_VAR.prop('component')).toDeclStmt(this.compType));
}
handleEventFn = fn([
- new FnParam(VIEW_VAR.name, INFERRED_TYPE),
- new FnParam(EVENT_NAME_VAR.name, INFERRED_TYPE),
- new FnParam(EventHandlerVars.event.name, INFERRED_TYPE)
+ new FnParam(/** @type {?} */ ((VIEW_VAR.name)), INFERRED_TYPE),
+ new FnParam(/** @type {?} */ ((EVENT_NAME_VAR.name)), INFERRED_TYPE),
+ new FnParam(/** @type {?} */ ((EventHandlerVars.event.name)), INFERRED_TYPE)
], preStmts.concat(handleEventStmts, [new ReturnStatement(ALLOW_DEFAULT_VAR)]), INFERRED_TYPE);
}
else {
@@ -21923,9 +22426,9 @@
var /** @type {?} */ flags;
var /** @type {?} */ deps;
if (providerType === ProviderAstType.Directive || providerType === ProviderAstType.Component) {
- providerExpr = importExpr(providerMeta.useClass);
+ providerExpr = importExpr(/** @type {?} */ ((providerMeta.useClass)));
flags = 8192 /* TypeDirective */;
- deps = providerMeta.deps || providerMeta.useClass.diDeps;
+ deps = providerMeta.deps || ((providerMeta.useClass)).diDeps;
}
else {
if (providerMeta.useClass) {
@@ -21966,7 +22469,7 @@
function depDef(dep) {
// Note: the following fields have already been normalized out by provider_analyzer:
// - isAttribute, isSelf, isHost
- var /** @type {?} */ expr = dep.isValue ? convertValueToOutputAst(dep.value) : tokenExpr(dep.token);
+ var /** @type {?} */ expr = dep.isValue ? convertValueToOutputAst(dep.value) : tokenExpr(/** @type {?} */ ((dep.token)));
var /** @type {?} */ flags = 0;
if (dep.isSkipSelf) {
flags |= 1 /* SkipSelf */;
@@ -21989,7 +22492,7 @@
return lastAstNode.hasViewContainer;
}
if (lastAstNode instanceof ElementAst) {
- if (lastAstNode.name === NG_CONTAINER_TAG && lastAstNode.children.length) {
+ if (isNgContainer(lastAstNode.name) && lastAstNode.children.length) {
return needsAdditionalRootNode(lastAstNode.children);
}
return lastAstNode.hasViewContainer;
@@ -22076,7 +22579,6 @@
mapResult[name] = prevValue != null ? mergeAttributeValue(name, prevValue, value) : value;
});
});
- var /** @type {?} */ mapEntries = [];
// Note: We need to sort to get a defined output order
// for tests and for caching generated artifacts...
return literalArr(Object.keys(mapResult).sort().map(function (attrName) { return literalArr([literal(attrName), literal(mapResult[attrName])]); }));
@@ -22129,11 +22631,11 @@
nodes.forEach(function (node) {
var /** @type {?} */ staticQueryIds = new Set();
var /** @type {?} */ dynamicQueryIds = new Set();
- var /** @type {?} */ queryMatches;
+ var /** @type {?} */ queryMatches = ((undefined));
if (node instanceof ElementAst) {
findStaticQueryIds(node.children, result);
node.children.forEach(function (child) {
- var /** @type {?} */ childData = result.get(child);
+ var /** @type {?} */ childData = ((result.get(child)));
childData.staticQueryIds.forEach(function (queryId) { return staticQueryIds.add(queryId); });
childData.dynamicQueryIds.forEach(function (queryId) { return dynamicQueryIds.add(queryId); });
});
@@ -22142,7 +22644,7 @@
else if (node instanceof EmbeddedTemplateAst) {
findStaticQueryIds(node.children, result);
node.children.forEach(function (child) {
- var /** @type {?} */ childData = result.get(child);
+ var /** @type {?} */ childData = ((result.get(child)));
childData.staticQueryIds.forEach(function (queryId) { return dynamicQueryIds.add(queryId); });
childData.dynamicQueryIds.forEach(function (queryId) { return dynamicQueryIds.add(queryId); });
});
@@ -22292,7 +22794,7 @@
// as the type summaries already contain the transitive data that they require
// (in a minimal way).
types.forEach(function (typeSummary) {
- serializer.addOrMergeSummary({ symbol: typeSummary.type.reference, metadata: { __symbolic: 'class' }, type: typeSummary });
+ serializer.addOrMergeSummary({ symbol: typeSummary.type.reference, metadata: null, type: typeSummary });
if (typeSummary.summaryKind === CompileSummaryKind.NgModule) {
var /** @type {?} */ ngModuleSummary = (typeSummary);
ngModuleSummary.exportedDirectives.concat(ngModuleSummary.exportedPipes).forEach(function (id) {
@@ -22341,10 +22843,21 @@
Serializer$1.prototype.addOrMergeSummary = function (summary) {
var /** @type {?} */ symbolMeta = summary.metadata;
if (symbolMeta && symbolMeta.__symbolic === 'class') {
- // For classes, we only keep their statics and arity, but not the metadata
- // of the class itself as that has been captured already via other summaries
- // (e.g. DirectiveSummary, ...).
- symbolMeta = { __symbolic: 'class', statics: symbolMeta.statics, arity: symbolMeta.arity };
+ // For classes, we keep everything except their class decorators.
+ // We need to keep e.g. the ctor args, method names, method decorators
+ // so that the class can be extended in another compilation unit.
+ // We don't keep the class decorators as
+ // 1) they refer to data
+ // that should not cause a rebuild of downstream compilation units
+ // (e.g. inline templates of @Component, or @NgModule.declarations)
+ // 2) their data is already captured in TypeSummaries, e.g. DirectiveSummary.
+ var /** @type {?} */ clone_1 = {};
+ Object.keys(symbolMeta).forEach(function (propName) {
+ if (propName !== 'decorators') {
+ clone_1[propName] = symbolMeta[propName];
+ }
+ });
+ symbolMeta = clone_1;
}
var /** @type {?} */ processedSummary = this.processedSummaryBySymbol.get(summary.symbol);
if (!processedSummary) {
@@ -22371,7 +22884,7 @@
summaries: this.processedSummaries,
symbols: this.symbols.map(function (symbol, index) {
symbol.assertNoMembers();
- var /** @type {?} */ importAs;
+ var /** @type {?} */ importAs = ((undefined));
if (_this.summaryResolver.isLibraryFile(symbol.filePath)) {
importAs = symbol.name + "_" + index;
exportAs.push({ symbol: symbol, exportAs: importAs });
@@ -22576,7 +23089,7 @@
var _this = this;
var /** @type {?} */ symbolSummaries = this._symbolResolver.getSymbolsOf(srcFileUrl)
.map(function (symbol) { return _this._symbolResolver.resolveSymbol(symbol); });
- var /** @type {?} */ typeSummaries = ngModules.map(function (ref) { return _this._metadataResolver.getNgModuleSummary(ref); }).concat(directives.map(function (ref) { return _this._metadataResolver.getDirectiveSummary(ref); }), pipes.map(function (ref) { return _this._metadataResolver.getPipeSummary(ref); }), injectables.map(function (ref) { return _this._metadataResolver.getInjectableSummary(ref); }));
+ var /** @type {?} */ typeSummaries = ngModules.map(function (ref) { return ((_this._metadataResolver.getNgModuleSummary(ref))); }).concat(directives.map(function (ref) { return ((_this._metadataResolver.getDirectiveSummary(ref))); }), pipes.map(function (ref) { return ((_this._metadataResolver.getPipeSummary(ref))); }), injectables.map(function (ref) { return ((_this._metadataResolver.getInjectableSummary(ref))); }));
var _a = serializeSummaries(this._summaryResolver, this._symbolResolver, symbolSummaries, typeSummaries), json = _a.json, exportAs = _a.exportAs;
exportAs.forEach(function (entry) {
targetStatements.push(variable(entry.exportAs).set(importExpr({ reference: entry.symbol })).toDeclStmt());
@@ -22590,7 +23103,7 @@
* @return {?}
*/
AotCompiler.prototype._compileModule = function (ngModuleType, targetStatements) {
- var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(ngModuleType);
+ var /** @type {?} */ ngModule = ((this._metadataResolver.getNgModuleMetadata(ngModuleType)));
var /** @type {?} */ providers = [];
if (this._localeId) {
providers.push({
@@ -22638,9 +23151,9 @@
literal(compMeta.selector), importExpr(compMeta.type),
variable(hostViewFactoryVar), new LiteralMapExpr(inputsExprs),
new LiteralMapExpr(outputsExprs),
- literalArr(compMeta.template.ngContentSelectors.map(function (selector) { return literal(selector); }))
+ literalArr(/** @type {?} */ ((compMeta.template)).ngContentSelectors.map(function (selector) { return literal(selector); }))
]))
- .toDeclStmt(importType(createIdentifier(Identifiers.ComponentFactory), [importType(compMeta.type)], [TypeModifier.Const]), [StmtModifier.Final]));
+ .toDeclStmt(importType(createIdentifier(Identifiers.ComponentFactory), [/** @type {?} */ ((importType(compMeta.type)))], [TypeModifier.Const]), [StmtModifier.Final]));
return compFactoryVar;
};
/**
@@ -22656,7 +23169,7 @@
var _this = this;
var /** @type {?} */ directives = directiveIdentifiers.map(function (dir) { return _this._metadataResolver.getDirectiveSummary(dir.reference); });
var /** @type {?} */ pipes = ngModule.transitiveModule.pipes.map(function (pipe) { return _this._metadataResolver.getPipeSummary(pipe.reference); });
- var _a = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, ngModule.schemas, templateSourceUrl(ngModule.type, compMeta, compMeta.template)), parsedTemplate = _a.template, usedPipes = _a.pipes;
+ var _a = this._templateParser.parse(compMeta, /** @type {?} */ ((((compMeta.template)).template)), directives, pipes, ngModule.schemas, templateSourceUrl(ngModule.type, compMeta, /** @type {?} */ ((compMeta.template)))), parsedTemplate = _a.template, usedPipes = _a.pipes;
var /** @type {?} */ stylesExpr = componentStyles ? variable(componentStyles.stylesVar) : literalArr([]);
var /** @type {?} */ viewResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, stylesExpr, usedPipes);
if (componentStyles) {
@@ -22673,7 +23186,7 @@
*/
AotCompiler.prototype._codgenStyles = function (fileUrl, stylesCompileResult, fileSuffix) {
_resolveStyleStatements(this._symbolResolver, stylesCompileResult, fileSuffix);
- return this._codegenSourceModule(fileUrl, _stylesModuleUrl(stylesCompileResult.meta.moduleUrl, stylesCompileResult.isShimmed, fileSuffix), stylesCompileResult.statements, [stylesCompileResult.stylesVar]);
+ return this._codegenSourceModule(fileUrl, _stylesModuleUrl(/** @type {?} */ ((stylesCompileResult.meta.moduleUrl)), stylesCompileResult.isShimmed, fileSuffix), stylesCompileResult.statements, [stylesCompileResult.stylesVar]);
};
/**
* @param {?} srcFileUrl
@@ -22942,7 +23455,7 @@
* @param {?} type
* @return {?}
*/
- StaticAndDynamicReflectionCapabilities.prototype.importUri = function (type) { return this.staticDelegate.importUri(type); };
+ StaticAndDynamicReflectionCapabilities.prototype.importUri = function (type) { return ((this.staticDelegate.importUri(type))); };
/**
* @param {?} type
* @return {?}
@@ -23005,15 +23518,17 @@
*/
var StaticReflector = (function () {
/**
+ * @param {?} summaryResolver
* @param {?} symbolResolver
* @param {?=} knownMetadataClasses
* @param {?=} knownMetadataFunctions
* @param {?=} errorRecorder
*/
- function StaticReflector(symbolResolver, knownMetadataClasses, knownMetadataFunctions, errorRecorder) {
+ function StaticReflector(summaryResolver, symbolResolver, knownMetadataClasses, knownMetadataFunctions, errorRecorder) {
if (knownMetadataClasses === void 0) { knownMetadataClasses = []; }
if (knownMetadataFunctions === void 0) { knownMetadataFunctions = []; }
var _this = this;
+ this.summaryResolver = summaryResolver;
this.symbolResolver = symbolResolver;
this.errorRecorder = errorRecorder;
this.annotationCache = new Map();
@@ -23021,9 +23536,20 @@
this.parameterCache = new Map();
this.methodCache = new Map();
this.conversionMap = new Map();
+ this.annotationForParentClassWithSummaryKind = new Map();
+ this.annotationNames = new Map();
this.initializeConversionMap();
knownMetadataClasses.forEach(function (kc) { return _this._registerDecoratorOrConstructor(_this.getStaticSymbol(kc.filePath, kc.name), kc.ctor); });
knownMetadataFunctions.forEach(function (kf) { return _this._registerFunction(_this.getStaticSymbol(kf.filePath, kf.name), kf.fn); });
+ this.annotationForParentClassWithSummaryKind.set(CompileSummaryKind.Directive, [_angular_core.Directive, _angular_core.Component]);
+ this.annotationForParentClassWithSummaryKind.set(CompileSummaryKind.Pipe, [_angular_core.Pipe]);
+ this.annotationForParentClassWithSummaryKind.set(CompileSummaryKind.NgModule, [_angular_core.NgModule]);
+ this.annotationForParentClassWithSummaryKind.set(CompileSummaryKind.Injectable, [_angular_core.Injectable, _angular_core.Pipe, _angular_core.Directive, _angular_core.Component, _angular_core.NgModule]);
+ this.annotationNames.set(_angular_core.Directive, 'Directive');
+ this.annotationNames.set(_angular_core.Component, 'Component');
+ this.annotationNames.set(_angular_core.Pipe, 'Pipe');
+ this.annotationNames.set(_angular_core.NgModule, 'NgModule');
+ this.annotationNames.set(_angular_core.Injectable, 'Injectable');
}
/**
* @param {?} typeOrFunc
@@ -23095,20 +23621,32 @@
* @return {?}
*/
StaticReflector.prototype.annotations = function (type) {
+ var _this = this;
var /** @type {?} */ annotations = this.annotationCache.get(type);
if (!annotations) {
annotations = [];
var /** @type {?} */ classMetadata = this.getTypeMetadata(type);
- if (classMetadata['extends']) {
- var /** @type {?} */ parentType = this.trySimplify(type, classMetadata['extends']);
- if (parentType && (parentType instanceof StaticSymbol)) {
- var /** @type {?} */ parentAnnotations = this.annotations(parentType);
- annotations.push.apply(annotations, parentAnnotations);
- }
+ var /** @type {?} */ parentType = this.findParentType(type, classMetadata);
+ if (parentType) {
+ var /** @type {?} */ parentAnnotations = this.annotations(parentType);
+ annotations.push.apply(annotations, parentAnnotations);
}
+ var /** @type {?} */ ownAnnotations_1 = [];
if (classMetadata['decorators']) {
- var /** @type {?} */ ownAnnotations = this.simplify(type, classMetadata['decorators']);
- annotations.push.apply(annotations, ownAnnotations);
+ ownAnnotations_1 = this.simplify(type, classMetadata['decorators']);
+ annotations.push.apply(annotations, ownAnnotations_1);
+ }
+ if (parentType && !this.summaryResolver.isLibraryFile(type.filePath) &&
+ this.summaryResolver.isLibraryFile(parentType.filePath)) {
+ var /** @type {?} */ summary = this.summaryResolver.resolveSummary(parentType);
+ if (summary && summary.type) {
+ var /** @type {?} */ requiredAnnotationTypes = ((this.annotationForParentClassWithSummaryKind.get(/** @type {?} */ ((summary.type.summaryKind)))));
+ var /** @type {?} */ typeHasRequiredAnnotation = requiredAnnotationTypes.some(function (requiredType) { return ownAnnotations_1.some(function (ann) { return ann instanceof requiredType; }); });
+ if (!typeHasRequiredAnnotation) {
+ this.reportError(syntaxError("Class " + type.name + " in " + type.filePath + " extends from a " + CompileSummaryKind[((summary.type.summaryKind))] + " in another compilation unit without duplicating the decorator. " +
+ ("Please add a " + requiredAnnotationTypes.map(function (type) { return _this.annotationNames.get(type); }).join(' or ') + " decorator to the class.")), type);
+ }
+ }
}
this.annotationCache.set(type, annotations.filter(function (ann) { return !!ann; }));
}
@@ -23124,14 +23662,12 @@
if (!propMetadata) {
var /** @type {?} */ classMetadata = this.getTypeMetadata(type);
propMetadata = {};
- if (classMetadata['extends']) {
- var /** @type {?} */ parentType = this.trySimplify(type, classMetadata['extends']);
- if (parentType instanceof StaticSymbol) {
- var /** @type {?} */ parentPropMetadata_1 = this.propMetadata(parentType);
- Object.keys(parentPropMetadata_1).forEach(function (parentProp) {
- propMetadata[parentProp] = parentPropMetadata_1[parentProp];
- });
- }
+ var /** @type {?} */ parentType = this.findParentType(type, classMetadata);
+ if (parentType) {
+ var /** @type {?} */ parentPropMetadata_1 = this.propMetadata(parentType);
+ Object.keys(parentPropMetadata_1).forEach(function (parentProp) {
+ ((propMetadata))[parentProp] = parentPropMetadata_1[parentProp];
+ });
}
var /** @type {?} */ members_1 = classMetadata['members'] || {};
Object.keys(members_1).forEach(function (propName) {
@@ -23139,10 +23675,10 @@
var /** @type {?} */ prop = ((propData))
.find(function (a) { return a['__symbolic'] == 'property' || a['__symbolic'] == 'method'; });
var /** @type {?} */ decorators = [];
- if (propMetadata[propName]) {
- decorators.push.apply(decorators, propMetadata[propName]);
- }
- propMetadata[propName] = decorators;
+ if (((propMetadata))[propName]) {
+ decorators.push.apply(decorators, ((propMetadata))[propName]);
+ } /** @type {?} */
+ ((propMetadata))[propName] = decorators;
if (prop && prop['decorators']) {
decorators.push.apply(decorators, _this.simplify(type, prop['decorators']));
}
@@ -23164,6 +23700,7 @@
var /** @type {?} */ parameters_1 = this.parameterCache.get(type);
if (!parameters_1) {
var /** @type {?} */ classMetadata = this.getTypeMetadata(type);
+ var /** @type {?} */ parentType = this.findParentType(type, classMetadata);
var /** @type {?} */ members = classMetadata ? classMetadata['members'] : null;
var /** @type {?} */ ctorData = members ? members['__ctor__'] : null;
if (ctorData) {
@@ -23179,15 +23716,12 @@
var /** @type {?} */ decorators = parameterDecorators_1 ? parameterDecorators_1[index] : null;
if (decorators) {
nestedResult.push.apply(nestedResult, decorators);
- }
- parameters_1.push(nestedResult);
+ } /** @type {?} */
+ ((parameters_1)).push(nestedResult);
});
}
- else if (classMetadata['extends']) {
- var /** @type {?} */ parentType = this.trySimplify(type, classMetadata['extends']);
- if (parentType instanceof StaticSymbol) {
- parameters_1 = this.parameters(parentType);
- }
+ else if (parentType) {
+ parameters_1 = this.parameters(parentType);
}
if (!parameters_1) {
parameters_1 = [];
@@ -23210,25 +23744,34 @@
if (!methodNames) {
var /** @type {?} */ classMetadata = this.getTypeMetadata(type);
methodNames = {};
- if (classMetadata['extends']) {
- var /** @type {?} */ parentType = this.trySimplify(type, classMetadata['extends']);
- if (parentType instanceof StaticSymbol) {
- var /** @type {?} */ parentMethodNames_1 = this._methodNames(parentType);
- Object.keys(parentMethodNames_1).forEach(function (parentProp) {
- methodNames[parentProp] = parentMethodNames_1[parentProp];
- });
- }
+ var /** @type {?} */ parentType = this.findParentType(type, classMetadata);
+ if (parentType) {
+ var /** @type {?} */ parentMethodNames_1 = this._methodNames(parentType);
+ Object.keys(parentMethodNames_1).forEach(function (parentProp) {
+ ((methodNames))[parentProp] = parentMethodNames_1[parentProp];
+ });
}
var /** @type {?} */ members_2 = classMetadata['members'] || {};
Object.keys(members_2).forEach(function (propName) {
var /** @type {?} */ propData = members_2[propName];
- var /** @type {?} */ isMethod = ((propData)).some(function (a) { return a['__symbolic'] == 'method'; });
- methodNames[propName] = methodNames[propName] || isMethod;
+ var /** @type {?} */ isMethod = ((propData)).some(function (a) { return a['__symbolic'] == 'method'; }); /** @type {?} */
+ ((methodNames))[propName] = ((methodNames))[propName] || isMethod;
});
this.methodCache.set(type, methodNames);
}
return methodNames;
};
+ /**
+ * @param {?} type
+ * @param {?} classMetadata
+ * @return {?}
+ */
+ StaticReflector.prototype.findParentType = function (type, classMetadata) {
+ var /** @type {?} */ parentType = this.trySimplify(type, classMetadata['extends']);
+ if (parentType instanceof StaticSymbol) {
+ return parentType;
+ }
+ };
/**
* @param {?} type
* @param {?} lcProperty
@@ -23599,7 +24142,7 @@
return simplifyCall(staticSymbol, targetFunction, argExpressions);
}
}
- break;
+ return IGNORE;
case 'error':
var /** @type {?} */ message = produceErrorMessage(expression);
if (expression['line']) {
@@ -23842,13 +24385,13 @@
*/
StaticSymbolResolver.prototype.resolveSymbol = function (staticSymbol) {
if (staticSymbol.members.length > 0) {
- return this._resolveSymbolMembers(staticSymbol);
+ return ((this._resolveSymbolMembers(staticSymbol)));
}
var /** @type {?} */ result = this.resolvedSymbols.get(staticSymbol);
if (result) {
return result;
}
- result = this._resolveSymbolFromSummary(staticSymbol);
+ result = ((this._resolveSymbolFromSummary(staticSymbol)));
if (result) {
return result;
}
@@ -23856,7 +24399,7 @@
// have summaries, only .d.ts files. So we always need to check both, the summary
// and metadata.
this._createSymbolsOf(staticSymbol.filePath);
- result = this.resolvedSymbols.get(staticSymbol);
+ result = ((this.resolvedSymbols.get(staticSymbol)));
return result;
};
/**
@@ -23879,7 +24422,7 @@
}
var /** @type {?} */ result = this.summaryResolver.getImportAs(staticSymbol);
if (!result) {
- result = this.importAs.get(staticSymbol);
+ result = ((this.importAs.get(staticSymbol)));
}
return result;
};
@@ -24042,7 +24585,7 @@
// correctly.
var /** @type {?} */ originFilePath = _this.resolveModule(origin, filePath);
if (!originFilePath) {
- _this.reportError(new Error("Couldn't resolve original symbol for " + origin + " from " + filePath), null);
+ _this.reportError(new Error("Couldn't resolve original symbol for " + origin + " from " + filePath));
}
else {
_this.symbolResourcePaths.set(symbol, originFilePath);
@@ -24106,6 +24649,16 @@
* @return {?}
*/
StaticSymbolResolver.prototype.createResolvedSymbol = function (sourceSymbol, topLevelPath, topLevelSymbolNames, metadata) {
+ // For classes that don't have Angular summaries / metadata,
+ // we only keep their arity, but nothing else
+ // (e.g. their constructor parameters).
+ // We do this to prevent introducing deep imports
+ // as we didn't generate .ngfactory.ts files with proper reexports.
+ if (this.summaryResolver.isLibraryFile(sourceSymbol.filePath) && metadata &&
+ metadata['__symbolic'] === 'class') {
+ var /** @type {?} */ transformedMeta_1 = { __symbolic: 'class', arity: metadata.arity };
+ return new ResolvedStaticSymbol(sourceSymbol, transformedMeta_1);
+ }
var /** @type {?} */ self = this;
var ReferenceTransformer = (function (_super) {
__extends(ReferenceTransformer, _super);
@@ -24134,7 +24687,7 @@
}
var /** @type {?} */ filePath = void 0;
if (module_1) {
- filePath = self.resolveModule(module_1, sourceSymbol.filePath);
+ filePath = ((self.resolveModule(module_1, sourceSymbol.filePath)));
if (!filePath) {
return {
__symbolic: 'error',
@@ -24186,7 +24739,7 @@
};
/**
* @param {?} error
- * @param {?} context
+ * @param {?=} context
* @param {?=} path
* @return {?}
*/
@@ -24223,7 +24776,7 @@
var /** @type {?} */ errorMessage = moduleMetadata['version'] == 2 ?
"Unsupported metadata version " + moduleMetadata['version'] + " for module " + module + ". This module should be compiled with a newer version of ngc" :
"Metadata version mismatch for module " + module + ", found version " + moduleMetadata['version'] + ", expected " + SUPPORTED_SCHEMA_VERSION;
- this.reportError(new Error(errorMessage), null);
+ this.reportError(new Error(errorMessage));
}
this.metadataCache.set(module, moduleMetadata);
}
@@ -24238,14 +24791,14 @@
StaticSymbolResolver.prototype.getSymbolByModule = function (module, symbolName, containingFile) {
var /** @type {?} */ filePath = this.resolveModule(module, containingFile);
if (!filePath) {
- this.reportError(new Error("Could not resolve module " + module + (containingFile ? " relative to $ {\n containingFile\n } " : '')), null);
+ this.reportError(new Error("Could not resolve module " + module + (containingFile ? " relative to $ {\n containingFile\n } " : '')));
return this.getStaticSymbol("ERROR:" + module, symbolName);
}
return this.getStaticSymbol(filePath, symbolName);
};
/**
* @param {?} module
- * @param {?} containingFile
+ * @param {?=} containingFile
* @return {?}
*/
StaticSymbolResolver.prototype.resolveModule = function (module, containingFile) {
@@ -24254,8 +24807,9 @@
}
catch (e) {
console.error("Could not resolve module '" + module + "' relative to file " + containingFile);
- this.reportError(e, null, containingFile);
+ this.reportError(e, undefined, containingFile);
}
+ return null;
};
return StaticSymbolResolver;
}());
@@ -24309,7 +24863,7 @@
var /** @type {?} */ summary = this.summaryCache.get(staticSymbol);
if (!summary) {
this._loadSummaryFile(staticSymbol.filePath);
- summary = this.summaryCache.get(staticSymbol);
+ summary = ((this.summaryCache.get(staticSymbol)));
}
return summary;
};
@@ -24327,7 +24881,7 @@
*/
AotSummaryResolver.prototype.getImportAs = function (staticSymbol) {
staticSymbol.assertNoMembers();
- return this.importAs.get(staticSymbol);
+ return ((this.importAs.get(staticSymbol)));
};
/**
* @param {?} filePath
@@ -24379,7 +24933,7 @@
var /** @type {?} */ symbolCache = new StaticSymbolCache();
var /** @type {?} */ summaryResolver = new AotSummaryResolver(compilerHost, symbolCache);
var /** @type {?} */ symbolResolver = new StaticSymbolResolver(compilerHost, symbolCache, summaryResolver);
- var /** @type {?} */ staticReflector = new StaticReflector(symbolResolver);
+ var /** @type {?} */ staticReflector = new StaticReflector(summaryResolver, symbolResolver);
StaticAndDynamicReflectionCapabilities.install(staticReflector);
var /** @type {?} */ console = new _angular_core.ɵConsole();
var /** @type {?} */ htmlParser = new I18NHtmlParser(new HtmlParser(), translations, options.i18nFormat, _angular_core.MissingTranslationStrategy.Warning, console);
@@ -24395,12 +24949,12 @@
var /** @type {?} */ resolver = new CompileMetadataResolver(config, new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), summaryResolver, elementSchemaRegistry, normalizer, console, symbolCache, staticReflector);
// TODO(vicb): do not pass options.i18nFormat here
var /** @type {?} */ importResolver = {
- getImportAs: function (symbol) { return symbolResolver.getImportAs(symbol); },
+ getImportAs: function (symbol) { return ((symbolResolver.getImportAs(symbol))); },
fileNameToModuleName: function (fileName, containingFilePath) { return compilerHost.fileNameToModuleName(fileName, containingFilePath); },
- getTypeArity: function (symbol) { return symbolResolver.getTypeArity(symbol); }
+ getTypeArity: function (symbol) { return ((symbolResolver.getTypeArity(symbol))); }
};
var /** @type {?} */ viewCompiler = new ViewCompiler(config, elementSchemaRegistry);
- var /** @type {?} */ compiler = new AotCompiler(config, compilerHost, resolver, tmplParser, new StyleCompiler(urlResolver), viewCompiler, new NgModuleCompiler(), new TypeScriptEmitter(importResolver), summaryResolver, options.locale, options.i18nFormat, options.genFilePreamble, symbolResolver);
+ var /** @type {?} */ compiler = new AotCompiler(config, compilerHost, resolver, tmplParser, new StyleCompiler(urlResolver), viewCompiler, new NgModuleCompiler(), new TypeScriptEmitter(importResolver), summaryResolver, options.locale || null, options.i18nFormat || null, options.genFilePreamble || null, symbolResolver);
return { compiler: compiler, reflector: staticReflector };
}
/**
@@ -24489,7 +25043,7 @@
_classStmt.methods.forEach(function (method) {
var /** @type {?} */ paramNames = method.params.map(function (param) { return param.name; });
// Note: use `function` instead of arrow function to capture `this`
- propertyDescriptors[method.name] = {
+ propertyDescriptors[((method.name))] = {
writable: false,
configurable: false,
value: function () {
@@ -24548,7 +25102,7 @@
currCtx.vars.set(expr.name, value);
return value;
}
- currCtx = currCtx.parent;
+ currCtx = ((currCtx.parent));
}
throw new Error("Not declared variable " + expr.name);
};
@@ -24558,7 +25112,7 @@
* @return {?}
*/
StatementInterpreter.prototype.visitReadVarExpr = function (ast, ctx) {
- var /** @type {?} */ varName = ast.name;
+ var /** @type {?} */ varName = ((ast.name));
if (ast.builtin != null) {
switch (ast.builtin) {
case BuiltinVar.Super:
@@ -24580,7 +25134,7 @@
if (currCtx.vars.has(varName)) {
return currCtx.vars.get(varName);
}
- currCtx = currCtx.parent;
+ currCtx = ((currCtx.parent));
}
throw new Error("Not declared variable " + varName);
};
@@ -24632,7 +25186,7 @@
}
}
else {
- result = receiver[expr.name].apply(receiver, args);
+ result = receiver[((expr.name))].apply(receiver, args);
}
return result;
};
@@ -25068,7 +25622,7 @@
AbstractJsEmitterVisitor.prototype.visitInvokeFunctionExpr = function (expr, ctx) {
var /** @type {?} */ fnExpr = expr.fn;
if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {
- ctx.currentClass.parent.visitExpression(this, ctx);
+ ((((ctx.currentClass)).parent)).visitExpression(this, ctx);
ctx.print(expr, ".call(this");
if (expr.args.length > 0) {
ctx.print(expr, ", ");
@@ -25301,7 +25855,7 @@
* @return {?}
*/
JitCompiler.prototype.compileModuleSync = function (moduleType) {
- return this._compileModuleAndComponents(moduleType, true).syncResult;
+ return ((this._compileModuleAndComponents(moduleType, true).syncResult));
};
/**
* @template T
@@ -25309,7 +25863,7 @@
* @return {?}
*/
JitCompiler.prototype.compileModuleAsync = function (moduleType) {
- return this._compileModuleAndComponents(moduleType, false).asyncResult;
+ return ((this._compileModuleAndComponents(moduleType, false).asyncResult));
};
/**
* @template T
@@ -25317,7 +25871,7 @@
* @return {?}
*/
JitCompiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {
- return this._compileModuleAndAllComponents(moduleType, true).syncResult;
+ return ((this._compileModuleAndAllComponents(moduleType, true).syncResult));
};
/**
* @template T
@@ -25325,7 +25879,7 @@
* @return {?}
*/
JitCompiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {
- return this._compileModuleAndAllComponents(moduleType, false).asyncResult;
+ return ((this._compileModuleAndAllComponents(moduleType, false).asyncResult));
};
/**
* @param {?} component
@@ -25337,7 +25891,7 @@
if (!template) {
throw new Error("The component " + _angular_core.ɵstringify(component) + " is not yet compiled!");
}
- return template.compMeta.template.ngContentSelectors;
+ return ((template.compMeta.template)).ngContentSelectors;
};
/**
* @template T
@@ -25388,7 +25942,7 @@
JitCompiler.prototype._loadModules = function (mainModule, isSync) {
var _this = this;
var /** @type {?} */ loadingPromises = [];
- var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);
+ var /** @type {?} */ ngModule = ((this._metadataResolver.getNgModuleMetadata(mainModule)));
// Note: the loadingPromise for a module only includes the loading of the exported directives
// of imported modules.
// However, for runtime compilation, we want to transitively compile all modules,
@@ -25405,9 +25959,9 @@
*/
JitCompiler.prototype._compileModule = function (moduleType) {
var _this = this;
- var /** @type {?} */ ngModuleFactory = this._compiledNgModuleCache.get(moduleType);
+ var /** @type {?} */ ngModuleFactory = ((this._compiledNgModuleCache.get(moduleType)));
if (!ngModuleFactory) {
- var /** @type {?} */ moduleMeta_1 = this._metadataResolver.getNgModuleMetadata(moduleType);
+ var /** @type {?} */ moduleMeta_1 = ((this._metadataResolver.getNgModuleMetadata(moduleType)));
// Always provide a bound Compiler
var /** @type {?} */ extraProviders = [this._metadataResolver.getProviderMetadata(new ProviderMeta(_angular_core.Compiler, { useFactory: function () { return new ModuleBoundCompiler(_this, moduleMeta_1.type.reference); } }))];
var /** @type {?} */ compileResult = this._ngModuleCompiler.compile(moduleMeta_1, extraProviders);
@@ -25430,11 +25984,11 @@
*/
JitCompiler.prototype._compileComponents = function (mainModule, allComponentFactories) {
var _this = this;
- var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);
+ var /** @type {?} */ ngModule = ((this._metadataResolver.getNgModuleMetadata(mainModule)));
var /** @type {?} */ moduleByDirective = new Map();
var /** @type {?} */ templates = new Set();
ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {
- var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference);
+ var /** @type {?} */ localModuleMeta = ((_this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference)));
localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {
moduleByDirective.set(dirIdentifier.reference, localModuleMeta);
var /** @type {?} */ dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);
@@ -25449,18 +26003,18 @@
});
});
ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {
- var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference);
+ var /** @type {?} */ localModuleMeta = ((_this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference)));
localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {
var /** @type {?} */ dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);
if (dirMeta.isComponent) {
dirMeta.entryComponents.forEach(function (entryComponentType) {
- var /** @type {?} */ moduleMeta = moduleByDirective.get(entryComponentType.componentType);
+ var /** @type {?} */ moduleMeta = ((moduleByDirective.get(entryComponentType.componentType)));
templates.add(_this._createCompiledHostTemplate(entryComponentType.componentType, moduleMeta));
});
}
});
localModuleMeta.entryComponents.forEach(function (entryComponentType) {
- var /** @type {?} */ moduleMeta = moduleByDirective.get(entryComponentType.componentType);
+ var /** @type {?} */ moduleMeta = ((moduleByDirective.get(entryComponentType.componentType)));
templates.add(_this._createCompiledHostTemplate(entryComponentType.componentType, moduleMeta));
});
});
@@ -25536,11 +26090,11 @@
var /** @type {?} */ compMeta = template.compMeta;
var /** @type {?} */ externalStylesheetsByModuleUrl = new Map();
var /** @type {?} */ stylesCompileResult = this._styleCompiler.compileComponent(compMeta);
- stylesCompileResult.externalStylesheets.forEach(function (r) { externalStylesheetsByModuleUrl.set(r.meta.moduleUrl, r); });
+ stylesCompileResult.externalStylesheets.forEach(function (r) { externalStylesheetsByModuleUrl.set(/** @type {?} */ ((r.meta.moduleUrl)), r); });
this._resolveStylesCompileResult(stylesCompileResult.componentStylesheet, externalStylesheetsByModuleUrl);
var /** @type {?} */ directives = template.directives.map(function (dir) { return _this._metadataResolver.getDirectiveSummary(dir.reference); });
var /** @type {?} */ pipes = template.ngModule.transitiveModule.pipes.map(function (pipe) { return _this._metadataResolver.getPipeSummary(pipe.reference); });
- var _a = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, template.ngModule.schemas, templateSourceUrl(template.ngModule.type, template.compMeta, template.compMeta.template)), parsedTemplate = _a.template, usedPipes = _a.pipes;
+ var _a = this._templateParser.parse(compMeta, /** @type {?} */ ((((compMeta.template)).template)), directives, pipes, template.ngModule.schemas, templateSourceUrl(template.ngModule.type, template.compMeta, /** @type {?} */ ((template.compMeta.template)))), parsedTemplate = _a.template, usedPipes = _a.pipes;
var /** @type {?} */ compileResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, variable(stylesCompileResult.componentStylesheet.stylesVar), usedPipes);
var /** @type {?} */ statements = stylesCompileResult.componentStylesheet.statements.concat(compileResult.statements);
var /** @type {?} */ viewClassAndRendererTypeVars = compMeta.isHost ?
@@ -25565,7 +26119,7 @@
JitCompiler.prototype._resolveStylesCompileResult = function (result, externalStylesheetsByModuleUrl) {
var _this = this;
result.dependencies.forEach(function (dep, i) {
- var /** @type {?} */ nestedCompileResult = externalStylesheetsByModuleUrl.get(dep.moduleUrl);
+ var /** @type {?} */ nestedCompileResult = ((externalStylesheetsByModuleUrl.get(dep.moduleUrl)));
var /** @type {?} */ nestedStylesArr = _this._resolveAndEvalStylesCompileResult(nestedCompileResult, externalStylesheetsByModuleUrl);
dep.valuePlaceholder.reference = nestedStylesArr;
});
@@ -25616,7 +26170,7 @@
this.compMeta = compMeta;
this.ngModule = ngModule;
this.directives = directives;
- this._viewClass = null;
+ this._viewClass = ((null));
this.isCompiled = false;
}
/**
@@ -25756,6 +26310,7 @@
return i18nParserResult.errors;
}
(_a = this._messages).push.apply(_a, i18nParserResult.messages);
+ return null;
var _a;
};
/**
@@ -25764,9 +26319,10 @@
MessageBundle.prototype.getMessages = function () { return this._messages; };
/**
* @param {?} serializer
+ * @param {?=} filterSources
* @return {?}
*/
- MessageBundle.prototype.write = function (serializer) {
+ MessageBundle.prototype.write = function (serializer, filterSources) {
var /** @type {?} */ messages = {};
var /** @type {?} */ mapperVisitor = new MapPlaceholderNames();
// Deduplicate messages based on their ID
@@ -25775,13 +26331,22 @@
if (!messages.hasOwnProperty(id)) {
messages[id] = message;
}
+ else {
+ (_a = messages[id].sources).push.apply(_a, message.sources);
+ }
+ var _a;
});
// Transform placeholder names using the serializer mapping
var /** @type {?} */ msgList = Object.keys(messages).map(function (id) {
var /** @type {?} */ mapper = serializer.createNameMapper(messages[id]);
var /** @type {?} */ src = messages[id];
var /** @type {?} */ nodes = mapper ? mapperVisitor.convert(src.nodes, mapper) : src.nodes;
- return new Message(nodes, {}, {}, src.meaning, src.description, id);
+ var /** @type {?} */ transformedMessage = new Message(nodes, {}, {}, src.meaning, src.description, id);
+ transformedMessage.sources = src.sources;
+ if (filterSources) {
+ transformedMessage.sources.forEach(function (source) { return source.filePath = filterSources(source.filePath); });
+ }
+ return transformedMessage;
});
return serializer.write(msgList, this._locale);
};
@@ -25808,8 +26373,8 @@
*/
MapPlaceholderNames.prototype.visitTagPlaceholder = function (ph, mapper) {
var _this = this;
- var /** @type {?} */ startName = mapper.toPublicName(ph.startName);
- var /** @type {?} */ closeName = ph.closeName ? mapper.toPublicName(ph.closeName) : ph.closeName;
+ var /** @type {?} */ startName = ((mapper.toPublicName(ph.startName)));
+ var /** @type {?} */ closeName = ph.closeName ? ((mapper.toPublicName(ph.closeName))) : ph.closeName;
var /** @type {?} */ children = ph.children.map(function (n) { return n.visit(_this, mapper); });
return new TagPlaceholder(ph.tag, ph.attrs, startName, closeName, children, ph.isVoid, ph.sourceSpan);
};
@@ -25819,7 +26384,7 @@
* @return {?}
*/
MapPlaceholderNames.prototype.visitPlaceholder = function (ph, mapper) {
- return new Placeholder(ph.value, mapper.toPublicName(ph.name), ph.sourceSpan);
+ return new Placeholder(ph.value, /** @type {?} */ ((mapper.toPublicName(ph.name))), ph.sourceSpan);
};
/**
* @param {?} ph
@@ -25827,7 +26392,7 @@
* @return {?}
*/
MapPlaceholderNames.prototype.visitIcuPlaceholder = function (ph, mapper) {
- return new IcuPlaceholder(ph.value, mapper.toPublicName(ph.name), ph.sourceSpan);
+ return new IcuPlaceholder(ph.value, /** @type {?} */ ((mapper.toPublicName(ph.name))), ph.sourceSpan);
};
return MapPlaceholderNames;
}(CloneVisitor));
@@ -25875,9 +26440,9 @@
}
});
compMetas.forEach(function (compMeta) {
- var /** @type {?} */ html = compMeta.template.template;
- var /** @type {?} */ interpolationConfig = InterpolationConfig.fromArray(compMeta.template.interpolation);
- errors.push.apply(errors, _this.messageBundle.updateFromTemplate(html, file.srcUrl, interpolationConfig));
+ var /** @type {?} */ html = ((((compMeta.template)).template));
+ var /** @type {?} */ interpolationConfig = InterpolationConfig.fromArray(/** @type {?} */ ((compMeta.template)).interpolation);
+ errors.push.apply(errors, ((_this.messageBundle.updateFromTemplate(html, file.srcUrl, interpolationConfig))));
});
});
if (errors.length) {
@@ -25897,7 +26462,7 @@
var /** @type {?} */ symbolCache = new StaticSymbolCache();
var /** @type {?} */ summaryResolver = new AotSummaryResolver(host, symbolCache);
var /** @type {?} */ staticSymbolResolver = new StaticSymbolResolver(host, symbolCache, summaryResolver);
- var /** @type {?} */ staticReflector = new StaticReflector(staticSymbolResolver);
+ var /** @type {?} */ staticReflector = new StaticReflector(summaryResolver, staticSymbolResolver);
StaticAndDynamicReflectionCapabilities.install(staticReflector);
var /** @type {?} */ config = new CompilerConfig({ defaultEncapsulation: _angular_core.ViewEncapsulation.Emulated, useJit: false });
var /** @type {?} */ normalizer = new DirectiveNormalizer({ get: function (url) { return host.loadResource(url); } }, urlResolver, htmlParser, config);
@@ -25934,6 +26499,17 @@
}
};
var baseHtmlParser = new _angular_core.InjectionToken('HtmlParser');
+ /**
+ * @param {?} parser
+ * @param {?} translations
+ * @param {?} format
+ * @param {?} config
+ * @param {?} console
+ * @return {?}
+ */
+ function i18nHtmlParserFactory(parser, translations, format, config, console) {
+ return new I18NHtmlParser(parser, translations, format, /** @type {?} */ ((config.missingTranslation)), console);
+ }
/**
* A set of providers that provide `JitCompiler` and its dependencies to use for
* template compilation.
@@ -25952,7 +26528,7 @@
},
{
provide: I18NHtmlParser,
- useFactory: function (parser, translations, format, config, console) { return new I18NHtmlParser(parser, translations, format, config.missingTranslation, console); },
+ useFactory: i18nHtmlParserFactory,
deps: [
baseHtmlParser,
[new _angular_core.Optional(), new _angular_core.Inject(_angular_core.TRANSLATIONS)],
@@ -26019,8 +26595,7 @@
});
},
deps: []
- },
- opts.providers
+ }, /** @type {?} */ ((opts.providers))
]);
return injector.get(_angular_core.Compiler);
};
@@ -26059,7 +26634,7 @@
return {
useJit: _lastDefined(optionsArr.map(function (options) { return options.useJit; })),
defaultEncapsulation: _lastDefined(optionsArr.map(function (options) { return options.defaultEncapsulation; })),
- providers: _mergeArrays(optionsArr.map(function (options) { return options.providers; })),
+ providers: _mergeArrays(optionsArr.map(function (options) { return ((options.providers)); })),
missingTranslation: _lastDefined(optionsArr.map(function (options) { return options.missingTranslation; })),
};
}
@@ -26205,6 +26780,7 @@
exports.unescapeIdentifier = unescapeIdentifier;
exports.AotSummaryResolver = AotSummaryResolver;
exports.SummaryResolver = SummaryResolver;
+ exports.i18nHtmlParserFactory = i18nHtmlParserFactory;
exports.COMPILER_PROVIDERS = COMPILER_PROVIDERS;
exports.JitCompilerFactory = JitCompilerFactory;
exports.platformCoreDynamic = platformCoreDynamic;
@@ -26220,6 +26796,7 @@
exports.MessageBundle = MessageBundle;
exports.Serializer = Serializer;
exports.Xliff = Xliff;
+ exports.Xliff2 = Xliff2;
exports.Xmb = Xmb;
exports.Xtb = Xtb;
exports.DirectiveNormalizer = DirectiveNormalizer;
@@ -26277,6 +26854,9 @@
exports.getHtmlTagDefinition = getHtmlTagDefinition;
exports.TagContentType = TagContentType;
exports.splitNsName = splitNsName;
+ exports.isNgContainer = isNgContainer;
+ exports.isNgContent = isNgContent;
+ exports.isNgTemplate = isNgTemplate;
exports.getNsPrefix = getNsPrefix;
exports.mergeNsAndName = mergeNsAndName;
exports.NAMED_ENTITIES = NAMED_ENTITIES;
@@ -26311,12 +26891,12 @@
//# sourceMappingURL=compiler.umd.js.map
-/***/ },
+/***/ }),
/* 4 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -26332,7 +26912,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -27184,7 +27764,7 @@
/**
* \@stable
*/
- var VERSION = new Version('4.0.1');
+ var VERSION = new Version('4.1.0');
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -34219,7 +34799,6 @@
insertBefore._prev._next = null;
}
this._removalsHead = insertBefore;
- this._removalsTail = insertBefore;
for (var /** @type {?} */ record = insertBefore; record !== null; record = record._nextRemoved) {
if (record === this._mapHead) {
this._mapHead = null;
@@ -34232,6 +34811,11 @@
record._next = null;
}
}
+ // Make sure tails have no next records from previous runs
+ if (this._changesTail)
+ this._changesTail._nextChanged = null;
+ if (this._additionsTail)
+ this._additionsTail._nextAdded = null;
return this.isDirty;
};
/**
@@ -34277,7 +34861,7 @@
*/
DefaultKeyValueDiffer.prototype._getOrCreateRecordForKey = function (key, value) {
if (this._records.has(key)) {
- var /** @type {?} */ record_1 = this._records.get(key);
+ var /** @type {?} */ record_1 = ((this._records.get(key)));
this._maybeAddToChanges(record_1, value);
var /** @type {?} */ prev = record_1._prev;
var /** @type {?} */ next = record_1._next;
@@ -34319,7 +34903,7 @@
}
this._changesHead = this._changesTail = null;
this._additionsHead = this._additionsTail = null;
- this._removalsHead = this._removalsTail = null;
+ this._removalsHead = null;
}
};
/**
@@ -34369,22 +34953,11 @@
var /** @type {?} */ changes = [];
var /** @type {?} */ additions = [];
var /** @type {?} */ removals = [];
- var /** @type {?} */ record;
- for (record = this._mapHead; record !== null; record = record._next) {
- items.push(stringify(record));
- }
- for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {
- previous.push(stringify(record));
- }
- for (record = this._changesHead; record !== null; record = record._nextChanged) {
- changes.push(stringify(record));
- }
- for (record = this._additionsHead; record !== null; record = record._nextAdded) {
- additions.push(stringify(record));
- }
- for (record = this._removalsHead; record !== null; record = record._nextRemoved) {
- removals.push(stringify(record));
- }
+ this.forEachItem(function (r) { return items.push(stringify(r)); });
+ this.forEachPreviousItem(function (r) { return previous.push(stringify(r)); });
+ this.forEachChangedItem(function (r) { return changes.push(stringify(r)); });
+ this.forEachAddedItem(function (r) { return additions.push(stringify(r)); });
+ this.forEachRemovedItem(function (r) { return removals.push(stringify(r)); });
return 'map: ' + items.join(', ') + '\n' +
'previous: ' + previous.join(', ') + '\n' +
'additions: ' + additions.join(', ') + '\n' +
@@ -35828,7 +36401,7 @@
* @return {?}
*/
function setElementStyle(view, binding, renderNode$$1, name, value) {
- var /** @type {?} */ renderValue = view.root.sanitizer.sanitize(SecurityContext.STYLE, value);
+ var /** @type {?} */ renderValue = view.root.sanitizer.sanitize(SecurityContext.STYLE, /** @type {?} */ (value));
if (renderValue != null) {
renderValue = renderValue.toString();
var /** @type {?} */ unit = binding.suffix;
@@ -36101,8 +36674,9 @@
*/
get: function () {
var /** @type {?} */ inputsArr = [];
- for (var /** @type {?} */ propName in this._inputs) {
- var /** @type {?} */ templateName = this._inputs[propName];
+ var /** @type {?} */ inputs = ((this._inputs));
+ for (var /** @type {?} */ propName in inputs) {
+ var /** @type {?} */ templateName = inputs[propName];
inputsArr.push({ propName: propName, templateName: templateName });
}
return inputsArr;
@@ -40475,9 +41049,9 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
-/***/ },
+/***/ }),
/* 5 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(6);
@@ -40619,9 +41193,9 @@
exports.Observable = Observable;
//# sourceMappingURL=Observable.js.map
-/***/ },
+/***/ }),
/* 6 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
/* WEBPACK VAR INJECTION */(function(global) {"use strict";
/**
@@ -40638,9 +41212,9 @@
//# sourceMappingURL=root.js.map
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
-/***/ },
+/***/ }),
/* 7 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Subscriber_1 = __webpack_require__(8);
@@ -40663,9 +41237,9 @@
exports.toSubscriber = toSubscriber;
//# sourceMappingURL=toSubscriber.js.map
-/***/ },
+/***/ }),
/* 8 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -40928,9 +41502,9 @@
}(Subscriber));
//# sourceMappingURL=Subscriber.js.map
-/***/ },
+/***/ }),
/* 9 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
function isFunction(x) {
@@ -40939,9 +41513,9 @@
exports.isFunction = isFunction;
//# sourceMappingURL=isFunction.js.map
-/***/ },
+/***/ }),
/* 10 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var isArray_1 = __webpack_require__(11);
@@ -41137,17 +41711,17 @@
}
//# sourceMappingURL=Subscription.js.map
-/***/ },
+/***/ }),
/* 11 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
exports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });
//# sourceMappingURL=isArray.js.map
-/***/ },
+/***/ }),
/* 12 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
function isObject(x) {
@@ -41156,9 +41730,9 @@
exports.isObject = isObject;
//# sourceMappingURL=isObject.js.map
-/***/ },
+/***/ }),
/* 13 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var errorObject_1 = __webpack_require__(14);
@@ -41180,18 +41754,18 @@
;
//# sourceMappingURL=tryCatch.js.map
-/***/ },
+/***/ }),
/* 14 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
// typeof any so that it we don't have to cast when comparing a result to the error object
exports.errorObject = { e: {} };
//# sourceMappingURL=errorObject.js.map
-/***/ },
+/***/ }),
/* 15 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -41219,9 +41793,9 @@
exports.UnsubscriptionError = UnsubscriptionError;
//# sourceMappingURL=UnsubscriptionError.js.map
-/***/ },
+/***/ }),
/* 16 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
exports.empty = {
@@ -41232,9 +41806,9 @@
};
//# sourceMappingURL=Observer.js.map
-/***/ },
+/***/ }),
/* 17 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(6);
@@ -41243,9 +41817,9 @@
Symbol.for('rxSubscriber') : '@@rxSubscriber';
//# sourceMappingURL=rxSubscriber.js.map
-/***/ },
+/***/ }),
/* 18 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(6);
@@ -41270,18 +41844,18 @@
exports.$$observable = getSymbolObservable(root_1.root);
//# sourceMappingURL=observable.js.map
-/***/ },
+/***/ }),
/* 19 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var merge_1 = __webpack_require__(20);
exports.merge = merge_1.mergeStatic;
//# sourceMappingURL=merge.js.map
-/***/ },
+/***/ }),
/* 20 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var ArrayObservable_1 = __webpack_require__(21);
@@ -41428,9 +42002,9 @@
exports.mergeStatic = mergeStatic;
//# sourceMappingURL=merge.js.map
-/***/ },
+/***/ }),
/* 21 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -41555,9 +42129,9 @@
exports.ArrayObservable = ArrayObservable;
//# sourceMappingURL=ArrayObservable.js.map
-/***/ },
+/***/ }),
/* 22 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -41618,9 +42192,9 @@
exports.ScalarObservable = ScalarObservable;
//# sourceMappingURL=ScalarObservable.js.map
-/***/ },
+/***/ }),
/* 23 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -41704,9 +42278,9 @@
exports.EmptyObservable = EmptyObservable;
//# sourceMappingURL=EmptyObservable.js.map
-/***/ },
+/***/ }),
/* 24 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
function isScheduler(value) {
@@ -41715,9 +42289,9 @@
exports.isScheduler = isScheduler;
//# sourceMappingURL=isScheduler.js.map
-/***/ },
+/***/ }),
/* 25 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -41831,9 +42405,9 @@
exports.MergeAllSubscriber = MergeAllSubscriber;
//# sourceMappingURL=mergeAll.js.map
-/***/ },
+/***/ }),
/* 26 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -41866,9 +42440,9 @@
exports.OuterSubscriber = OuterSubscriber;
//# sourceMappingURL=OuterSubscriber.js.map
-/***/ },
+/***/ }),
/* 27 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(6);
@@ -41949,9 +42523,9 @@
exports.subscribeToResult = subscribeToResult;
//# sourceMappingURL=subscribeToResult.js.map
-/***/ },
+/***/ }),
/* 28 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
function isPromise(value) {
@@ -41960,9 +42534,9 @@
exports.isPromise = isPromise;
//# sourceMappingURL=isPromise.js.map
-/***/ },
+/***/ }),
/* 29 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(6);
@@ -41999,9 +42573,9 @@
exports.$$iterator = symbolIteratorPonyfill(root_1.root);
//# sourceMappingURL=iterator.js.map
-/***/ },
+/***/ }),
/* 30 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -42040,9 +42614,9 @@
exports.InnerSubscriber = InnerSubscriber;
//# sourceMappingURL=InnerSubscriber.js.map
-/***/ },
+/***/ }),
/* 31 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var multicast_1 = __webpack_require__(32);
@@ -42069,9 +42643,9 @@
;
//# sourceMappingURL=share.js.map
-/***/ },
+/***/ }),
/* 32 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var ConnectableObservable_1 = __webpack_require__(33);
@@ -42131,9 +42705,9 @@
exports.MulticastOperator = MulticastOperator;
//# sourceMappingURL=multicast.js.map
-/***/ },
+/***/ }),
/* 33 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -42298,9 +42872,9 @@
}(Subscriber_1.Subscriber));
//# sourceMappingURL=ConnectableObservable.js.map
-/***/ },
+/***/ }),
/* 34 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -42471,9 +43045,9 @@
exports.AnonymousSubject = AnonymousSubject;
//# sourceMappingURL=Subject.js.map
-/***/ },
+/***/ }),
/* 35 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -42503,9 +43077,9 @@
exports.ObjectUnsubscribedError = ObjectUnsubscribedError;
//# sourceMappingURL=ObjectUnsubscribedError.js.map
-/***/ },
+/***/ }),
/* 36 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -42548,12 +43122,12 @@
exports.SubjectSubscription = SubjectSubscription;
//# sourceMappingURL=SubjectSubscription.js.map
-/***/ },
+/***/ }),
/* 37 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -42569,7 +43143,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -42627,30 +43201,21 @@
* @return {?}
*/
PlatformLocation.prototype.onHashChange = function (fn) { };
- Object.defineProperty(PlatformLocation.prototype, "pathname", {
- /**
- * @return {?}
- */
- get: function () { return null; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(PlatformLocation.prototype, "search", {
- /**
- * @return {?}
- */
- get: function () { return null; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(PlatformLocation.prototype, "hash", {
- /**
- * @return {?}
- */
- get: function () { return null; },
- enumerable: true,
- configurable: true
- });
+ /**
+ * @abstract
+ * @return {?}
+ */
+ PlatformLocation.prototype.pathname = function () { };
+ /**
+ * @abstract
+ * @return {?}
+ */
+ PlatformLocation.prototype.search = function () { };
+ /**
+ * @abstract
+ * @return {?}
+ */
+ PlatformLocation.prototype.hash = function () { };
/**
* @abstract
* @param {?} state
@@ -42919,8 +43484,6 @@
* @return {?}
*/
Location.prototype.subscribe = function (onNext, onThrow, onReturn) {
- if (onThrow === void 0) { onThrow = null; }
- if (onReturn === void 0) { onReturn = null; }
return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });
};
/**
@@ -44292,7 +44855,7 @@
var /** @type {?} */ insertTuples = [];
changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {
if (item.previousIndex == null) {
- var /** @type {?} */ view = _this._viewContainer.createEmbeddedView(_this._template, new NgForOfContext(null, _this.ngForOf, null, null), currentIndex);
+ var /** @type {?} */ view = _this._viewContainer.createEmbeddedView(_this._template, new NgForOfContext(/** @type {?} */ ((null)), _this.ngForOf, -1, -1), currentIndex);
var /** @type {?} */ tuple = new RecordViewTuple(item, view);
insertTuples.push(tuple);
}
@@ -44300,7 +44863,7 @@
_this._viewContainer.remove(adjustedPreviousIndex);
}
else {
- var /** @type {?} */ view = _this._viewContainer.get(adjustedPreviousIndex);
+ var /** @type {?} */ view = ((_this._viewContainer.get(adjustedPreviousIndex)));
_this._viewContainer.move(view, currentIndex);
var /** @type {?} */ tuple = new RecordViewTuple(item, /** @type {?} */ (view));
insertTuples.push(tuple);
@@ -45289,7 +45852,7 @@
this._latestReturnedValue = null;
this._subscription = null;
this._obj = null;
- this._strategy = null;
+ this._strategy = ((null));
}
/**
* @return {?}
@@ -45348,7 +45911,7 @@
* @return {?}
*/
AsyncPipe.prototype._dispose = function () {
- this._strategy.dispose(this._subscription);
+ this._strategy.dispose(/** @type {?} */ ((this._subscription)));
this._latestValue = null;
this._latestReturnedValue = null;
this._subscription = null;
@@ -45510,7 +46073,7 @@
style: NumberFormatStyle[style].toLowerCase()
};
if (style == NumberFormatStyle.Currency) {
- options.currency = currency;
+ options.currency = typeof currency == 'string' ? currency : undefined;
options.currencyDisplay = currencyAsSymbol ? 'symbol' : 'code';
}
return new Intl.NumberFormat(locale, options).format(num);
@@ -45696,15 +46259,16 @@
parts = [];
var /** @type {?} */ match = void 0;
DATE_FORMATS_SPLIT.exec(format);
- while (format) {
- match = DATE_FORMATS_SPLIT.exec(format);
+ var /** @type {?} */ _format = format;
+ while (_format) {
+ match = DATE_FORMATS_SPLIT.exec(_format);
if (match) {
parts = parts.concat(match.slice(1));
- format = parts.pop();
+ _format = ((parts.pop()));
}
else {
- parts.push(format);
- format = null;
+ parts.push(_format);
+ _format = null;
}
}
DATE_FORMATTER_CACHE.set(cacheKey, parts);
@@ -45748,7 +46312,7 @@
* @param {?} locale
* @param {?} value
* @param {?} style
- * @param {?} digits
+ * @param {?=} digits
* @param {?=} currency
* @param {?=} currencyAsSymbol
* @return {?}
@@ -45763,9 +46327,9 @@
if (typeof value !== 'number') {
throw invalidPipeArgumentError(pipe, value);
}
- var /** @type {?} */ minInt;
- var /** @type {?} */ minFraction;
- var /** @type {?} */ maxFraction;
+ var /** @type {?} */ minInt = undefined;
+ var /** @type {?} */ minFraction = undefined;
+ var /** @type {?} */ maxFraction = undefined;
if (style !== NumberFormatStyle.Currency) {
// rely on Intl default for currency
minInt = 1;
@@ -45835,7 +46399,6 @@
* @return {?}
*/
DecimalPipe.prototype.transform = function (value, digits) {
- if (digits === void 0) { digits = null; }
return formatNumber(DecimalPipe, this._locale, value, NumberFormatStyle.Decimal, digits);
};
return DecimalPipe;
@@ -45882,7 +46445,6 @@
* @return {?}
*/
PercentPipe.prototype.transform = function (value, digits) {
- if (digits === void 0) { digits = null; }
return formatNumber(PercentPipe, this._locale, value, NumberFormatStyle.Percent, digits);
};
return PercentPipe;
@@ -45937,7 +46499,6 @@
CurrencyPipe.prototype.transform = function (value, currencyCode, symbolDisplay, digits) {
if (currencyCode === void 0) { currencyCode = 'USD'; }
if (symbolDisplay === void 0) { symbolDisplay = false; }
- if (digits === void 0) { digits = null; }
return formatNumber(CurrencyPipe, this._locale, value, NumberFormatStyle.Currency, digits, currencyCode, symbolDisplay);
};
return CurrencyPipe;
@@ -46518,7 +47079,7 @@
/**
* \@stable
*/
- var VERSION = new _angular_core.Version('4.0.1');
+ var VERSION = new _angular_core.Version('4.1.0');
exports.NgLocaleLocalization = NgLocaleLocalization;
exports.NgLocalization = NgLocalization;
@@ -46574,12 +47135,12 @@
//# sourceMappingURL=common.umd.js.map
-/***/ },
+/***/ }),
/* 38 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -46595,7 +47156,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -46606,7 +47167,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var _DOM = null;
+ var _DOM = ((null));
/**
* @return {?}
*/
@@ -46635,7 +47196,7 @@
*/
var DomAdapter = (function () {
function DomAdapter() {
- this.resourceLoaderType = null;
+ this.resourceLoaderType = ((null));
}
/**
* @abstract
@@ -48052,7 +48613,6 @@
* @return {?}
*/
BrowserDomAdapter.prototype.hasStyle = function (element, styleName, styleValue) {
- if (styleValue === void 0) { styleValue = null; }
var /** @type {?} */ value = this.getStyle(element, styleName) || '';
return styleValue ? value == styleValue : value.length > 0;
};
@@ -48277,6 +48837,7 @@
if (target === 'body') {
return document.body;
}
+ return null;
};
/**
* @return {?}
@@ -48372,7 +48933,7 @@
*/
function getBaseElementHref() {
if (!baseElement) {
- baseElement = document.querySelector('base');
+ baseElement = ((document.querySelector('base')));
if (!baseElement) {
return null;
}
@@ -48420,7 +48981,7 @@
var /** @type {?} */ parts = path.split('.');
var /** @type {?} */ obj = global;
while (parts.length > 1) {
- var /** @type {?} */ name = parts.shift();
+ var /** @type {?} */ name = ((parts.shift()));
if (obj.hasOwnProperty(name) && obj[name] != null) {
obj = obj[name];
}
@@ -48431,7 +48992,7 @@
if (obj === undefined || obj === null) {
obj = {};
}
- obj[parts.shift()] = value;
+ obj[((parts.shift()))] = value;
}
/**
* @license
@@ -48502,7 +49063,7 @@
/**
* @return {?}
*/
- BrowserPlatformLocation.prototype.getBaseHrefFromDOM = function () { return getDOM().getBaseHref(this._doc); };
+ BrowserPlatformLocation.prototype.getBaseHrefFromDOM = function () { return ((getDOM().getBaseHref(this._doc))); };
/**
* @param {?} fn
* @return {?}
@@ -48669,7 +49230,7 @@
if (!tag)
return null;
selector = selector || this._parseSelector(tag);
- var /** @type {?} */ meta = this.getTag(selector);
+ var /** @type {?} */ meta = ((this.getTag(selector)));
if (meta) {
return this._setMetaElementAttributes(tag, meta);
}
@@ -48679,7 +49240,7 @@
* @param {?} attrSelector
* @return {?}
*/
- Meta.prototype.removeTag = function (attrSelector) { this.removeTagElement(this.getTag(attrSelector)); };
+ Meta.prototype.removeTag = function (attrSelector) { this.removeTagElement(/** @type {?} */ ((this.getTag(attrSelector)))); };
/**
* @param {?} meta
* @return {?}
@@ -48698,7 +49259,7 @@
if (forceCreation === void 0) { forceCreation = false; }
if (!forceCreation) {
var /** @type {?} */ selector = this._parseSelector(meta);
- var /** @type {?} */ elem = this.getTag(selector);
+ var /** @type {?} */ elem = ((this.getTag(selector)));
// It's allowed to have multiple elements with the same name so it's not enough to
// just check that element with the same name already present on the page. We also need to
// check if element has tag attributes
@@ -49862,7 +50423,7 @@
* @return {?}
*/
KeyEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {
- var /** @type {?} */ parsedEvent = KeyEventsPlugin.parseEventName(eventName);
+ var /** @type {?} */ parsedEvent = ((KeyEventsPlugin.parseEventName(eventName)));
var /** @type {?} */ outsideHandler = KeyEventsPlugin.eventCallback(parsedEvent['fullKey'], handler, this.manager.getZone());
return this.manager.getZone().runOutsideAngular(function () {
return getDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler);
@@ -49878,7 +50439,7 @@
if ((parts.length === 0) || !(domEventName === 'keydown' || domEventName === 'keyup')) {
return null;
}
- var /** @type {?} */ key = KeyEventsPlugin._normalizeKey(parts.pop());
+ var /** @type {?} */ key = KeyEventsPlugin._normalizeKey(/** @type {?} */ ((parts.pop())));
var /** @type {?} */ fullKey = '';
MODIFIER_KEYS.forEach(function (modifierName) {
var /** @type {?} */ index = parts.indexOf(modifierName);
@@ -50027,7 +50588,7 @@
/** A element that can be safely used to parse untrusted HTML. Lazily initialized below. */
var inertElement = null;
/** Lazily initialized to make sure the DOM adapter gets set before use. */
- var DOM = null;
+ var DOM = ((null));
/**
* Returns an HTML element that is guaranteed to not execute code when creating elements in it.
* @return {?}
@@ -50136,20 +50697,20 @@
// This cannot use a TreeWalker, as it has to run on Angular's various DOM adapters.
// However this code never accesses properties off of `document` before deleting its contents
// again, so it shouldn't be vulnerable to DOM clobbering.
- var /** @type {?} */ current = el.firstChild;
+ var /** @type {?} */ current = ((el.firstChild));
while (current) {
if (DOM.isElementNode(current)) {
this.startElement(/** @type {?} */ (current));
}
else if (DOM.isTextNode(current)) {
- this.chars(DOM.nodeValue(current));
+ this.chars(/** @type {?} */ ((DOM.nodeValue(current))));
}
else {
// Strip non-element, non-text nodes.
this.sanitizedSomething = true;
}
if (DOM.firstChild(current)) {
- current = DOM.firstChild(current);
+ current = ((DOM.firstChild(current)));
continue;
}
while (current) {
@@ -50157,12 +50718,12 @@
if (DOM.isElementNode(current)) {
this.endElement(/** @type {?} */ (current));
}
- var /** @type {?} */ next = checkClobberedElement(current, DOM.nextSibling(current));
+ var /** @type {?} */ next = checkClobberedElement(current, /** @type {?} */ ((DOM.nextSibling(current))));
if (next) {
current = next;
break;
}
- current = checkClobberedElement(current, DOM.parentElement(current));
+ current = checkClobberedElement(current, /** @type {?} */ ((DOM.parentElement(current))));
}
}
return this.buf.join('');
@@ -50546,7 +51107,7 @@
return null;
switch (ctx) {
case _angular_core.SecurityContext.NONE:
- return value;
+ return (value);
case _angular_core.SecurityContext.HTML:
if (value instanceof SafeHtmlImpl)
return value.changingThisBreaksApplicationSecurity;
@@ -50556,7 +51117,7 @@
if (value instanceof SafeStyleImpl)
return value.changingThisBreaksApplicationSecurity;
this.checkNotSafeValue(value, 'Style');
- return sanitizeStyle(value);
+ return sanitizeStyle(/** @type {?} */ (value));
case _angular_core.SecurityContext.SCRIPT:
if (value instanceof SafeScriptImpl)
return value.changingThisBreaksApplicationSecurity;
@@ -50988,7 +51549,7 @@
* @return {?}
*/
By.directive = function (type) {
- return function (debugElement) { return debugElement.providerTokens.indexOf(type) !== -1; };
+ return function (debugElement) { return ((debugElement.providerTokens)).indexOf(type) !== -1; };
};
return By;
}());
@@ -51014,7 +51575,7 @@
/**
* \@stable
*/
- var VERSION = new _angular_core.Version('4.0.1');
+ var VERSION = new _angular_core.Version('4.1.0');
exports.BrowserModule = BrowserModule;
exports.platformBrowser = platformBrowser;
@@ -51068,13 +51629,13 @@
//# sourceMappingURL=platform-browser.umd.js.map
-/***/ },
+/***/ }),
/* 39 */,
/* 40 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -51090,7 +51651,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -51348,7 +51909,7 @@
this._headers.forEach(function (values, name) {
var /** @type {?} */ split = [];
values.forEach(function (v) { return split.push.apply(split, v.split(',')); });
- serialized[_this._normalizedNames.get(name)] = split;
+ serialized[((_this._normalizedNames.get(name)))] = split;
});
return serialized;
};
@@ -51358,7 +51919,7 @@
* @return {?}
*/
Headers.prototype.getAll = function (name) {
- return this.has(name) ? this._headers.get(name.toLowerCase()) : null;
+ return this.has(name) ? this._headers.get(name.toLowerCase()) || null : null;
};
/**
* This method is not implemented.
@@ -51623,7 +52184,7 @@
if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
return xhr.getResponseHeader('X-Request-URL');
}
- return;
+ return null;
}
/**
* @param {?} input
@@ -52566,7 +53127,7 @@
});
};
/**
- * @param {?} params
+ * @param {?=} params
* @return {?}
*/
RequestOptions.prototype._mergeSearchParams = function (params) {
@@ -52847,7 +53408,7 @@
var /** @type {?} */ newOptions = defaultOpts;
if (providedOpts) {
// Hack so Dart can used named parameters
- return newOptions.merge(new RequestOptions({
+ return (newOptions.merge(new RequestOptions({
method: providedOpts.method || method,
url: providedOpts.url || url,
search: providedOpts.search,
@@ -52856,9 +53417,9 @@
body: providedOpts.body,
withCredentials: providedOpts.withCredentials,
responseType: providedOpts.responseType
- }));
+ })));
}
- return newOptions.merge(new RequestOptions({ method: method, url: url }));
+ return (newOptions.merge(new RequestOptions({ method: method, url: url })));
}
/**
* Performs http requests using `XMLHttpRequest` as the default backend.
@@ -53192,7 +53753,7 @@
/**
* \@stable
*/
- var VERSION = new _angular_core.Version('4.0.1');
+ var VERSION = new _angular_core.Version('4.1.0');
exports.BrowserXhr = BrowserXhr;
exports.JSONPBackend = JSONPBackend;
@@ -53234,12 +53795,12 @@
//# sourceMappingURL=http.umd.js.map
-/***/ },
+/***/ }),
/* 41 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -53255,7 +53816,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -53277,14 +53838,11 @@
var AbstractControlDirective = (function () {
function AbstractControlDirective() {
}
- Object.defineProperty(AbstractControlDirective.prototype, "control", {
- /**
- * @return {?}
- */
- get: function () { throw new Error('unimplemented'); },
- enumerable: true,
- configurable: true
- });
+ /**
+ * @abstract
+ * @return {?}
+ */
+ AbstractControlDirective.prototype.control = function () { };
Object.defineProperty(AbstractControlDirective.prototype, "value", {
/**
* @return {?}
@@ -53377,7 +53935,9 @@
/**
* @return {?}
*/
- get: function () { return this.control ? this.control.statusChanges : null; },
+ get: function () {
+ return this.control ? this.control.statusChanges : null;
+ },
enumerable: true,
configurable: true
});
@@ -53385,7 +53945,9 @@
/**
* @return {?}
*/
- get: function () { return this.control ? this.control.valueChanges : null; },
+ get: function () {
+ return this.control ? this.control.valueChanges : null;
+ },
enumerable: true,
configurable: true
});
@@ -53412,7 +53974,6 @@
* @return {?}
*/
AbstractControlDirective.prototype.hasError = function (errorCode, path) {
- if (path === void 0) { path = null; }
return this.control ? this.control.hasError(errorCode, path) : false;
};
/**
@@ -53421,7 +53982,6 @@
* @return {?}
*/
AbstractControlDirective.prototype.getError = function (errorCode, path) {
- if (path === void 0) { path = null; }
return this.control ? this.control.getError(errorCode, path) : null;
};
return AbstractControlDirective;
@@ -53439,6 +53999,7 @@
* Only used by the forms module.
*
* \@stable
+ * @abstract
*/
var ControlContainer = (function (_super) {
__extends(ControlContainer, _super);
@@ -53616,15 +54177,13 @@
*/
Validators.nullValidator = function (c) { return null; };
/**
- * Compose multiple validators into a single function that returns the union
- * of the individual error maps.
* @param {?} validators
* @return {?}
*/
Validators.compose = function (validators) {
if (!validators)
return null;
- var /** @type {?} */ presentValidators = validators.filter(isPresent);
+ var /** @type {?} */ presentValidators = (validators.filter(isPresent));
if (presentValidators.length == 0)
return null;
return function (control) {
@@ -53638,7 +54197,7 @@
Validators.composeAsync = function (validators) {
if (!validators)
return null;
- var /** @type {?} */ presentValidators = validators.filter(isPresent);
+ var /** @type {?} */ presentValidators = (validators.filter(isPresent));
if (presentValidators.length == 0)
return null;
return function (control) {
@@ -53688,7 +54247,7 @@
*/
function _mergeErrors(arrayOfErrors) {
var /** @type {?} */ res = arrayOfErrors.reduce(function (res, errors) {
- return errors != null ? __assign({}, res, errors) : res;
+ return errors != null ? __assign({}, /** @type {?} */ ((res)), errors) : ((res));
}, {});
return Object.keys(res).length === 0 ? null : res;
}
@@ -54831,7 +55390,7 @@
SelectMultipleControlValueAccessor.prototype._getOptionId = function (value) {
for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {
var id = _a[_i];
- if (this._compareWith(this._optionMap.get(id)._value, value))
+ if (this._compareWith(/** @type {?} */ ((this._optionMap.get(id)))._value, value))
return id;
}
return null;
@@ -54843,7 +55402,7 @@
*/
SelectMultipleControlValueAccessor.prototype._getOptionValue = function (valueString) {
var /** @type {?} */ id = _extractId$1(valueString);
- return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
+ return this._optionMap.has(id) ? ((this._optionMap.get(id)))._value : valueString;
};
return SelectMultipleControlValueAccessor;
}());
@@ -54977,7 +55536,7 @@
* @return {?}
*/
function controlPath(name, parent) {
- return parent.path.concat([name]);
+ return ((parent.path)).concat([name]);
}
/**
* @param {?} control
@@ -54989,35 +55548,38 @@
_throwError(dir, 'Cannot find control with');
if (!dir.valueAccessor)
_throwError(dir, 'No value accessor for form control with');
- control.validator = Validators.compose([control.validator, dir.validator]);
- control.asyncValidator = Validators.composeAsync([control.asyncValidator, dir.asyncValidator]);
- dir.valueAccessor.writeValue(control.value);
+ control.validator = Validators.compose([/** @type {?} */ ((control.validator)), dir.validator]);
+ control.asyncValidator = Validators.composeAsync([/** @type {?} */ ((control.asyncValidator)), dir.asyncValidator]); /** @type {?} */
+ ((dir.valueAccessor)).writeValue(control.value); /** @type {?} */
+ ((
// view -> model
- dir.valueAccessor.registerOnChange(function (newValue) {
+ dir.valueAccessor)).registerOnChange(function (newValue) {
dir.viewToModelUpdate(newValue);
control.markAsDirty();
control.setValue(newValue, { emitModelToViewChange: false });
- });
+ }); /** @type {?} */
+ ((
// touched
- dir.valueAccessor.registerOnTouched(function () { return control.markAsTouched(); });
+ dir.valueAccessor)).registerOnTouched(function () { return control.markAsTouched(); });
control.registerOnChange(function (newValue, emitModelEvent) {
+ ((
// control -> view
- dir.valueAccessor.writeValue(newValue);
+ dir.valueAccessor)).writeValue(newValue);
// control -> ngModel
if (emitModelEvent)
dir.viewToModelUpdate(newValue);
});
- if (dir.valueAccessor.setDisabledState) {
- control.registerOnDisabledChange(function (isDisabled) { dir.valueAccessor.setDisabledState(isDisabled); });
+ if (((dir.valueAccessor)).setDisabledState) {
+ control.registerOnDisabledChange(function (isDisabled) { /** @type {?} */ ((((dir.valueAccessor)).setDisabledState))(isDisabled); });
}
// re-run validation when validator binding changes, e.g. minlength=3 -> minlength=4
dir._rawValidators.forEach(function (validator) {
if (((validator)).registerOnValidatorChange)
- ((validator)).registerOnValidatorChange(function () { return control.updateValueAndValidity(); });
+ ((((validator)).registerOnValidatorChange))(function () { return control.updateValueAndValidity(); });
});
dir._rawAsyncValidators.forEach(function (validator) {
if (((validator)).registerOnValidatorChange)
- ((validator)).registerOnValidatorChange(function () { return control.updateValueAndValidity(); });
+ ((((validator)).registerOnValidatorChange))(function () { return control.updateValueAndValidity(); });
});
}
/**
@@ -55026,8 +55588,8 @@
* @return {?}
*/
function cleanUpControl(control, dir) {
- dir.valueAccessor.registerOnChange(function () { return _noControlError(dir); });
- dir.valueAccessor.registerOnTouched(function () { return _noControlError(dir); });
+ ((dir.valueAccessor)).registerOnChange(function () { return _noControlError(dir); }); /** @type {?} */
+ ((dir.valueAccessor)).registerOnTouched(function () { return _noControlError(dir); });
dir._rawValidators.forEach(function (validator) {
if (validator.registerOnValidatorChange) {
validator.registerOnValidatorChange(null);
@@ -55066,10 +55628,10 @@
*/
function _throwError(dir, message) {
var /** @type {?} */ messageEnd;
- if (dir.path.length > 1) {
- messageEnd = "path: '" + dir.path.join(' -> ') + "'";
+ if (((dir.path)).length > 1) {
+ messageEnd = "path: '" + ((dir.path)).join(' -> ') + "'";
}
- else if (dir.path[0]) {
+ else if (((dir.path))[0]) {
messageEnd = "name: '" + dir.path + "'";
}
else {
@@ -55128,9 +55690,9 @@
function selectValueAccessor(dir, valueAccessors) {
if (!valueAccessors)
return null;
- var /** @type {?} */ defaultAccessor;
- var /** @type {?} */ builtinAccessor;
- var /** @type {?} */ customAccessor;
+ var /** @type {?} */ defaultAccessor = undefined;
+ var /** @type {?} */ builtinAccessor = undefined;
+ var /** @type {?} */ customAccessor = undefined;
valueAccessors.forEach(function (v) {
if (v.constructor === DefaultValueAccessor) {
defaultAccessor = v;
@@ -55176,8 +55738,8 @@
* @return {?}
*/
AbstractFormGroupDirective.prototype.ngOnInit = function () {
- this._checkParentType();
- this.formDirective.addFormGroup(this);
+ this._checkParentType(); /** @type {?} */
+ ((this.formDirective)).addFormGroup(this);
};
/**
* @return {?}
@@ -55192,7 +55754,7 @@
* Get the {\@link FormGroup} backing this binding.
* @return {?}
*/
- get: function () { return this.formDirective.getFormGroup(this); },
+ get: function () { return ((this.formDirective)).getFormGroup(this); },
enumerable: true,
configurable: true
});
@@ -55226,7 +55788,9 @@
/**
* @return {?}
*/
- get: function () { return composeAsyncValidators(this._asyncValidators); },
+ get: function () {
+ return composeAsyncValidators(this._asyncValidators);
+ },
enumerable: true,
configurable: true
});
@@ -55421,18 +55985,19 @@
}, control);
}
/**
- * @param {?} validator
+ * @param {?=} validator
* @return {?}
*/
function coerceToValidator(validator) {
- return Array.isArray(validator) ? composeValidators(validator) : validator;
+ return Array.isArray(validator) ? composeValidators(validator) : validator || null;
}
/**
- * @param {?} asyncValidator
+ * @param {?=} asyncValidator
* @return {?}
*/
function coerceToAsyncValidator(asyncValidator) {
- return Array.isArray(asyncValidator) ? composeAsyncValidators(asyncValidator) : asyncValidator;
+ return Array.isArray(asyncValidator) ? composeAsyncValidators(asyncValidator) :
+ asyncValidator || null;
}
/**
* \@whatItDoes This is the base class for {\@link FormControl}, {\@link FormGroup}, and
@@ -55760,7 +56325,7 @@
this._valueChanges.emit(this._value);
this._statusChanges.emit(this._status);
}
- this._updateAncestors(onlySelf);
+ this._updateAncestors(!!onlySelf);
this._onDisabledChange.forEach(function (changeFn) { return changeFn(true); });
};
/**
@@ -55777,7 +56342,7 @@
this._status = VALID;
this._forEachChild(function (control) { control.enable({ onlySelf: true }); });
this.updateValueAndValidity({ onlySelf: true, emitEvent: emitEvent });
- this._updateAncestors(onlySelf);
+ this._updateAncestors(!!onlySelf);
this._onDisabledChange.forEach(function (changeFn) { return changeFn(false); });
};
/**
@@ -55868,7 +56433,7 @@
return this.validator ? this.validator(this) : null;
};
/**
- * @param {?} emitEvent
+ * @param {?=} emitEvent
* @return {?}
*/
AbstractControl.prototype._runAsyncValidator = function (emitEvent) {
@@ -55945,7 +56510,6 @@
* @return {?}
*/
AbstractControl.prototype.getError = function (errorCode, path) {
- if (path === void 0) { path = null; }
var /** @type {?} */ control = path ? this.get(path) : this;
return control && control._errors ? control._errors[errorCode] : null;
};
@@ -55958,10 +56522,7 @@
* @param {?=} path
* @return {?}
*/
- AbstractControl.prototype.hasError = function (errorCode, path) {
- if (path === void 0) { path = null; }
- return !!this.getError(errorCode, path);
- };
+ AbstractControl.prototype.hasError = function (errorCode, path) { return !!this.getError(errorCode, path); };
Object.defineProperty(AbstractControl.prototype, "root", {
/**
* Retrieves the top-level ancestor of this control.
@@ -56154,8 +56715,6 @@
*/
function FormControl(formState, validator, asyncValidator) {
if (formState === void 0) { formState = null; }
- if (validator === void 0) { validator = null; }
- if (asyncValidator === void 0) { asyncValidator = null; }
var _this = _super.call(this, coerceToValidator(validator), coerceToAsyncValidator(asyncValidator)) || this;
/**
* \@internal
@@ -56369,9 +56928,7 @@
* @param {?=} asyncValidator
*/
function FormGroup(controls, validator, asyncValidator) {
- if (validator === void 0) { validator = null; }
- if (asyncValidator === void 0) { asyncValidator = null; }
- var _this = _super.call(this, validator, asyncValidator) || this;
+ var _this = _super.call(this, validator || null, asyncValidator || null) || this;
_this.controls = controls;
_this._initObservables();
_this._setUpControls();
@@ -56725,9 +57282,7 @@
* @param {?=} asyncValidator
*/
function FormArray(controls, validator, asyncValidator) {
- if (validator === void 0) { validator = null; }
- if (asyncValidator === void 0) { asyncValidator = null; }
- var _this = _super.call(this, validator, asyncValidator) || this;
+ var _this = _super.call(this, validator || null, asyncValidator || null) || this;
_this.controls = controls;
_this._initObservables();
_this._setUpControls();
@@ -57172,7 +57727,7 @@
NgForm.prototype.updateModel = function (dir, value) {
var _this = this;
resolvedPromise.then(function () {
- var /** @type {?} */ ctrl = (_this.form.get(dir.path));
+ var /** @type {?} */ ctrl = (_this.form.get(/** @type {?} */ ((dir.path))));
ctrl.setValue(value);
});
};
@@ -57551,7 +58106,7 @@
* @return {?}
*/
NgModel.prototype._isStandalone = function () {
- return !this._parent || (this.options && this.options.standalone);
+ return !this._parent || !!(this.options && this.options.standalone);
};
/**
* @return {?}
@@ -57773,8 +58328,8 @@
FormControlDirective.prototype.ngOnChanges = function (changes) {
if (this._isControlChanged(changes)) {
setUpControl(this.form, this);
- if (this.control.disabled && this.valueAccessor.setDisabledState) {
- this.valueAccessor.setDisabledState(true);
+ if (this.control.disabled && ((this.valueAccessor)).setDisabledState) {
+ ((((this.valueAccessor)).setDisabledState))(true);
}
this.form.updateValueAndValidity({ emitEvent: false });
}
@@ -57909,7 +58464,7 @@
_this._asyncValidators = _asyncValidators;
_this._submitted = false;
_this.directives = [];
- _this.form = null;
+ _this.form = ((null));
_this.ngSubmit = new _angular_core.EventEmitter();
return _this;
}
@@ -58079,9 +58634,9 @@
*/
FormGroupDirective.prototype._updateValidators = function () {
var /** @type {?} */ sync = composeValidators(this._validators);
- this.form.validator = Validators.compose([this.form.validator, sync]);
+ this.form.validator = Validators.compose([/** @type {?} */ ((this.form.validator)), /** @type {?} */ ((sync))]);
var /** @type {?} */ async = composeAsyncValidators(this._asyncValidators);
- this.form.asyncValidator = Validators.composeAsync([this.form.asyncValidator, async]);
+ this.form.asyncValidator = Validators.composeAsync([/** @type {?} */ ((this.form.asyncValidator)), /** @type {?} */ ((async))]);
};
/**
* @return {?}
@@ -58287,8 +58842,8 @@
* @return {?}
*/
FormArrayName.prototype.ngOnInit = function () {
- this._checkParentType();
- this.formDirective.addFormArray(this);
+ this._checkParentType(); /** @type {?} */
+ ((this.formDirective)).addFormArray(this);
};
/**
* @return {?}
@@ -58302,7 +58857,7 @@
/**
* @return {?}
*/
- get: function () { return this.formDirective.getFormArray(this); },
+ get: function () { return ((this.formDirective)).getFormArray(this); },
enumerable: true,
configurable: true
});
@@ -58336,7 +58891,9 @@
/**
* @return {?}
*/
- get: function () { return composeAsyncValidators(this._asyncValidators); },
+ get: function () {
+ return composeAsyncValidators(this._asyncValidators);
+ },
enumerable: true,
configurable: true
});
@@ -58493,7 +59050,7 @@
/**
* @return {?}
*/
- get: function () { return controlPath(this.name, this._parent); },
+ get: function () { return controlPath(this.name, /** @type {?} */ ((this._parent))); },
enumerable: true,
configurable: true
});
@@ -58518,7 +59075,7 @@
* @return {?}
*/
get: function () {
- return composeAsyncValidators(this._rawAsyncValidators);
+ return ((composeAsyncValidators(this._rawAsyncValidators)));
},
enumerable: true,
configurable: true
@@ -58550,8 +59107,8 @@
FormControlName.prototype._setUpControl = function () {
this._checkParentType();
this._control = this.formDirective.addControl(this);
- if (this.control.disabled && this.valueAccessor.setDisabledState) {
- this.valueAccessor.setDisabledState(true);
+ if (this.control.disabled && ((this.valueAccessor)).setDisabledState) {
+ ((((this.valueAccessor)).setDisabledState))(true);
}
this._added = true;
};
@@ -59008,8 +59565,6 @@
* @return {?}
*/
FormBuilder.prototype.control = function (formState, validator, asyncValidator) {
- if (validator === void 0) { validator = null; }
- if (asyncValidator === void 0) { asyncValidator = null; }
return new FormControl(formState, validator, asyncValidator);
};
/**
@@ -59022,8 +59577,6 @@
*/
FormBuilder.prototype.array = function (controlsConfig, validator, asyncValidator) {
var _this = this;
- if (validator === void 0) { validator = null; }
- if (asyncValidator === void 0) { asyncValidator = null; }
var /** @type {?} */ controls = controlsConfig.map(function (c) { return _this._createControl(c); });
return new FormArray(controls, validator, asyncValidator);
};
@@ -59084,7 +59637,7 @@
/**
* \@stable
*/
- var VERSION = new _angular_core.Version('4.0.1');
+ var VERSION = new _angular_core.Version('4.1.0');
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -59293,18 +59846,18 @@
//# sourceMappingURL=forms.umd.js.map
-/***/ },
+/***/ }),
/* 42 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var ForkJoinObservable_1 = __webpack_require__(43);
exports.forkJoin = ForkJoinObservable_1.ForkJoinObservable.create;
//# sourceMappingURL=forkJoin.js.map
-/***/ },
+/***/ }),
/* 43 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -59419,18 +59972,18 @@
}(OuterSubscriber_1.OuterSubscriber));
//# sourceMappingURL=ForkJoinObservable.js.map
-/***/ },
+/***/ }),
/* 44 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var PromiseObservable_1 = __webpack_require__(45);
exports.fromPromise = PromiseObservable_1.PromiseObservable.create;
//# sourceMappingURL=fromPromise.js.map
-/***/ },
+/***/ }),
/* 45 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -59554,9 +60107,9 @@
}
//# sourceMappingURL=PromiseObservable.js.map
-/***/ },
+/***/ }),
/* 46 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -59646,12 +60199,12 @@
}(Subscriber_1.Subscriber));
//# sourceMappingURL=map.js.map
-/***/ },
+/***/ }),
/* 47 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -59667,7 +60220,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -59919,7 +60472,7 @@
if (!this._flushPromise) {
this._zone.runOutsideAngular(function () {
_this._flushPromise = Promise.resolve(null).then(function () {
- _this._flushPromise = null;
+ _this._flushPromise = ((null));
_this._engine.flush();
});
});
@@ -60106,12 +60659,12 @@
//# sourceMappingURL=platform-browser-animations.umd.js.map
-/***/ },
+/***/ }),
/* 48 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -60127,7 +60680,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -60500,7 +61053,6 @@
* @param {?=} initialTimeline
*/
function AnimationTimelineContext(errors, timelines, initialTimeline) {
- if (initialTimeline === void 0) { initialTimeline = null; }
this.errors = errors;
this.timelines = timelines;
this.previousNode = ({});
@@ -60704,10 +61256,10 @@
offsetGap = MAX_KEYFRAME_OFFSET / limit;
}
var /** @type {?} */ startTime = context.currentTimeline.duration;
- var /** @type {?} */ duration = context.currentAnimateTimings.duration;
+ var /** @type {?} */ duration = ((context.currentAnimateTimings)).duration;
var /** @type {?} */ innerContext = context.createSubContext();
var /** @type {?} */ innerTimeline = innerContext.currentTimeline;
- innerTimeline.easing = context.currentAnimateTimings.easing;
+ innerTimeline.easing = ((context.currentAnimateTimings)).easing;
ast.steps.forEach(function (step, i) {
var /** @type {?} */ normalizedStyles = normalizeStyles(step.styles);
var /** @type {?} */ offset = containsOffsets ?
@@ -60729,12 +61281,10 @@
var TimelineBuilder = (function () {
/**
* @param {?} startTime
- * @param {?=} _globalTimelineStyles
+ * @param {?=} globalTimelineStyles
*/
- function TimelineBuilder(startTime, _globalTimelineStyles) {
- if (_globalTimelineStyles === void 0) { _globalTimelineStyles = null; }
+ function TimelineBuilder(startTime, globalTimelineStyles) {
this.startTime = startTime;
- this._globalTimelineStyles = _globalTimelineStyles;
this.duration = 0;
this.easing = '';
this._previousKeyframe = {};
@@ -60743,9 +61293,8 @@
this._backFill = {};
this._currentEmptyStepKeyframe = null;
this._localTimelineStyles = Object.create(this._backFill, {});
- if (!this._globalTimelineStyles) {
- this._globalTimelineStyles = this._localTimelineStyles;
- }
+ this._globalTimelineStyles =
+ globalTimelineStyles ? globalTimelineStyles : this._localTimelineStyles;
this._loadKeyframe();
}
/**
@@ -60775,7 +61324,7 @@
if (this._currentKeyframe) {
this._previousKeyframe = this._currentKeyframe;
}
- this._currentKeyframe = this._keyframes.get(this.duration);
+ this._currentKeyframe = ((this._keyframes.get(this.duration)));
if (!this._currentKeyframe) {
this._currentKeyframe = Object.create(this._backFill, {});
this._keyframes.set(this.duration, this._currentKeyframe);
@@ -60802,8 +61351,8 @@
* @return {?}
*/
TimelineBuilder.prototype._updateStyle = function (prop, value) {
- this._localTimelineStyles[prop] = value;
- this._globalTimelineStyles[prop] = value;
+ this._localTimelineStyles[prop] = value; /** @type {?} */
+ ((this._globalTimelineStyles))[prop] = value;
this._styleSummary[prop] = { time: this.currentTime, value: value };
};
/**
@@ -60821,7 +61370,7 @@
if (easing === void 0) { easing = null; }
if (treatAsEmptyStep === void 0) { treatAsEmptyStep = false; }
if (easing) {
- this._previousKeyframe['easing'] = easing;
+ ((this._previousKeyframe))['easing'] = easing;
}
if (treatAsEmptyStep) {
// special case for animate(duration):
@@ -60861,7 +61410,7 @@
/**
* @return {?}
*/
- TimelineBuilder.prototype.getFinalKeyframe = function () { return this._keyframes.get(this.duration); };
+ TimelineBuilder.prototype.getFinalKeyframe = function () { return ((this._keyframes.get(this.duration))); };
Object.defineProperty(TimelineBuilder.prototype, "properties", {
/**
* @return {?}
@@ -60939,7 +61488,7 @@
offset = (styles['offset']);
}
}
- return offset;
+ return ((offset));
}
/**
* @license
@@ -61181,13 +61730,13 @@
}
var /** @type {?} */ limit = length - 1;
var /** @type {?} */ currentTime = context.currentTime;
- var /** @type {?} */ animateDuration = context.currentAnimateTimings.duration;
+ var /** @type {?} */ animateDuration = ((context.currentAnimateTimings)).duration;
ast.steps.forEach(function (step, i) {
var /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];
var /** @type {?} */ durationUpToThisFrame = offset * animateDuration;
context.currentTime =
- currentTime + context.currentAnimateTimings.delay + durationUpToThisFrame;
- context.currentAnimateTimings.duration = durationUpToThisFrame;
+ currentTime + ((context.currentAnimateTimings)).delay + durationUpToThisFrame; /** @type {?} */
+ ((context.currentAnimateTimings)).duration = durationUpToThisFrame;
_this.visitStyle(step, context);
});
};
@@ -61271,6 +61820,7 @@
if (result)
return result;
}
+ return null;
};
return AnimationTrigger;
}());
@@ -61412,7 +61962,6 @@
* @return {?}
*/
DomAnimationEngine.prototype.registerTrigger = function (trigger, name) {
- if (name === void 0) { name = null; }
name = name || trigger.name;
if (this._triggers[name]) {
return;
@@ -61445,7 +61994,7 @@
if (lookupRef) {
var /** @type {?} */ possibleTriggers = Object.keys(lookupRef);
var /** @type {?} */ hasRemoval = possibleTriggers.some(function (triggerName) {
- var /** @type {?} */ oldValue = lookupRef[triggerName];
+ var /** @type {?} */ oldValue = ((lookupRef))[triggerName];
var /** @type {?} */ instruction = _this._triggers[triggerName].matchTransition(oldValue, VOID_STATE);
return !!instruction;
});
@@ -61569,7 +62118,7 @@
}
// we make a copy of the array because the actual source array is modified
// each time a player is finished/destroyed (the forEach loop would fail otherwise)
- return copyArray(this._activeElementAnimations.get(element));
+ return copyArray(/** @type {?} */ ((this._activeElementAnimations.get(element))));
};
/**
* @param {?} element
@@ -61711,7 +62260,7 @@
*/
DomAnimationEngine.prototype._flushQueuedAnimations = function () {
var _loop_2 = function () {
- var _a = this_2._queuedTransitionAnimations.shift(), player = _a.player, element = _a.element, triggerName = _a.triggerName, event = _a.event;
+ var _a = ((this_2._queuedTransitionAnimations.shift())), player = _a.player, element = _a.element, triggerName = _a.triggerName, event = _a.event;
var /** @type {?} */ parent = element;
while (parent = parent.parentNode) {
// this means that a parent element will or will not
@@ -62145,7 +62694,6 @@
* @return {?}
*/
NoopAnimationEngine.prototype.registerTrigger = function (trigger, name) {
- if (name === void 0) { name = null; }
name = name || trigger.name;
if (this._triggerStyles[name]) {
return;
@@ -62266,7 +62814,7 @@
});
// remove all the listeners after everything is complete
Array.from(this._listeners.keys()).forEach(function (element) {
- var /** @type {?} */ listenersToKeep = _this._listeners.get(element).filter(function (l) { return !l.doRemove; });
+ var /** @type {?} */ listenersToKeep = ((_this._listeners.get(element))).filter(function (l) { return !l.doRemove; });
if (listenersToKeep.length) {
_this._listeners.set(element, listenersToKeep);
}
@@ -62626,12 +63174,12 @@
//# sourceMappingURL=animations-browser.umd.js.map
-/***/ },
+/***/ }),
/* 49 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -62642,7 +63190,7 @@
}(this, (function (exports) { 'use strict';
/**
- * @license Angular v4.0.1
+ * @license Angular v4.1.0
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -63481,9 +64029,9 @@
//# sourceMappingURL=animations.umd.js.map
-/***/ },
+/***/ }),
/* 50 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
@@ -63493,9 +64041,9 @@
__export(__webpack_require__(51));
//# sourceMappingURL=index.js.map
-/***/ },
+/***/ }),
/* 51 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Busy index
@@ -63512,9 +64060,9 @@
__export(__webpack_require__(57));
//# sourceMappingURL=index.js.map
-/***/ },
+/***/ }),
/* 52 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Module: Busy
@@ -63575,9 +64123,9 @@
exports.BusyModule = BusyModule;
//# sourceMappingURL=busy.module.js.map
-/***/ },
+/***/ }),
/* 53 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Directive: Busy
@@ -63696,9 +64244,9 @@
exports.BusyDirective = BusyDirective;
//# sourceMappingURL=busy.directive.js.map
-/***/ },
+/***/ }),
/* 54 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
/**
* @file Util
@@ -63802,9 +64350,9 @@
exports.equals = equals;
//# sourceMappingURL=util.js.map
-/***/ },
+/***/ }),
/* 55 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Service: PromiseTracker
@@ -63894,9 +64442,9 @@
exports.PromiseTrackerService = PromiseTrackerService;
//# sourceMappingURL=promise-tracker.service.js.map
-/***/ },
+/***/ }),
/* 56 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Service: Busy
@@ -63922,9 +64470,9 @@
exports.BusyService = BusyService;
//# sourceMappingURL=busy.service.js.map
-/***/ },
+/***/ }),
/* 57 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
/**
* @file Busy Config
@@ -63952,9 +64500,9 @@
};
//# sourceMappingURL=busy-config.js.map
-/***/ },
+/***/ }),
/* 58 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: Busy
@@ -64053,9 +64601,9 @@
exports.BusyComponent = BusyComponent;
//# sourceMappingURL=busy.component.js.map
-/***/ },
+/***/ }),
/* 59 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/**
* @file Component: BusyBackdrop
@@ -64103,7 +64651,7 @@
exports.BusyBackdropComponent = BusyBackdropComponent;
//# sourceMappingURL=busy-backdrop.component.js.map
-/***/ },
+/***/ }),
/* 60 */,
/* 61 */,
/* 62 */,
@@ -64125,7 +64673,7 @@
/* 78 */,
/* 79 */,
/* 80 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(81);
__webpack_require__(130);
@@ -64266,9 +64814,9 @@
__webpack_require__(324);
module.exports = __webpack_require__(87);
-/***/ },
+/***/ }),
/* 81 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// ECMAScript 6 symbols shim
@@ -64506,36 +65054,36 @@
// 24.3.3 JSON[@@toStringTag]
setToStringTag(global.JSON, 'JSON', true);
-/***/ },
+/***/ }),
/* 82 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math
? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
-/***/ },
+/***/ }),
/* 83 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function(it, key){
return hasOwnProperty.call(it, key);
};
-/***/ },
+/***/ }),
/* 84 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// Thank's IE8 for his funny defineProperty
module.exports = !__webpack_require__(85)(function(){
return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
});
-/***/ },
+/***/ }),
/* 85 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = function(exec){
try {
@@ -64545,9 +65093,9 @@
}
};
-/***/ },
+/***/ }),
/* 86 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, core = __webpack_require__(87)
@@ -64593,16 +65141,16 @@
$export.R = 128; // real proto method for `library`
module.exports = $export;
-/***/ },
+/***/ }),
/* 87 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
var core = module.exports = {version: '2.4.0'};
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
-/***/ },
+/***/ }),
/* 88 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var dP = __webpack_require__(89)
, createDesc = __webpack_require__(95);
@@ -64613,9 +65161,9 @@
return object;
};
-/***/ },
+/***/ }),
/* 89 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var anObject = __webpack_require__(90)
, IE8_DOM_DEFINE = __webpack_require__(92)
@@ -64634,9 +65182,9 @@
return O;
};
-/***/ },
+/***/ }),
/* 90 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(91);
module.exports = function(it){
@@ -64644,25 +65192,25 @@
return it;
};
-/***/ },
+/***/ }),
/* 91 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = function(it){
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
-/***/ },
+/***/ }),
/* 92 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
module.exports = !__webpack_require__(84) && !__webpack_require__(85)(function(){
return Object.defineProperty(__webpack_require__(93)('div'), 'a', {get: function(){ return 7; }}).a != 7;
});
-/***/ },
+/***/ }),
/* 93 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(91)
, document = __webpack_require__(82).document
@@ -64672,9 +65220,9 @@
return is ? document.createElement(it) : {};
};
-/***/ },
+/***/ }),
/* 94 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = __webpack_require__(91);
@@ -64689,9 +65237,9 @@
throw TypeError("Can't convert object to primitive value");
};
-/***/ },
+/***/ }),
/* 95 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = function(bitmap, value){
return {
@@ -64702,9 +65250,9 @@
};
};
-/***/ },
+/***/ }),
/* 96 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, hide = __webpack_require__(88)
@@ -64739,9 +65287,9 @@
return typeof this == 'function' && this[SRC] || $toString.call(this);
});
-/***/ },
+/***/ }),
/* 97 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
var id = 0
, px = Math.random();
@@ -64749,9 +65297,9 @@
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
-/***/ },
+/***/ }),
/* 98 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// optional / simple context binding
var aFunction = __webpack_require__(99);
@@ -64774,18 +65322,18 @@
};
};
-/***/ },
+/***/ }),
/* 99 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = function(it){
if(typeof it != 'function')throw TypeError(it + ' is not a function!');
return it;
};
-/***/ },
+/***/ }),
/* 100 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var META = __webpack_require__(97)('meta')
, isObject = __webpack_require__(91)
@@ -64841,9 +65389,9 @@
onFreeze: onFreeze
};
-/***/ },
+/***/ }),
/* 101 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, SHARED = '__core-js_shared__'
@@ -64852,9 +65400,9 @@
return store[key] || (store[key] = {});
};
-/***/ },
+/***/ }),
/* 102 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var def = __webpack_require__(89).f
, has = __webpack_require__(83)
@@ -64864,9 +65412,9 @@
if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
};
-/***/ },
+/***/ }),
/* 103 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var store = __webpack_require__(101)('wks')
, uid = __webpack_require__(97)
@@ -64880,15 +65428,15 @@
$exports.store = store;
-/***/ },
+/***/ }),
/* 104 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
exports.f = __webpack_require__(103);
-/***/ },
+/***/ }),
/* 105 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, core = __webpack_require__(87)
@@ -64900,15 +65448,15 @@
if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});
};
-/***/ },
+/***/ }),
/* 106 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = false;
-/***/ },
+/***/ }),
/* 107 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var getKeys = __webpack_require__(108)
, toIObject = __webpack_require__(110);
@@ -64921,9 +65469,9 @@
while(length > index)if(O[key = keys[index++]] === el)return key;
};
-/***/ },
+/***/ }),
/* 108 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys = __webpack_require__(109)
@@ -64933,9 +65481,9 @@
return $keys(O, enumBugKeys);
};
-/***/ },
+/***/ }),
/* 109 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var has = __webpack_require__(83)
, toIObject = __webpack_require__(110)
@@ -64955,9 +65503,9 @@
return result;
};
-/***/ },
+/***/ }),
/* 110 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = __webpack_require__(111)
@@ -64966,9 +65514,9 @@
return IObject(defined(it));
};
-/***/ },
+/***/ }),
/* 111 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = __webpack_require__(112);
@@ -64976,9 +65524,9 @@
return cof(it) == 'String' ? it.split('') : Object(it);
};
-/***/ },
+/***/ }),
/* 112 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
var toString = {}.toString;
@@ -64986,9 +65534,9 @@
return toString.call(it).slice(8, -1);
};
-/***/ },
+/***/ }),
/* 113 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// 7.2.1 RequireObjectCoercible(argument)
module.exports = function(it){
@@ -64996,9 +65544,9 @@
return it;
};
-/***/ },
+/***/ }),
/* 114 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// false -> Array#indexOf
// true -> Array#includes
@@ -65022,9 +65570,9 @@
};
};
-/***/ },
+/***/ }),
/* 115 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 7.1.15 ToLength
var toInteger = __webpack_require__(116)
@@ -65033,9 +65581,9 @@
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
};
-/***/ },
+/***/ }),
/* 116 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// 7.1.4 ToInteger
var ceil = Math.ceil
@@ -65044,9 +65592,9 @@
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
-/***/ },
+/***/ }),
/* 117 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var toInteger = __webpack_require__(116)
, max = Math.max
@@ -65056,9 +65604,9 @@
return index < 0 ? max(index + length, 0) : min(index, length);
};
-/***/ },
+/***/ }),
/* 118 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var shared = __webpack_require__(101)('keys')
, uid = __webpack_require__(97);
@@ -65066,18 +65614,18 @@
return shared[key] || (shared[key] = uid(key));
};
-/***/ },
+/***/ }),
/* 119 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// IE 8- don't enum bug keys
module.exports = (
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');
-/***/ },
+/***/ }),
/* 120 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// all enumerable object keys, includes symbols
var getKeys = __webpack_require__(108)
@@ -65095,21 +65643,21 @@
} return result;
};
-/***/ },
+/***/ }),
/* 121 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
exports.f = Object.getOwnPropertySymbols;
-/***/ },
+/***/ }),
/* 122 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
exports.f = {}.propertyIsEnumerable;
-/***/ },
+/***/ }),
/* 123 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 7.2.2 IsArray(argument)
var cof = __webpack_require__(112);
@@ -65117,9 +65665,9 @@
return cof(arg) == 'Array';
};
-/***/ },
+/***/ }),
/* 124 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
var anObject = __webpack_require__(90)
@@ -65164,9 +65712,9 @@
};
-/***/ },
+/***/ }),
/* 125 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var dP = __webpack_require__(89)
, anObject = __webpack_require__(90)
@@ -65182,15 +65730,15 @@
return O;
};
-/***/ },
+/***/ }),
/* 126 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(82).document && document.documentElement;
-/***/ },
+/***/ }),
/* 127 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
var toIObject = __webpack_require__(110)
@@ -65213,9 +65761,9 @@
};
-/***/ },
+/***/ }),
/* 128 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
var $keys = __webpack_require__(109)
@@ -65225,9 +65773,9 @@
return $keys(O, hiddenKeys);
};
-/***/ },
+/***/ }),
/* 129 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var pIE = __webpack_require__(122)
, createDesc = __webpack_require__(95)
@@ -65246,33 +65794,33 @@
if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
};
-/***/ },
+/***/ }),
/* 130 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
$export($export.S, 'Object', {create: __webpack_require__(124)});
-/***/ },
+/***/ }),
/* 131 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86);
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
$export($export.S + $export.F * !__webpack_require__(84), 'Object', {defineProperty: __webpack_require__(89).f});
-/***/ },
+/***/ }),
/* 132 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86);
// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
$export($export.S + $export.F * !__webpack_require__(84), 'Object', {defineProperties: __webpack_require__(125)});
-/***/ },
+/***/ }),
/* 133 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
var toIObject = __webpack_require__(110)
@@ -65284,9 +65832,9 @@
};
});
-/***/ },
+/***/ }),
/* 134 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// most Object methods by ES6 should accept primitives
var $export = __webpack_require__(86)
@@ -65299,9 +65847,9 @@
$export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
};
-/***/ },
+/***/ }),
/* 135 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.9 Object.getPrototypeOf(O)
var toObject = __webpack_require__(136)
@@ -65313,9 +65861,9 @@
};
});
-/***/ },
+/***/ }),
/* 136 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 7.1.13 ToObject(argument)
var defined = __webpack_require__(113);
@@ -65323,9 +65871,9 @@
return Object(defined(it));
};
-/***/ },
+/***/ }),
/* 137 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
var has = __webpack_require__(83)
@@ -65341,9 +65889,9 @@
} return O instanceof Object ? ObjectProto : null;
};
-/***/ },
+/***/ }),
/* 138 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.14 Object.keys(O)
var toObject = __webpack_require__(136)
@@ -65355,18 +65903,18 @@
};
});
-/***/ },
+/***/ }),
/* 139 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.7 Object.getOwnPropertyNames(O)
__webpack_require__(134)('getOwnPropertyNames', function(){
return __webpack_require__(127).f;
});
-/***/ },
+/***/ }),
/* 140 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.5 Object.freeze(O)
var isObject = __webpack_require__(91)
@@ -65378,9 +65926,9 @@
};
});
-/***/ },
+/***/ }),
/* 141 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.17 Object.seal(O)
var isObject = __webpack_require__(91)
@@ -65392,9 +65940,9 @@
};
});
-/***/ },
+/***/ }),
/* 142 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.15 Object.preventExtensions(O)
var isObject = __webpack_require__(91)
@@ -65406,9 +65954,9 @@
};
});
-/***/ },
+/***/ }),
/* 143 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.12 Object.isFrozen(O)
var isObject = __webpack_require__(91);
@@ -65419,9 +65967,9 @@
};
});
-/***/ },
+/***/ }),
/* 144 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.13 Object.isSealed(O)
var isObject = __webpack_require__(91);
@@ -65432,9 +65980,9 @@
};
});
-/***/ },
+/***/ }),
/* 145 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.11 Object.isExtensible(O)
var isObject = __webpack_require__(91);
@@ -65445,18 +65993,18 @@
};
});
-/***/ },
+/***/ }),
/* 146 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.3.1 Object.assign(target, source)
var $export = __webpack_require__(86);
$export($export.S + $export.F, 'Object', {assign: __webpack_require__(147)});
-/***/ },
+/***/ }),
/* 147 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 19.1.2.1 Object.assign(target, source, ...)
@@ -65492,34 +66040,34 @@
} return T;
} : $assign;
-/***/ },
+/***/ }),
/* 148 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.3.10 Object.is(value1, value2)
var $export = __webpack_require__(86);
$export($export.S, 'Object', {is: __webpack_require__(149)});
-/***/ },
+/***/ }),
/* 149 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// 7.2.9 SameValue(x, y)
module.exports = Object.is || function is(x, y){
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
};
-/***/ },
+/***/ }),
/* 150 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.1.3.19 Object.setPrototypeOf(O, proto)
var $export = __webpack_require__(86);
$export($export.S, 'Object', {setPrototypeOf: __webpack_require__(151).set});
-/***/ },
+/***/ }),
/* 151 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
@@ -65547,9 +66095,9 @@
check: check
};
-/***/ },
+/***/ }),
/* 152 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 19.1.3.6 Object.prototype.toString()
@@ -65562,9 +66110,9 @@
}, true);
}
-/***/ },
+/***/ }),
/* 153 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// getting tag from 19.1.3.6 Object.prototype.toString()
var cof = __webpack_require__(112)
@@ -65590,18 +66138,18 @@
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
};
-/***/ },
+/***/ }),
/* 154 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
var $export = __webpack_require__(86);
$export($export.P, 'Function', {bind: __webpack_require__(155)});
-/***/ },
+/***/ }),
/* 155 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var aFunction = __webpack_require__(99)
@@ -65628,9 +66176,9 @@
return bound;
};
-/***/ },
+/***/ }),
/* 156 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// fast apply, http://jsperf.lnkit.com/fast-apply/5
module.exports = function(fn, args, that){
@@ -65649,9 +66197,9 @@
} return fn.apply(that, args);
};
-/***/ },
+/***/ }),
/* 157 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var dP = __webpack_require__(89).f
, createDesc = __webpack_require__(95)
@@ -65679,9 +66227,9 @@
}
});
-/***/ },
+/***/ }),
/* 158 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var isObject = __webpack_require__(91)
@@ -65697,18 +66245,18 @@
return false;
}});
-/***/ },
+/***/ }),
/* 159 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, $parseInt = __webpack_require__(160);
// 18.2.5 parseInt(string, radix)
$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});
-/***/ },
+/***/ }),
/* 160 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $parseInt = __webpack_require__(82).parseInt
, $trim = __webpack_require__(161).trim
@@ -65720,9 +66268,9 @@
return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
} : $parseInt;
-/***/ },
+/***/ }),
/* 161 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, defined = __webpack_require__(113)
@@ -65755,25 +66303,25 @@
module.exports = exporter;
-/***/ },
+/***/ }),
/* 162 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-/***/ },
+/***/ }),
/* 163 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, $parseFloat = __webpack_require__(164);
// 18.2.4 parseFloat(string)
$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});
-/***/ },
+/***/ }),
/* 164 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $parseFloat = __webpack_require__(82).parseFloat
, $trim = __webpack_require__(161).trim;
@@ -65784,9 +66332,9 @@
return result === 0 && string.charAt(0) == '-' ? -0 : result;
} : $parseFloat;
-/***/ },
+/***/ }),
/* 165 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var global = __webpack_require__(82)
@@ -65858,9 +66406,9 @@
__webpack_require__(96)(global, NUMBER, $Number);
}
-/***/ },
+/***/ }),
/* 166 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(91)
, setPrototypeOf = __webpack_require__(151).set;
@@ -65871,9 +66419,9 @@
} return that;
};
-/***/ },
+/***/ }),
/* 167 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -65989,9 +66537,9 @@
}
});
-/***/ },
+/***/ }),
/* 168 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var cof = __webpack_require__(112);
module.exports = function(it, msg){
@@ -65999,9 +66547,9 @@
return +it;
};
-/***/ },
+/***/ }),
/* 169 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var toInteger = __webpack_require__(116)
@@ -66016,9 +66564,9 @@
return res;
};
-/***/ },
+/***/ }),
/* 170 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -66039,18 +66587,18 @@
}
});
-/***/ },
+/***/ }),
/* 171 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.1 Number.EPSILON
var $export = __webpack_require__(86);
$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
-/***/ },
+/***/ }),
/* 172 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.2 Number.isFinite(number)
var $export = __webpack_require__(86)
@@ -66062,18 +66610,18 @@
}
});
-/***/ },
+/***/ }),
/* 173 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.3 Number.isInteger(number)
var $export = __webpack_require__(86);
$export($export.S, 'Number', {isInteger: __webpack_require__(174)});
-/***/ },
+/***/ }),
/* 174 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.3 Number.isInteger(number)
var isObject = __webpack_require__(91)
@@ -66082,9 +66630,9 @@
return !isObject(it) && isFinite(it) && floor(it) === it;
};
-/***/ },
+/***/ }),
/* 175 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.4 Number.isNaN(number)
var $export = __webpack_require__(86);
@@ -66095,9 +66643,9 @@
}
});
-/***/ },
+/***/ }),
/* 176 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.5 Number.isSafeInteger(number)
var $export = __webpack_require__(86)
@@ -66110,45 +66658,45 @@
}
});
-/***/ },
+/***/ }),
/* 177 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.6 Number.MAX_SAFE_INTEGER
var $export = __webpack_require__(86);
$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
-/***/ },
+/***/ }),
/* 178 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.1.2.10 Number.MIN_SAFE_INTEGER
var $export = __webpack_require__(86);
$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
-/***/ },
+/***/ }),
/* 179 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, $parseFloat = __webpack_require__(164);
// 20.1.2.12 Number.parseFloat(string)
$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});
-/***/ },
+/***/ }),
/* 180 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, $parseInt = __webpack_require__(160);
// 20.1.2.13 Number.parseInt(string, radix)
$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});
-/***/ },
+/***/ }),
/* 181 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.3 Math.acosh(x)
var $export = __webpack_require__(86)
@@ -66169,18 +66717,18 @@
}
});
-/***/ },
+/***/ }),
/* 182 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// 20.2.2.20 Math.log1p(x)
module.exports = Math.log1p || function log1p(x){
return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
};
-/***/ },
+/***/ }),
/* 183 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.5 Math.asinh(x)
var $export = __webpack_require__(86)
@@ -66193,9 +66741,9 @@
// Tor Browser bug: Math.asinh(0) -> -0
$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});
-/***/ },
+/***/ }),
/* 184 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.7 Math.atanh(x)
var $export = __webpack_require__(86)
@@ -66208,9 +66756,9 @@
}
});
-/***/ },
+/***/ }),
/* 185 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.9 Math.cbrt(x)
var $export = __webpack_require__(86)
@@ -66222,18 +66770,18 @@
}
});
-/***/ },
+/***/ }),
/* 186 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// 20.2.2.28 Math.sign(x)
module.exports = Math.sign || function sign(x){
return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
};
-/***/ },
+/***/ }),
/* 187 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.11 Math.clz32(x)
var $export = __webpack_require__(86);
@@ -66244,9 +66792,9 @@
}
});
-/***/ },
+/***/ }),
/* 188 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.12 Math.cosh(x)
var $export = __webpack_require__(86)
@@ -66258,9 +66806,9 @@
}
});
-/***/ },
+/***/ }),
/* 189 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.14 Math.expm1(x)
var $export = __webpack_require__(86)
@@ -66268,9 +66816,9 @@
$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});
-/***/ },
+/***/ }),
/* 190 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// 20.2.2.14 Math.expm1(x)
var $expm1 = Math.expm1;
@@ -66283,9 +66831,9 @@
return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
} : $expm1;
-/***/ },
+/***/ }),
/* 191 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.16 Math.fround(x)
var $export = __webpack_require__(86)
@@ -66314,9 +66862,9 @@
}
});
-/***/ },
+/***/ }),
/* 192 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
var $export = __webpack_require__(86)
@@ -66344,9 +66892,9 @@
}
});
-/***/ },
+/***/ }),
/* 193 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.18 Math.imul(x, y)
var $export = __webpack_require__(86)
@@ -66366,9 +66914,9 @@
}
});
-/***/ },
+/***/ }),
/* 194 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.21 Math.log10(x)
var $export = __webpack_require__(86);
@@ -66379,18 +66927,18 @@
}
});
-/***/ },
+/***/ }),
/* 195 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.20 Math.log1p(x)
var $export = __webpack_require__(86);
$export($export.S, 'Math', {log1p: __webpack_require__(182)});
-/***/ },
+/***/ }),
/* 196 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.22 Math.log2(x)
var $export = __webpack_require__(86);
@@ -66401,18 +66949,18 @@
}
});
-/***/ },
+/***/ }),
/* 197 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.28 Math.sign(x)
var $export = __webpack_require__(86);
$export($export.S, 'Math', {sign: __webpack_require__(186)});
-/***/ },
+/***/ }),
/* 198 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.30 Math.sinh(x)
var $export = __webpack_require__(86)
@@ -66430,9 +66978,9 @@
}
});
-/***/ },
+/***/ }),
/* 199 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.33 Math.tanh(x)
var $export = __webpack_require__(86)
@@ -66447,9 +66995,9 @@
}
});
-/***/ },
+/***/ }),
/* 200 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.34 Math.trunc(x)
var $export = __webpack_require__(86);
@@ -66460,9 +67008,9 @@
}
});
-/***/ },
+/***/ }),
/* 201 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, toIndex = __webpack_require__(117)
@@ -66488,9 +67036,9 @@
}
});
-/***/ },
+/***/ }),
/* 202 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, toIObject = __webpack_require__(110)
@@ -66511,9 +67059,9 @@
}
});
-/***/ },
+/***/ }),
/* 203 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 21.1.3.25 String.prototype.trim()
@@ -66523,9 +67071,9 @@
};
});
-/***/ },
+/***/ }),
/* 204 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $at = __webpack_require__(205)(true);
@@ -66545,9 +67093,9 @@
return {value: point, done: false};
});
-/***/ },
+/***/ }),
/* 205 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var toInteger = __webpack_require__(116)
, defined = __webpack_require__(113);
@@ -66567,9 +67115,9 @@
};
};
-/***/ },
+/***/ }),
/* 206 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var LIBRARY = __webpack_require__(106)
@@ -66642,15 +67190,15 @@
return methods;
};
-/***/ },
+/***/ }),
/* 207 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = {};
-/***/ },
+/***/ }),
/* 208 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var create = __webpack_require__(124)
@@ -66666,9 +67214,9 @@
setToStringTag(Constructor, NAME + ' Iterator');
};
-/***/ },
+/***/ }),
/* 209 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -66680,9 +67228,9 @@
}
});
-/***/ },
+/***/ }),
/* 210 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
'use strict';
@@ -66705,9 +67253,9 @@
}
});
-/***/ },
+/***/ }),
/* 211 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// helper for String#{startsWith, endsWith, includes}
var isRegExp = __webpack_require__(212)
@@ -66718,9 +67266,9 @@
return String(defined(that));
};
-/***/ },
+/***/ }),
/* 212 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 7.2.8 IsRegExp(argument)
var isObject = __webpack_require__(91)
@@ -66731,9 +67279,9 @@
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
};
-/***/ },
+/***/ }),
/* 213 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var MATCH = __webpack_require__(103)('match');
module.exports = function(KEY){
@@ -66748,9 +67296,9 @@
} return true;
};
-/***/ },
+/***/ }),
/* 214 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 21.1.3.7 String.prototype.includes(searchString, position = 0)
'use strict';
@@ -66765,9 +67313,9 @@
}
});
-/***/ },
+/***/ }),
/* 215 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86);
@@ -66776,9 +67324,9 @@
repeat: __webpack_require__(169)
});
-/***/ },
+/***/ }),
/* 216 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
'use strict';
@@ -66799,9 +67347,9 @@
}
});
-/***/ },
+/***/ }),
/* 217 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.2 String.prototype.anchor(name)
@@ -66811,9 +67359,9 @@
}
});
-/***/ },
+/***/ }),
/* 218 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86)
, fails = __webpack_require__(85)
@@ -66835,9 +67383,9 @@
}), 'String', O);
};
-/***/ },
+/***/ }),
/* 219 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.3 String.prototype.big()
@@ -66847,9 +67395,9 @@
}
});
-/***/ },
+/***/ }),
/* 220 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.4 String.prototype.blink()
@@ -66859,9 +67407,9 @@
}
});
-/***/ },
+/***/ }),
/* 221 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.5 String.prototype.bold()
@@ -66871,9 +67419,9 @@
}
});
-/***/ },
+/***/ }),
/* 222 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.6 String.prototype.fixed()
@@ -66883,9 +67431,9 @@
}
});
-/***/ },
+/***/ }),
/* 223 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.7 String.prototype.fontcolor(color)
@@ -66895,9 +67443,9 @@
}
});
-/***/ },
+/***/ }),
/* 224 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.8 String.prototype.fontsize(size)
@@ -66907,9 +67455,9 @@
}
});
-/***/ },
+/***/ }),
/* 225 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.9 String.prototype.italics()
@@ -66919,9 +67467,9 @@
}
});
-/***/ },
+/***/ }),
/* 226 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.10 String.prototype.link(url)
@@ -66931,9 +67479,9 @@
}
});
-/***/ },
+/***/ }),
/* 227 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.11 String.prototype.small()
@@ -66943,9 +67491,9 @@
}
});
-/***/ },
+/***/ }),
/* 228 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.12 String.prototype.strike()
@@ -66955,9 +67503,9 @@
}
});
-/***/ },
+/***/ }),
/* 229 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.13 String.prototype.sub()
@@ -66967,9 +67515,9 @@
}
});
-/***/ },
+/***/ }),
/* 230 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// B.2.3.14 String.prototype.sup()
@@ -66979,18 +67527,18 @@
}
});
-/***/ },
+/***/ }),
/* 231 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 20.3.3.1 / 15.9.4.4 Date.now()
var $export = __webpack_require__(86);
$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});
-/***/ },
+/***/ }),
/* 232 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67007,9 +67555,9 @@
}
});
-/***/ },
+/***/ }),
/* 233 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
@@ -67040,9 +67588,9 @@
}
});
-/***/ },
+/***/ }),
/* 234 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var DateProto = Date.prototype
, INVALID_DATE = 'Invalid Date'
@@ -67056,18 +67604,18 @@
});
}
-/***/ },
+/***/ }),
/* 235 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var TO_PRIMITIVE = __webpack_require__(103)('toPrimitive')
, proto = Date.prototype;
if(!(TO_PRIMITIVE in proto))__webpack_require__(88)(proto, TO_PRIMITIVE, __webpack_require__(236));
-/***/ },
+/***/ }),
/* 236 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var anObject = __webpack_require__(90)
@@ -67079,18 +67627,18 @@
return toPrimitive(anObject(this), hint != NUMBER);
};
-/***/ },
+/***/ }),
/* 237 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
var $export = __webpack_require__(86);
$export($export.S, 'Array', {isArray: __webpack_require__(123)});
-/***/ },
+/***/ }),
/* 238 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var ctx = __webpack_require__(98)
@@ -67131,9 +67679,9 @@
});
-/***/ },
+/***/ }),
/* 239 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// call something on iterator step with safe closing on error
var anObject = __webpack_require__(90);
@@ -67148,9 +67696,9 @@
}
};
-/***/ },
+/***/ }),
/* 240 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// check on default Array iterator
var Iterators = __webpack_require__(207)
@@ -67161,9 +67709,9 @@
return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
};
-/***/ },
+/***/ }),
/* 241 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $defineProperty = __webpack_require__(89)
@@ -67174,9 +67722,9 @@
else object[index] = value;
};
-/***/ },
+/***/ }),
/* 242 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var classof = __webpack_require__(153)
, ITERATOR = __webpack_require__(103)('iterator')
@@ -67187,9 +67735,9 @@
|| Iterators[classof(it)];
};
-/***/ },
+/***/ }),
/* 243 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var ITERATOR = __webpack_require__(103)('iterator')
, SAFE_CLOSING = false;
@@ -67213,9 +67761,9 @@
return safe;
};
-/***/ },
+/***/ }),
/* 244 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67237,9 +67785,9 @@
}
});
-/***/ },
+/***/ }),
/* 245 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 22.1.3.13 Array.prototype.join(separator)
@@ -67254,9 +67802,9 @@
}
});
-/***/ },
+/***/ }),
/* 246 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var fails = __webpack_require__(85);
@@ -67266,9 +67814,9 @@
});
};
-/***/ },
+/***/ }),
/* 247 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67299,9 +67847,9 @@
}
});
-/***/ },
+/***/ }),
/* 248 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67327,9 +67875,9 @@
}
});
-/***/ },
+/***/ }),
/* 249 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67343,9 +67891,9 @@
}
});
-/***/ },
+/***/ }),
/* 250 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 0 -> Array#forEach
// 1 -> Array#map
@@ -67392,9 +67940,9 @@
};
};
-/***/ },
+/***/ }),
/* 251 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
var speciesConstructor = __webpack_require__(252);
@@ -67403,9 +67951,9 @@
return new (speciesConstructor(original))(length);
};
-/***/ },
+/***/ }),
/* 252 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(91)
, isArray = __webpack_require__(123)
@@ -67424,9 +67972,9 @@
} return C === undefined ? Array : C;
};
-/***/ },
+/***/ }),
/* 253 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67439,9 +67987,9 @@
}
});
-/***/ },
+/***/ }),
/* 254 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67454,9 +68002,9 @@
}
});
-/***/ },
+/***/ }),
/* 255 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67469,9 +68017,9 @@
}
});
-/***/ },
+/***/ }),
/* 256 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67484,9 +68032,9 @@
}
});
-/***/ },
+/***/ }),
/* 257 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67499,9 +68047,9 @@
}
});
-/***/ },
+/***/ }),
/* 258 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var aFunction = __webpack_require__(99)
, toObject = __webpack_require__(136)
@@ -67532,9 +68080,9 @@
return memo;
};
-/***/ },
+/***/ }),
/* 259 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67547,9 +68095,9 @@
}
});
-/***/ },
+/***/ }),
/* 260 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67567,9 +68115,9 @@
}
});
-/***/ },
+/***/ }),
/* 261 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -67594,9 +68142,9 @@
}
});
-/***/ },
+/***/ }),
/* 262 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
var $export = __webpack_require__(86);
@@ -67605,9 +68153,9 @@
__webpack_require__(264)('copyWithin');
-/***/ },
+/***/ }),
/* 263 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
'use strict';
@@ -67636,9 +68184,9 @@
} return O;
};
-/***/ },
+/***/ }),
/* 264 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 22.1.3.31 Array.prototype[@@unscopables]
var UNSCOPABLES = __webpack_require__(103)('unscopables')
@@ -67648,9 +68196,9 @@
ArrayProto[UNSCOPABLES][key] = true;
};
-/***/ },
+/***/ }),
/* 265 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
var $export = __webpack_require__(86);
@@ -67659,9 +68207,9 @@
__webpack_require__(264)('fill');
-/***/ },
+/***/ }),
/* 266 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
'use strict';
@@ -67679,9 +68227,9 @@
return O;
};
-/***/ },
+/***/ }),
/* 267 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
@@ -67698,9 +68246,9 @@
});
__webpack_require__(264)(KEY);
-/***/ },
+/***/ }),
/* 268 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
@@ -67717,15 +68265,15 @@
});
__webpack_require__(264)(KEY);
-/***/ },
+/***/ }),
/* 269 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(270)('Array');
-/***/ },
+/***/ }),
/* 270 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var global = __webpack_require__(82)
@@ -67741,9 +68289,9 @@
});
};
-/***/ },
+/***/ }),
/* 271 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var addToUnscopables = __webpack_require__(264)
@@ -67780,17 +68328,17 @@
addToUnscopables('values');
addToUnscopables('entries');
-/***/ },
+/***/ }),
/* 272 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = function(done, value){
return {value: value, done: !!done};
};
-/***/ },
+/***/ }),
/* 273 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, inheritIfRequired = __webpack_require__(166)
@@ -67836,9 +68384,9 @@
__webpack_require__(270)('RegExp');
-/***/ },
+/***/ }),
/* 274 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 21.2.5.3 get RegExp.prototype.flags
@@ -67854,9 +68402,9 @@
return result;
};
-/***/ },
+/***/ }),
/* 275 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
__webpack_require__(276);
@@ -67884,9 +68432,9 @@
});
}
-/***/ },
+/***/ }),
/* 276 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 21.2.5.3 get RegExp.prototype.flags()
if(__webpack_require__(84) && /./g.flags != 'g')__webpack_require__(89).f(RegExp.prototype, 'flags', {
@@ -67894,9 +68442,9 @@
get: __webpack_require__(274)
});
-/***/ },
+/***/ }),
/* 277 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// @@match logic
__webpack_require__(278)('match', 1, function(defined, MATCH, $match){
@@ -67909,9 +68457,9 @@
}, $match];
});
-/***/ },
+/***/ }),
/* 278 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var hide = __webpack_require__(88)
@@ -67942,9 +68490,9 @@
}
};
-/***/ },
+/***/ }),
/* 279 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// @@replace logic
__webpack_require__(278)('replace', 2, function(defined, REPLACE, $replace){
@@ -67959,9 +68507,9 @@
}, $replace];
});
-/***/ },
+/***/ }),
/* 280 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// @@search logic
__webpack_require__(278)('search', 1, function(defined, SEARCH, $search){
@@ -67974,9 +68522,9 @@
}, $search];
});
-/***/ },
+/***/ }),
/* 281 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// @@split logic
__webpack_require__(278)('split', 2, function(defined, SPLIT, $split){
@@ -68049,9 +68597,9 @@
}, $split];
});
-/***/ },
+/***/ }),
/* 282 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var LIBRARY = __webpack_require__(106)
@@ -68353,9 +68901,9 @@
}
});
-/***/ },
+/***/ }),
/* 283 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
module.exports = function(it, Constructor, name, forbiddenField){
if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){
@@ -68363,9 +68911,9 @@
} return it;
};
-/***/ },
+/***/ }),
/* 284 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var ctx = __webpack_require__(98)
, call = __webpack_require__(239)
@@ -68393,9 +68941,9 @@
exports.BREAK = BREAK;
exports.RETURN = RETURN;
-/***/ },
+/***/ }),
/* 285 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
var anObject = __webpack_require__(90)
@@ -68406,9 +68954,9 @@
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
};
-/***/ },
+/***/ }),
/* 286 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var ctx = __webpack_require__(98)
, invoke = __webpack_require__(156)
@@ -68486,9 +69034,9 @@
clear: clearTask
};
-/***/ },
+/***/ }),
/* 287 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, macrotask = __webpack_require__(286).set
@@ -68559,9 +69107,9 @@
};
};
-/***/ },
+/***/ }),
/* 288 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var redefine = __webpack_require__(96);
module.exports = function(target, src, safe){
@@ -68569,9 +69117,9 @@
return target;
};
-/***/ },
+/***/ }),
/* 289 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var strong = __webpack_require__(290);
@@ -68591,9 +69139,9 @@
}
}, strong, true);
-/***/ },
+/***/ }),
/* 290 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var dP = __webpack_require__(89).f
@@ -68738,9 +69286,9 @@
}
};
-/***/ },
+/***/ }),
/* 291 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var global = __webpack_require__(82)
@@ -68828,9 +69376,9 @@
return C;
};
-/***/ },
+/***/ }),
/* 292 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var strong = __webpack_require__(290);
@@ -68845,9 +69393,9 @@
}
}, strong);
-/***/ },
+/***/ }),
/* 293 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var each = __webpack_require__(250)(0)
@@ -68906,9 +69454,9 @@
});
}
-/***/ },
+/***/ }),
/* 294 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var redefineAll = __webpack_require__(288)
@@ -68994,9 +69542,9 @@
ufstore: uncaughtFrozenStore
};
-/***/ },
+/***/ }),
/* 295 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var weak = __webpack_require__(294);
@@ -69011,9 +69559,9 @@
}
}, weak, false, true);
-/***/ },
+/***/ }),
/* 296 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var $export = __webpack_require__(86)
@@ -69062,9 +69610,9 @@
__webpack_require__(270)(ARRAY_BUFFER);
-/***/ },
+/***/ }),
/* 297 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(82)
, hide = __webpack_require__(88)
@@ -69093,9 +69641,9 @@
VIEW: VIEW
};
-/***/ },
+/***/ }),
/* 298 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
var global = __webpack_require__(82)
@@ -69371,18 +69919,18 @@
exports[ARRAY_BUFFER] = $ArrayBuffer;
exports[DATA_VIEW] = $DataView;
-/***/ },
+/***/ }),
/* 299 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(86);
$export($export.G + $export.W + $export.F * !__webpack_require__(297).ABV, {
DataView: __webpack_require__(298).DataView
});
-/***/ },
+/***/ }),
/* 300 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Int8', 1, function(init){
return function Int8Array(data, byteOffset, length){
@@ -69390,9 +69938,9 @@
};
});
-/***/ },
+/***/ }),
/* 301 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
if(__webpack_require__(84)){
@@ -69874,9 +70422,9 @@
};
} else module.exports = function(){ /* empty */ };
-/***/ },
+/***/ }),
/* 302 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Uint8', 1, function(init){
return function Uint8Array(data, byteOffset, length){
@@ -69884,9 +70432,9 @@
};
});
-/***/ },
+/***/ }),
/* 303 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Uint8', 1, function(init){
return function Uint8ClampedArray(data, byteOffset, length){
@@ -69894,9 +70442,9 @@
};
}, true);
-/***/ },
+/***/ }),
/* 304 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Int16', 2, function(init){
return function Int16Array(data, byteOffset, length){
@@ -69904,9 +70452,9 @@
};
});
-/***/ },
+/***/ }),
/* 305 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Uint16', 2, function(init){
return function Uint16Array(data, byteOffset, length){
@@ -69914,9 +70462,9 @@
};
});
-/***/ },
+/***/ }),
/* 306 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Int32', 4, function(init){
return function Int32Array(data, byteOffset, length){
@@ -69924,9 +70472,9 @@
};
});
-/***/ },
+/***/ }),
/* 307 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Uint32', 4, function(init){
return function Uint32Array(data, byteOffset, length){
@@ -69934,9 +70482,9 @@
};
});
-/***/ },
+/***/ }),
/* 308 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Float32', 4, function(init){
return function Float32Array(data, byteOffset, length){
@@ -69944,9 +70492,9 @@
};
});
-/***/ },
+/***/ }),
/* 309 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(301)('Float64', 8, function(init){
return function Float64Array(data, byteOffset, length){
@@ -69954,9 +70502,9 @@
};
});
-/***/ },
+/***/ }),
/* 310 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
var $export = __webpack_require__(86)
@@ -69975,9 +70523,9 @@
}
});
-/***/ },
+/***/ }),
/* 311 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
var $export = __webpack_require__(86)
@@ -70027,9 +70575,9 @@
}
});
-/***/ },
+/***/ }),
/* 312 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
var dP = __webpack_require__(89)
@@ -70054,9 +70602,9 @@
}
});
-/***/ },
+/***/ }),
/* 313 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.4 Reflect.deleteProperty(target, propertyKey)
var $export = __webpack_require__(86)
@@ -70070,9 +70618,9 @@
}
});
-/***/ },
+/***/ }),
/* 314 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
'use strict';
// 26.1.5 Reflect.enumerate(target)
@@ -70101,9 +70649,9 @@
}
});
-/***/ },
+/***/ }),
/* 315 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.6 Reflect.get(target, propertyKey [, receiver])
var gOPD = __webpack_require__(129)
@@ -70127,9 +70675,9 @@
$export($export.S, 'Reflect', {get: get});
-/***/ },
+/***/ }),
/* 316 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
var gOPD = __webpack_require__(129)
@@ -70142,9 +70690,9 @@
}
});
-/***/ },
+/***/ }),
/* 317 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.8 Reflect.getPrototypeOf(target)
var $export = __webpack_require__(86)
@@ -70157,9 +70705,9 @@
}
});
-/***/ },
+/***/ }),
/* 318 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.9 Reflect.has(target, propertyKey)
var $export = __webpack_require__(86);
@@ -70170,9 +70718,9 @@
}
});
-/***/ },
+/***/ }),
/* 319 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.10 Reflect.isExtensible(target)
var $export = __webpack_require__(86)
@@ -70186,18 +70734,18 @@
}
});
-/***/ },
+/***/ }),
/* 320 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.11 Reflect.ownKeys(target)
var $export = __webpack_require__(86);
$export($export.S, 'Reflect', {ownKeys: __webpack_require__(321)});
-/***/ },
+/***/ }),
/* 321 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// all object keys, includes non-enumerable and symbols
var gOPN = __webpack_require__(128)
@@ -70210,9 +70758,9 @@
return getSymbols ? keys.concat(getSymbols(it)) : keys;
};
-/***/ },
+/***/ }),
/* 322 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.12 Reflect.preventExtensions(target)
var $export = __webpack_require__(86)
@@ -70231,9 +70779,9 @@
}
});
-/***/ },
+/***/ }),
/* 323 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
var dP = __webpack_require__(89)
@@ -70267,9 +70815,9 @@
$export($export.S, 'Reflect', {set: set});
-/***/ },
+/***/ }),
/* 324 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
// 26.1.14 Reflect.setPrototypeOf(target, proto)
var $export = __webpack_require__(86)
@@ -70287,9 +70835,9 @@
}
});
-/***/ },
+/***/ }),
/* 325 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(326);
__webpack_require__(328);
@@ -70303,9 +70851,9 @@
module.exports = __webpack_require__(87).Reflect;
-/***/ },
+/***/ }),
/* 326 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70316,9 +70864,9 @@
ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
}});
-/***/ },
+/***/ }),
/* 327 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var Map = __webpack_require__(289)
, $export = __webpack_require__(86)
@@ -70372,9 +70920,9 @@
exp: exp
};
-/***/ },
+/***/ }),
/* 328 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70392,9 +70940,9 @@
return !!targetMetadata.size || store['delete'](target);
}});
-/***/ },
+/***/ }),
/* 329 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70414,9 +70962,9 @@
return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
}});
-/***/ },
+/***/ }),
/* 330 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var Set = __webpack_require__(292)
, from = __webpack_require__(331)
@@ -70438,9 +70986,9 @@
return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
}});
-/***/ },
+/***/ }),
/* 331 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var forOf = __webpack_require__(284);
@@ -70451,9 +70999,9 @@
};
-/***/ },
+/***/ }),
/* 332 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70465,9 +71013,9 @@
, arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
}});
-/***/ },
+/***/ }),
/* 333 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70478,9 +71026,9 @@
return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
}});
-/***/ },
+/***/ }),
/* 334 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70499,9 +71047,9 @@
return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
}});
-/***/ },
+/***/ }),
/* 335 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70513,9 +71061,9 @@
, arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
}});
-/***/ },
+/***/ }),
/* 336 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
var metadata = __webpack_require__(327)
, anObject = __webpack_require__(90)
@@ -70533,9 +71081,9 @@
};
}});
-/***/ },
+/***/ }),
/* 337 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global, process) {/**
* @license
@@ -70957,6 +71505,7 @@
this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);
}
catch (err) {
+ this.handleError(targetZone, err);
}
};
ZoneDelegate.prototype._updateTaskCount = function (type, count) {
@@ -70973,7 +71522,6 @@
eventTask: counts.eventTask > 0,
change: type
};
- // TODO(misko): what should happen if it throws?
this.hasTask(this.zone, isEmpty);
}
};
@@ -71051,7 +71599,6 @@
type: this.type,
state: this.state,
source: this.source,
- data: this.data,
zone: this.zone.name,
invoke: this.invoke,
scheduleFn: this.scheduleFn,
@@ -71072,7 +71619,6 @@
function __symbol__(name) {
return '__zone_symbol__' + name;
}
-
var symbolSetTimeout = __symbol__('setTimeout');
var symbolPromise = __symbol__('Promise');
var symbolThen = __symbol__('then');
@@ -71421,9 +71967,9 @@
if (resultPromise instanceof ZoneAwarePromise) {
return resultPromise;
}
- var Ctor = resultPromise.constructor;
- if (!Ctor[symbolThenPatched]) {
- patchThen(Ctor);
+ var ctor = resultPromise.constructor;
+ if (!ctor[symbolThenPatched]) {
+ patchThen(ctor);
}
return resultPromise;
};
@@ -71435,7 +71981,7 @@
global['fetch'] = zoneify(fetch_1);
}
}
- // This is not part of public API, but it is usefull for tests, so we expose it.
+ // This is not part of public API, but it is useful for tests, so we expose it.
Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;
var blacklistedStackFramesSymbol = Zone.__symbol__('blacklistedStackFrames');
var NativeError = global[__symbol__('Error')] = global.Error;
@@ -71454,17 +72000,6 @@
var _this = this;
// We always have to return native error otherwise the browser console will not work.
var error = NativeError.apply(this, arguments);
- if (!error.stack) {
- // in IE, the error.stack will be undefined
- // when error was constructed, it will only
- // be available when throw
- try {
- throw error;
- }
- catch (err) {
- error = err;
- }
- }
// Save original stack trace
var originalStack = error['originalStack'] = error.stack;
// Process the stack trace and rewrite the frames.
@@ -71488,12 +72023,13 @@
case 1 /* transition */:
if (zoneFrame.parent) {
// This is the special frame where zone changed. Print and process it accordingly
- frames_1[i] += " [" + zoneFrame.parent.zone.name + " => " + zoneFrame.zone.name + "]";
zoneFrame = zoneFrame.parent;
}
else {
zoneFrame = null;
}
+ frames_1.splice(i, 1);
+ i--;
break;
default:
frames_1[i] += " [" + zoneFrame.zone.name + "]";
@@ -71593,15 +72129,11 @@
}
});
// Now we need to populate the `blacklistedStackFrames` as well as find the
- // run/runGuraded/runTask frames. This is done by creating a detect zone and then threading
+ // run/runGuarded/runTask frames. This is done by creating a detect zone and then threading
// the execution through all of the above methods so that we can look at the stack trace and
// find the frames of interest.
var detectZone = Zone.current.fork({
name: 'detect',
- onInvoke: function (parentZoneDelegate, currentZone, targetZone, delegate, applyThis, applyArgs, source) {
- // Here only so that it will show up in the stack frame so that it can be black listed.
- return parentZoneDelegate.invoke(targetZone, delegate, applyThis, applyArgs, source);
- },
onHandleError: function (parentZD, current, target, error) {
if (error.originalStack && Error === ZoneAwareError) {
var frames_2 = error.originalStack.split(/\n/);
@@ -71651,17 +72183,51 @@
});
// carefully constructor a stack frame which contains all of the frames of interest which
// need to be detected and blacklisted.
- // carefully constructor a stack frame which contains all of the frames of interest which
- // need to be detected and blacklisted.
- var detectRunFn = function () {
- detectZone.run(function () {
- detectZone.runGuarded(function () {
- throw new ZoneAwareError(ZoneAwareError, NativeError);
- });
+ var childDetectZone = detectZone.fork({
+ name: 'child',
+ onScheduleTask: function (delegate, curr, target, task) {
+ return delegate.scheduleTask(target, task);
+ },
+ onInvokeTask: function (delegate, curr, target, task, applyThis, applyArgs) {
+ return delegate.invokeTask(target, task, applyThis, applyArgs);
+ },
+ onCancelTask: function (delegate, curr, target, task) {
+ return delegate.cancelTask(target, task);
+ },
+ onInvoke: function (delegate, curr, target, callback, applyThis, applyArgs, source) {
+ return delegate.invoke(target, callback, applyThis, applyArgs, source);
+ }
+ });
+ // we need to detect all zone related frames, it will
+ // exceed default stackTraceLimit, so we set it to
+ // larger number here, and restore it after detect finish.
+ var originalStackTraceLimit = Error.stackTraceLimit;
+ Error.stackTraceLimit = 100;
+ // we schedule event/micro/macro task, and invoke them
+ // when onSchedule, so we can get all stack traces for
+ // all kinds of tasks with one error thrown.
+ childDetectZone.run(function () {
+ childDetectZone.runGuarded(function () {
+ var fakeTransitionTo = function (toState, fromState1, fromState2) { };
+ childDetectZone.scheduleEventTask(blacklistedStackFramesSymbol, function () {
+ childDetectZone.scheduleMacroTask(blacklistedStackFramesSymbol, function () {
+ childDetectZone.scheduleMicroTask(blacklistedStackFramesSymbol, function () {
+ throw new ZoneAwareError(ZoneAwareError, NativeError);
+ }, null, function (t) {
+ t._transitionTo = fakeTransitionTo;
+ t.invoke();
+ });
+ }, null, function (t) {
+ t._transitionTo = fakeTransitionTo;
+ t.invoke();
+ }, function () { });
+ }, null, function (t) {
+ t._transitionTo = fakeTransitionTo;
+ t.invoke();
+ }, function () { });
});
- };
- // Cause the error to extract the stack frames.
- detectZone.runTask(detectZone.scheduleMacroTask('detect', detectRunFn, null, function () { return null; }, null));
+ });
+ Error.stackTraceLimit = originalStackTraceLimit;
return global['Zone'] = Zone;
})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
@@ -71694,9 +72260,11 @@
var delegate = prototype[name_1];
if (delegate) {
prototype[name_1] = (function (delegate) {
- return function () {
+ var patched = function () {
return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));
};
+ attachOriginToPatched(patched, delegate);
+ return patched;
})(delegate);
}
};
@@ -71714,9 +72282,10 @@
!!(typeof window !== 'undefined' && window['HTMLElement']);
function patchProperty(obj, prop) {
var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true };
- var originalDesc = Object.getOwnPropertyDescriptor(obj, 'original' + prop);
- if (!originalDesc && desc.get) {
- Object.defineProperty(obj, 'original' + prop, { enumerable: false, configurable: true, get: desc.get });
+ // if the descriptor is not configurable
+ // just return
+ if (!desc.configurable) {
+ return;
}
// A property descriptor cannot have getter/setter and be writable
// deleting the writable and value properties avoids this error:
@@ -71725,77 +72294,109 @@
// getter or setter has been specified
delete desc.writable;
delete desc.value;
+ var originalDescGet = desc.get;
// substr(2) cuz 'onclick' -> 'click', etc
var eventName = prop.substr(2);
var _prop = zoneSymbol('_' + prop);
- desc.set = function (fn) {
- if (this[_prop]) {
- this.removeEventListener(eventName, this[_prop]);
+ desc.set = function (newValue) {
+ // in some of windows's onproperty callback, this is undefined
+ // so we need to check it
+ var target = this;
+ if (!target && obj === _global$1) {
+ target = _global$1;
+ }
+ if (!target) {
+ return;
+ }
+ var previousValue = target[_prop];
+ if (previousValue) {
+ target.removeEventListener(eventName, previousValue);
}
- if (typeof fn === 'function') {
+ if (typeof newValue === 'function') {
var wrapFn = function (event) {
- var result;
- result = fn.apply(this, arguments);
+ var result = newValue.apply(this, arguments);
if (result != undefined && !result) {
event.preventDefault();
}
return result;
};
- this[_prop] = wrapFn;
- this.addEventListener(eventName, wrapFn, false);
+ target[_prop] = wrapFn;
+ target.addEventListener(eventName, wrapFn, false);
}
else {
- this[_prop] = null;
+ target[_prop] = null;
}
};
// The getter would return undefined for unassigned properties but the default value of an
// unassigned property is null
desc.get = function () {
- var r = this[_prop] || null;
- // result will be null when use inline event attribute,
- // such as OK
- // because the onclick function is internal raw uncompiled handler
- // the onclick will be evaluated when first time event was triggered or
- // the property is accessed, https://github.com/angular/zone.js/issues/525
- // so we should use original native get to retrieve the handler
- if (r === null) {
- if (originalDesc && originalDesc.get) {
- r = originalDesc.get.apply(this, arguments);
- if (r) {
- desc.set.apply(this, [r]);
- if (typeof this['removeAttribute'] === 'function') {
- this.removeAttribute(prop);
- }
+ // in some of windows's onproperty callback, this is undefined
+ // so we need to check it
+ var target = this;
+ if (!target && obj === _global$1) {
+ target = _global$1;
+ }
+ if (!target) {
+ return null;
+ }
+ if (target.hasOwnProperty(_prop)) {
+ return target[_prop];
+ }
+ else if (originalDescGet) {
+ // result will be null when use inline event attribute,
+ // such as OK
+ // because the onclick function is internal raw uncompiled handler
+ // the onclick will be evaluated when first time event was triggered or
+ // the property is accessed, https://github.com/angular/zone.js/issues/525
+ // so we should use original native get to retrieve the handler
+ var value = originalDescGet.apply(this);
+ if (value) {
+ desc.set.apply(this, [value]);
+ if (typeof target['removeAttribute'] === 'function') {
+ target.removeAttribute(prop);
}
+ return value;
}
}
- return this[_prop] || null;
+ return null;
};
Object.defineProperty(obj, prop, desc);
}
-
function patchOnProperties(obj, properties) {
- var onProperties = [];
- for (var prop in obj) {
- if (prop.substr(0, 2) == 'on') {
- onProperties.push(prop);
- }
- }
- for (var j = 0; j < onProperties.length; j++) {
- patchProperty(obj, onProperties[j]);
- }
if (properties) {
for (var i = 0; i < properties.length; i++) {
patchProperty(obj, 'on' + properties[i]);
}
}
+ else {
+ var onProperties = [];
+ for (var prop in obj) {
+ if (prop.substr(0, 2) == 'on') {
+ onProperties.push(prop);
+ }
+ }
+ for (var j = 0; j < onProperties.length; j++) {
+ patchProperty(obj, onProperties[j]);
+ }
+ }
}
-
var EVENT_TASKS = zoneSymbol('eventTasks');
// For EventTarget
var ADD_EVENT_LISTENER = 'addEventListener';
var REMOVE_EVENT_LISTENER = 'removeEventListener';
- function findExistingRegisteredTask(target, handler, name, capture, remove) {
+ // compare the EventListenerOptionsOrCapture
+ // 1. if the options is usCapture: boolean, compare the useCpature values directly
+ // 2. if the options is EventListerOptions, only compare the capture
+ function compareEventListenerOptions(left, right) {
+ var leftCapture = (typeof left === 'boolean') ?
+ left :
+ ((typeof left === 'object') ? (left && left.capture) : false);
+ var rightCapture = (typeof right === 'boolean') ?
+ right :
+ ((typeof right === 'object') ? (right && right.capture) : false);
+ return !!leftCapture === !!rightCapture;
+ }
+ function findExistingRegisteredTask(target, handler, name, options, remove) {
var eventTasks = target[EVENT_TASKS];
if (eventTasks) {
for (var i = 0; i < eventTasks.length; i++) {
@@ -71803,7 +72404,7 @@
var data = eventTask.data;
var listener = data.handler;
if ((data.handler === handler || listener.listener === handler) &&
- data.useCapturing === capture && data.eventName === name) {
+ compareEventListenerOptions(data.options, options) && data.eventName === name) {
if (remove) {
eventTasks.splice(i, 1);
}
@@ -71827,25 +72428,54 @@
}
var defaultListenerMetaCreator = function (self, args) {
return {
- useCapturing: args[2],
+ options: args[2],
eventName: args[0],
handler: args[1],
target: self || _global$1,
name: args[0],
+ crossContext: false,
invokeAddFunc: function (addFnSymbol, delegate) {
- if (delegate && delegate.invoke) {
- return this.target[addFnSymbol](this.eventName, delegate.invoke, this.useCapturing);
+ // check if the data is cross site context, if it is, fallback to
+ // remove the delegate directly and try catch error
+ if (!this.crossContext) {
+ if (delegate && delegate.invoke) {
+ return this.target[addFnSymbol](this.eventName, delegate.invoke, this.options);
+ }
+ else {
+ return this.target[addFnSymbol](this.eventName, delegate, this.options);
+ }
}
else {
- return this.target[addFnSymbol](this.eventName, delegate, this.useCapturing);
+ // add a if/else branch here for performance concern, for most times
+ // cross site context is false, so we don't need to try/catch
+ try {
+ return this.target[addFnSymbol](this.eventName, delegate, this.options);
+ }
+ catch (err) {
+ // do nothing here is fine, because objects in a cross-site context are unusable
+ }
}
},
invokeRemoveFunc: function (removeFnSymbol, delegate) {
- if (delegate && delegate.invoke) {
- return this.target[removeFnSymbol](this.eventName, delegate.invoke, this.useCapturing);
+ // check if the data is cross site context, if it is, fallback to
+ // remove the delegate directly and try catch error
+ if (!this.crossContext) {
+ if (delegate && delegate.invoke) {
+ return this.target[removeFnSymbol](this.eventName, delegate.invoke, this.options);
+ }
+ else {
+ return this.target[removeFnSymbol](this.eventName, delegate, this.options);
+ }
}
else {
- return this.target[removeFnSymbol](this.eventName, delegate, this.useCapturing);
+ // add a if/else branch here for performance concern, for most times
+ // cross site context is false, so we don't need to try/catch
+ try {
+ return this.target[removeFnSymbol](this.eventName, delegate, this.options);
+ }
+ catch (err) {
+ // do nothing here is fine, because objects in a cross-site context are unusable
+ }
}
}
};
@@ -71865,12 +72495,12 @@
}
function cancelEventListener(eventTask) {
var meta = eventTask.data;
- findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);
+ findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.options, true);
return meta.invokeRemoveFunc(removeFnSymbol, eventTask);
}
return function zoneAwareAddListener(self, args) {
var data = metaCreator(self, args);
- data.useCapturing = data.useCapturing || defaultUseCapturing;
+ data.options = data.options || defaultUseCapturing;
// - Inside a Web Worker, `this` is undefined, the context is `global`
// - When `addEventListener` is called on the global context in strict mode, `this` is undefined
// see https://github.com/angular/zone.js/issues/190
@@ -71889,8 +72519,9 @@
validZoneHandler = data.handler && data.handler.toString() === '[object FunctionWrapper]';
}
catch (error) {
- // Returning nothing here is fine, because objects in a cross-site context are unusable
- return;
+ // we can still try to add the data.handler even we are in cross site context
+ data.crossContext = true;
+ return data.invokeAddFunc(addFnSymbol, data.handler);
}
// Ignore special listeners of IE11 & Edge dev tools, see
// https://github.com/angular/zone.js/issues/150
@@ -71898,7 +72529,7 @@
return data.invokeAddFunc(addFnSymbol, data.handler);
}
if (!allowDuplicates) {
- var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.useCapturing, false);
+ var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.options, false);
if (eventTask) {
// we already registered, so this will have noop.
return data.invokeAddFunc(addFnSymbol, eventTask);
@@ -71916,11 +72547,34 @@
var defaultUseCapturing = useCapturingParam ? false : undefined;
return function zoneAwareRemoveListener(self, args) {
var data = metaCreator(self, args);
- data.useCapturing = data.useCapturing || defaultUseCapturing;
+ data.options = data.options || defaultUseCapturing;
// - Inside a Web Worker, `this` is undefined, the context is `global`
// - When `addEventListener` is called on the global context in strict mode, `this` is undefined
// see https://github.com/angular/zone.js/issues/190
- var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.useCapturing, true);
+ var delegate = null;
+ if (typeof data.handler == 'function') {
+ delegate = data.handler;
+ }
+ else if (data.handler && data.handler.handleEvent) {
+ delegate = function (event) { return data.handler.handleEvent(event); };
+ }
+ var validZoneHandler = false;
+ try {
+ // In cross site contexts (such as WebDriver frameworks like Selenium),
+ // accessing the handler object here will cause an exception to be thrown which
+ // will fail tests prematurely.
+ validZoneHandler = data.handler && data.handler.toString() === '[object FunctionWrapper]';
+ }
+ catch (error) {
+ data.crossContext = true;
+ return data.invokeRemoveFunc(symbol, data.handler);
+ }
+ // Ignore special listeners of IE11 & Edge dev tools, see
+ // https://github.com/angular/zone.js/issues/150
+ if (!delegate || validZoneHandler) {
+ return data.invokeRemoveFunc(symbol, data.handler);
+ }
+ var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.options, true);
if (eventTask) {
eventTask.zone.cancelTask(eventTask);
}
@@ -71931,8 +72585,6 @@
}
- var zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER);
- var zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER);
function patchEventTargetMethods(obj, addFnName, removeFnName, metaCreator) {
if (addFnName === void 0) { addFnName = ADD_EVENT_LISTENER; }
if (removeFnName === void 0) { removeFnName = REMOVE_EVENT_LISTENER; }
@@ -71952,6 +72604,8 @@
var OriginalClass = _global$1[className];
if (!OriginalClass)
return;
+ // keep original class in global
+ _global$1[zoneSymbol(className)] = OriginalClass;
_global$1[className] = function () {
var a = bindArguments(arguments, className);
switch (a.length) {
@@ -71974,6 +72628,8 @@
throw new Error('Arg list too long.');
}
};
+ // attach original delegate to patched function
+ attachOriginToPatched(_global$1[className], OriginalClass);
var instance = new OriginalClass(function () { });
var prop;
for (prop in instance) {
@@ -71991,6 +72647,10 @@
set: function (fn) {
if (typeof fn === 'function') {
this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);
+ // keep callback in wrapped function so we can
+ // use it in Function.prototype.toString to return
+ // the native one.
+ attachOriginToPatched(this[originalInstanceKey][prop], fn);
}
else {
this[originalInstanceKey][prop] = fn;
@@ -72009,7 +72669,6 @@
}
}
}
-
function createNamedFn(name, delegate) {
try {
return (Function('f', "return function " + name + "(){return f(this, arguments)}"))(delegate);
@@ -72035,6 +72694,7 @@
if (proto && !(delegate = proto[delegateName])) {
delegate = proto[delegateName] = proto[name];
proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name));
+ attachOriginToPatched(proto[name], delegate);
}
return delegate;
}
@@ -72056,6 +72716,9 @@
}
return result;
}
+ function attachOriginToPatched(patched, original) {
+ patched[zoneSymbol('OriginalDelegate')] = original;
+ }
Zone[zoneSymbol('patchEventTargetMethods')] = patchEventTargetMethods;
Zone[zoneSymbol('patchOnProperties')] = patchOnProperties;
@@ -72082,7 +72745,6 @@
delete tasksByHandleId[data.handleId];
}
}
-
data.args[0] = timer;
data.handleId = setNative.apply(window, data.args);
tasksByHandleId[data.handleId] = task;
@@ -72139,6 +72801,49 @@
}; });
}
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ // override Function.prototype.toString to make zone.js patched function
+ // look like native function
+ function patchFuncToString() {
+ var originalFunctionToString = Function.prototype.toString;
+ var g = typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global;
+ Function.prototype.toString = function () {
+ if (typeof this === 'function') {
+ if (this[zoneSymbol('OriginalDelegate')]) {
+ return originalFunctionToString.apply(this[zoneSymbol('OriginalDelegate')], arguments);
+ }
+ if (this === Promise) {
+ var nativePromise = g[zoneSymbol('Promise')];
+ if (nativePromise) {
+ return originalFunctionToString.apply(nativePromise, arguments);
+ }
+ }
+ if (this === Error) {
+ var nativeError = g[zoneSymbol('Error')];
+ if (nativeError) {
+ return originalFunctionToString.apply(nativeError, arguments);
+ }
+ }
+ }
+ return originalFunctionToString.apply(this, arguments);
+ };
+ }
+ function patchObjectToString() {
+ var originalObjectToString = Object.prototype.toString;
+ Object.prototype.toString = function () {
+ if (this instanceof Promise) {
+ return '[object Promise]';
+ }
+ return originalObjectToString.apply(this, arguments);
+ };
+ }
+
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -72188,13 +72893,11 @@
return desc;
};
}
-
function _redefineProperty(obj, prop, desc) {
var originalConfigurableFlag = desc.configurable;
desc = rewriteDescriptor(obj, prop, desc);
return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
}
-
function isUnconfigurable(obj, prop) {
return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];
}
@@ -72331,10 +73034,10 @@
if (canPatchViaPropertyDescriptor()) {
// for browsers that we can patch the descriptor: Chrome & Firefox
if (isBrowser) {
- patchOnProperties(window, eventNames);
+ patchOnProperties(window, eventNames.concat(['resize']));
patchOnProperties(Document.prototype, eventNames);
- if (typeof SVGElement !== 'undefined') {
- patchOnProperties(SVGElement.prototype, eventNames);
+ if (typeof window['SVGElement'] !== 'undefined') {
+ patchOnProperties(window['SVGElement'].prototype, eventNames);
}
patchOnProperties(HTMLElement.prototype, eventNames);
}
@@ -72374,18 +73077,40 @@
// by default XMLHttpRequest.prototype.onreadystatechange is undefined
// without adding enumerable and configurable will cause onreadystatechange
// non-configurable
- Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {
- enumerable: true,
- configurable: true,
- get: function () {
- return true;
- }
- });
- var req = new XMLHttpRequest();
- var result = !!req.onreadystatechange;
- // restore original desc
- Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {});
- return result;
+ // and if XMLHttpRequest.prototype.onreadystatechange is undefined,
+ // we should set a real desc instead a fake one
+ if (xhrDesc) {
+ Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {
+ enumerable: true,
+ configurable: true,
+ get: function () {
+ return true;
+ }
+ });
+ var req = new XMLHttpRequest();
+ var result = !!req.onreadystatechange;
+ // restore original desc
+ Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {});
+ return result;
+ }
+ else {
+ Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {
+ enumerable: true,
+ configurable: true,
+ get: function () {
+ return this[zoneSymbol('fakeonreadystatechange')];
+ },
+ set: function (value) {
+ this[zoneSymbol('fakeonreadystatechange')] = value;
+ }
+ });
+ var req = new XMLHttpRequest();
+ var detectFunc = function () { };
+ req.onreadystatechange = detectFunc;
+ var result = req[zoneSymbol('fakeonreadystatechange')] === detectFunc;
+ req.onreadystatechange = null;
+ return result;
+ }
}
var unboundKey = zoneSymbol('unbound');
@@ -72417,7 +73142,6 @@
for (var i = 0; i < eventNames.length; i++) {
_loop_1(i);
}
-
}
/**
@@ -72454,6 +73178,7 @@
}
return _registerElement.apply(document, [name, opts]);
};
+ attachOriginToPatched(document.registerElement, _registerElement);
}
/**
@@ -72573,6 +73298,10 @@
if (_global['navigator'] && _global['navigator'].geolocation) {
patchPrototype(_global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);
}
+ // patch Func.prototype.toString to let them look like native
+ patchFuncToString();
+ // patch Object.prototype.toString to let them look like native
+ patchObjectToString();
// handle unhandled promise rejection
function findPromiseRejectionHandler(evtName) {
return function (e) {
@@ -72607,9 +73336,9 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(338)))
-/***/ },
+/***/ }),
/* 338 */
-/***/ function(module, exports) {
+/***/ (function(module, exports) {
// shim for using process in browser
var process = module.exports = {};
@@ -72781,6 +73510,10 @@
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
+ process.prependListener = noop;
+ process.prependOnceListener = noop;
+
+ process.listeners = function (name) { return [] }
process.binding = function (name) {
throw new Error('process.binding is not supported');
@@ -72793,9 +73526,9 @@
process.umask = function() { return 0; };
-/***/ },
+/***/ }),
/* 339 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(5);
@@ -72803,9 +73536,9 @@
Observable_1.Observable.prototype.toPromise = toPromise_1.toPromise;
//# sourceMappingURL=toPromise.js.map
-/***/ },
+/***/ }),
/* 340 */
-/***/ function(module, exports, __webpack_require__) {
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(6);
@@ -72880,5 +73613,5 @@
exports.toPromise = toPromise;
//# sourceMappingURL=toPromise.js.map
-/***/ }
+/***/ })
/******/ ]);
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..d87624f
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,4301 @@
+{
+ "name": "angular2-busy",
+ "version": "2.0.4",
+ "lockfileVersion": 1,
+ "dependencies": {
+ "@angular/animations": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.2.3.tgz",
+ "integrity": "sha1-aGkmpp0MnCapvK0mzW+9AkW7bBs=",
+ "dev": true
+ },
+ "@angular/common": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.2.3.tgz",
+ "integrity": "sha1-4Bc2EutqnPjdUL00yKky286R0r8=",
+ "dev": true
+ },
+ "@angular/compiler": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.2.3.tgz",
+ "integrity": "sha1-6c3tR5lM9K23Ui13jEax98UmMwI=",
+ "dev": true
+ },
+ "@angular/compiler-cli": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.2.3.tgz",
+ "integrity": "sha1-M6o/v02YecwUKj7M5GmWvshAwCk=",
+ "dev": true
+ },
+ "@angular/core": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.2.3.tgz",
+ "integrity": "sha1-q3MpwY1P0wWHK4Jxj/rj525NRUk=",
+ "dev": true
+ },
+ "@angular/forms": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.2.3.tgz",
+ "integrity": "sha1-/3cPCkXzfNmafCDO3OVg0BjJyjs=",
+ "dev": true
+ },
+ "@angular/http": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/http/-/http-4.2.3.tgz",
+ "integrity": "sha1-io/8j9/P2huSz8M178ZY7dS2pno=",
+ "dev": true
+ },
+ "@angular/platform-browser": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.2.3.tgz",
+ "integrity": "sha1-mhrM/J6TqVYQErugN6BLQc7cAlU=",
+ "dev": true
+ },
+ "@angular/platform-browser-dynamic": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.2.3.tgz",
+ "integrity": "sha1-h85B9XedMcvGjHHba/66IW0TVVQ=",
+ "dev": true
+ },
+ "@angular/router": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-4.2.3.tgz",
+ "integrity": "sha1-RJJDGxsFr4X+ttzCspg4IAazqdo=",
+ "dev": true
+ },
+ "@angular/tsc-wrapped": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.2.3.tgz",
+ "integrity": "sha1-GYPmXZypY5XdUqCpBKz+isjlck0=",
+ "dev": true
+ },
+ "@types/core-js": {
+ "version": "0.9.41",
+ "resolved": "https://registry.npmjs.org/@types/core-js/-/core-js-0.9.41.tgz",
+ "integrity": "sha1-z+zrY8K+qin4giUsfBjg6Ucf9OI=",
+ "dev": true
+ },
+ "abbrev": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "dev": true
+ },
+ "accepts": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "dev": true
+ },
+ "acorn": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
+ "dev": true
+ },
+ "agent-base": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
+ "dev": true,
+ "dependencies": {
+ "semver": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
+ "dev": true
+ }
+ }
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "optional": true
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-align": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
+ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "dev": true,
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz",
+ "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=",
+ "dev": true
+ }
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+ "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz",
+ "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==",
+ "dev": true,
+ "optional": true
+ },
+ "archy": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "dev": true,
+ "optional": true
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
+ "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=",
+ "dev": true
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
+ "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=",
+ "dev": true,
+ "optional": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true,
+ "optional": true
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true,
+ "optional": true
+ },
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true,
+ "optional": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true
+ },
+ "awesome-typescript-loader": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-0.19.1.tgz",
+ "integrity": "sha1-mXSeNOELSBjlFtsOCPlqy3nIebI=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "dev": true,
+ "optional": true
+ },
+ "babel-code-frame": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
+ "dev": true
+ },
+ "babel-polyfill": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
+ "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
+ "dev": true
+ },
+ "babel-runtime": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base64-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
+ "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=",
+ "dev": true
+ },
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true
+ },
+ "big.js": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz",
+ "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
+ "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
+ "dev": true
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",
+ "dev": true
+ },
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true
+ },
+ "bootstrap": {
+ "version": "4.0.0-alpha.6",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz",
+ "integrity": "sha1-T1TdM6wN6sOyhAe8LffsYIhpycg=",
+ "dev": true
+ },
+ "boxen": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.1.0.tgz",
+ "integrity": "sha1-sbad1SIwXoB6md7ud329blFnsQI=",
+ "dev": true,
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz",
+ "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=",
+ "dev": true
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "dev": true
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true
+ },
+ "browserify-aes": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
+ "integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
+ "dev": true
+ },
+ "browserify-zlib": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "bytes": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz",
+ "integrity": "sha1-1baAoWW2IBc5rLYRVCqrwtjOsHA=",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "caniuse-db": {
+ "version": "1.0.30000692",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000692.tgz",
+ "integrity": "sha1-Pampk1OtvOoeFCuZ9g7MYhbfR6U=",
+ "dev": true
+ },
+ "capture-stack-trace": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
+ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true,
+ "optional": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true
+ },
+ "clean-css": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.4.tgz",
+ "integrity": "sha1-7siBHbJ0V+AHjYypIfqBty+oK/Q=",
+ "dev": true
+ },
+ "cli-boxes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
+ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true
+ }
+ }
+ },
+ "clone": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
+ "dev": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "columnify": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz",
+ "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "dev": true
+ },
+ "commander": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true
+ },
+ "compressible": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz",
+ "integrity": "sha1-/tocf3YXkScyspv4zyYlKiC57s0=",
+ "dev": true
+ },
+ "compression": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz",
+ "integrity": "sha1-zOsSHsydCcUtetDDNQ6pPd1AK8M=",
+ "dev": true,
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "compression-webpack-plugin": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-0.3.2.tgz",
+ "integrity": "sha1-Ht+w50nXNm0+cBZwxGM1mywM9wQ=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "dev": true
+ },
+ "configstore": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.0.tgz",
+ "integrity": "sha1-Rd+QcHPibfoc9LLVL1tgVF6qEdE=",
+ "dev": true
+ },
+ "connect-history-api-fallback": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz",
+ "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=",
+ "dev": true
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+ "dev": true
+ },
+ "content-type": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
+ "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=",
+ "dev": true
+ },
+ "cookie": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+ "dev": true
+ },
+ "copy-webpack-plugin": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-3.0.1.tgz",
+ "integrity": "sha1-m7Pp1sYGTeZcW85EzyNrTQd6ITE=",
+ "dev": true,
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "core-js": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "create-error-class": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
+ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true
+ },
+ "cross-env": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-3.2.4.tgz",
+ "integrity": "sha1-ngWF8neGTtQhznVvgamA/w1piro=",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true
+ },
+ "cross-spawn-async": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz",
+ "integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=",
+ "dev": true
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "optional": true
+ },
+ "crypto-browserify": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
+ "integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
+ "dev": true
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "css-select": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+ "dev": true
+ },
+ "css-what": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
+ "dev": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
+ "dev": true
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true,
+ "optional": true
+ },
+ "depd": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=",
+ "dev": true
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true
+ },
+ "diff": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz",
+ "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=",
+ "dev": true
+ },
+ "dom-converter": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
+ "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
+ "dev": true,
+ "dependencies": {
+ "utila": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
+ "dev": true
+ }
+ }
+ },
+ "dom-serializer": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+ "dev": true
+ }
+ }
+ },
+ "domain-browser": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
+ "dev": true
+ },
+ "domelementtype": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
+ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
+ "dev": true
+ },
+ "domutils": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.1.1.tgz",
+ "integrity": "sha1-qEk/C3te7sglJbXHWH+n3nyoWcE=",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.14",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz",
+ "integrity": "sha1-ZK8Pnv08PGrNV9cfg7Scp+6cS0M=",
+ "dev": true
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
+ "dev": true
+ },
+ "enhanced-resolve": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
+ "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
+ "dev": true
+ },
+ "entities": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
+ "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true
+ },
+ "es6-promise": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-3.0.0.tgz",
+ "integrity": "sha1-IiJrkpVzF/llJH7f3pKV+D7+voY=",
+ "dev": true
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz",
+ "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
+ "dev": true
+ },
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+ "dev": true
+ },
+ "eventsource": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz",
+ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
+ "dev": true
+ },
+ "execa": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.4.0.tgz",
+ "integrity": "sha1-TrZGejaglfq7KXD/nV4/t7zm68M=",
+ "dev": true,
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true
+ },
+ "express": {
+ "version": "4.15.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz",
+ "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=",
+ "dev": true,
+ "dependencies": {
+ "debug": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+ "dev": true
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true
+ },
+ "extract-text-webpack-plugin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz",
+ "integrity": "sha1-yVvzy6rEnclvHcbgclSfu2VMzSw=",
+ "dev": true,
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
+ "dev": true
+ },
+ "faye-websocket": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "dev": true
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true
+ },
+ "filled-array": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz",
+ "integrity": "sha1-w8T2xmO5I0WamqKZEtLQMfFQf4Q=",
+ "dev": true
+ },
+ "finalhandler": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz",
+ "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=",
+ "dev": true,
+ "dependencies": {
+ "debug": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+ "dev": true
+ }
+ }
+ },
+ "findup-sync": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+ "dev": true,
+ "dependencies": {
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "optional": true
+ },
+ "forwarded": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz",
+ "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=",
+ "dev": true
+ },
+ "fresh": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
+ "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "0.26.7",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
+ "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz",
+ "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "bundled": true,
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "bundled": true,
+ "dev": true
+ },
+ "boom": {
+ "version": "2.10.1",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.7",
+ "bundled": true,
+ "dev": true
+ },
+ "buffer-shims": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "extend": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "bundled": true,
+ "dev": true
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true,
+ "dev": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "bundled": true,
+ "dev": true
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jodid25519": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "bundled": true,
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "bundled": true,
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "node-pre-gyp": {
+ "version": "0.6.36",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "bundled": true,
+ "dev": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.9",
+ "bundled": true,
+ "dev": true
+ },
+ "request": {
+ "version": "2.81.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "bundled": true,
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sshpk": {
+ "version": "1.13.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "tar-pack": {
+ "version": "3.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+ "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=",
+ "dev": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "dev": true
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true
+ },
+ "globby": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
+ "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
+ "dev": true,
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "got": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
+ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "optional": true
+ },
+ "has": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true,
+ "optional": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "optional": true
+ },
+ "he": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+ "dev": true
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+ "dev": true
+ },
+ "html-minifier": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.2.tgz",
+ "integrity": "sha1-1zvD/0SJQkCIGM5gm/P7DqfvTrc=",
+ "dev": true
+ },
+ "html-webpack-plugin": {
+ "version": "2.28.0",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz",
+ "integrity": "sha1-LnhjtX5f1I/iYzA+L/yTTDBk0Ak=",
+ "dev": true,
+ "dependencies": {
+ "bluebird": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "htmlparser2": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
+ "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
+ "dev": true,
+ "dependencies": {
+ "domutils": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
+ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "http-errors": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
+ "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=",
+ "dev": true
+ },
+ "http-proxy": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
+ "dev": true
+ },
+ "http-proxy-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
+ "integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
+ "dev": true
+ },
+ "http-proxy-middleware": {
+ "version": "0.17.4",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz",
+ "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "optional": true
+ },
+ "https-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
+ "dev": true
+ },
+ "https-proxy-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
+ "dev": true
+ },
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true
+ },
+ "install": {
+ "version": "0.8.9",
+ "resolved": "https://registry.npmjs.org/install/-/install-0.8.9.tgz",
+ "integrity": "sha1-n0tcDRhR74cunfheT3Fi1OXc2+0=",
+ "dev": true
+ },
+ "interpret": {
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
+ "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "dev": true
+ },
+ "ipaddr.js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz",
+ "integrity": "sha1-HgOlL9rYOou7KyXL9JmLTP/NPew=",
+ "dev": true
+ },
+ "is-absolute": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
+ "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
+ "dev": true,
+ "dependencies": {
+ "is-windows": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+ "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
+ "dev": true
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
+ "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
+ "dev": true
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true
+ },
+ "is-npm": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
+ "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
+ "is-relative": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
+ "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true,
+ "optional": true
+ },
+ "is-unc-path": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
+ "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz",
+ "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true,
+ "optional": true
+ },
+ "jasmine-core": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.6.4.tgz",
+ "integrity": "sha1-3skmzQqfoof7bbXHVfpIfnTOysU=",
+ "dev": true
+ },
+ "jquery": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz",
+ "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
+ "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz",
+ "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=",
+ "dev": true
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "optional": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true,
+ "optional": true
+ },
+ "json3": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+ "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true
+ },
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true
+ },
+ "latest-version": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
+ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "dev": true
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "less": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz",
+ "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=",
+ "dev": true
+ },
+ "less-loader": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-2.2.3.tgz",
+ "integrity": "sha1-ttj4E5yEk98J2ZKpOgBzSwj4RSg=",
+ "dev": true
+ },
+ "listify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/listify/-/listify-1.0.0.tgz",
+ "integrity": "sha1-A8p7otFQ1CZ3c/dOV1WNEFPSvuM=",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "lockfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz",
+ "integrity": "sha1-Jjj8OaAzHpysGgS3F5mTHJxQ33k=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz",
+ "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=",
+ "dev": true
+ },
+ "make-error": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz",
+ "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=",
+ "dev": true
+ },
+ "make-error-cause": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
+ "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
+ "dev": true
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
+ },
+ "memory-fs": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
+ "dev": true
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+ "dev": true
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true
+ },
+ "mime": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
+ "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
+ "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+ "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
+ "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=",
+ "dev": true,
+ "optional": true
+ },
+ "ncname": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz",
+ "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ },
+ "no-case": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz",
+ "integrity": "sha1-euuhxzpSGEJlVUt9wDuvcg34AIE=",
+ "dev": true
+ },
+ "node-dir": {
+ "version": "0.1.17",
+ "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz",
+ "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
+ "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
+ "dev": true,
+ "dependencies": {
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.6.36",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz",
+ "integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=",
+ "dev": true,
+ "optional": true
+ },
+ "node-status-codes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+ "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
+ "dev": true
+ },
+ "node-zopfli": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/node-zopfli/-/node-zopfli-2.0.2.tgz",
+ "integrity": "sha1-p6RzrpKq6oXUxo1Fu/LJRMRhFrg=",
+ "dev": true,
+ "optional": true
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "dev": true,
+ "optional": true
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz",
+ "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=",
+ "dev": true
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz",
+ "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==",
+ "dev": true,
+ "optional": true
+ },
+ "nth-check": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
+ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+ "dev": true
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true
+ },
+ "object.pick": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz",
+ "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true
+ },
+ "on-headers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true
+ },
+ "open": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
+ }
+ }
+ },
+ "original": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz",
+ "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=",
+ "dev": true,
+ "dependencies": {
+ "url-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz",
+ "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=",
+ "dev": true
+ }
+ }
+ },
+ "os-browserify": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+ "dev": true
+ },
+ "package-json": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
+ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "dev": true
+ },
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "dev": true
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz",
+ "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+ "dev": true
+ },
+ "pbkdf2-compat": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
+ "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true,
+ "optional": true
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true
+ },
+ "popsicle": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/popsicle/-/popsicle-5.0.1.tgz",
+ "integrity": "sha1-lWBtmf5cEsPFmqrqKiomwsUBysY=",
+ "dev": true,
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
+ "dev": true
+ },
+ "delayed-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
+ "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
+ "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
+ "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=",
+ "dev": true
+ }
+ }
+ },
+ "popsicle-proxy-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/popsicle-proxy-agent/-/popsicle-proxy-agent-1.0.0.tgz",
+ "integrity": "sha1-W4jV0SU6CmAcummGjLpvXbxdCCk=",
+ "dev": true
+ },
+ "popsicle-retry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/popsicle-retry/-/popsicle-retry-2.0.0.tgz",
+ "integrity": "sha1-oLRFWMe1BktQ5KvQoFmhmbatGl8=",
+ "dev": true
+ },
+ "popsicle-status": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/popsicle-status/-/popsicle-status-1.0.2.tgz",
+ "integrity": "sha1-oCQWcnWAckQS4J0TA/BnzqPKDhM=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true
+ },
+ "postcss-loader": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-0.9.1.tgz",
+ "integrity": "sha1-h6PnD1jkbWinW63Gcl2epHc/0dc=",
+ "dev": true
+ },
+ "postcss-value-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "pretty-error": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
+ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "optional": true
+ },
+ "promise-finally": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/promise-finally/-/promise-finally-2.2.1.tgz",
+ "integrity": "sha1-ImFsS6kCkW6Yi9RsVNfKoIkQzXc=",
+ "dev": true
+ },
+ "proxy-addr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz",
+ "integrity": "sha1-J+VF9pYKRKYn2bREZ+NcG2tM4vM=",
+ "dev": true
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "querystringify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz",
+ "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "dev": true,
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true
+ }
+ }
+ },
+ "range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "raw-loader": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
+ "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
+ "dev": true
+ },
+ "rc": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
+ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
+ "dev": true
+ },
+ "read-all-stream": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.0.tgz",
+ "integrity": "sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg==",
+ "dev": true
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true
+ },
+ "reflect-metadata": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.10.tgz",
+ "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+ "dev": true
+ },
+ "regex-cache": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
+ "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+ "dev": true
+ },
+ "registry-auth-token": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz",
+ "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=",
+ "dev": true
+ },
+ "registry-url": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
+ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "dev": true
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+ "dev": true
+ },
+ "remove-trailing-separator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz",
+ "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=",
+ "dev": true
+ },
+ "renderkid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz",
+ "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
+ "dev": true,
+ "dependencies": {
+ "utila": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
+ "dev": true
+ }
+ }
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "optional": true
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz",
+ "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=",
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "dev": true,
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true
+ }
+ }
+ },
+ "ripemd160": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
+ "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.1.1.tgz",
+ "integrity": "sha1-/EiSKWW8bF77zA/kbpCjr2QTens=",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz",
+ "integrity": "sha512-aSLEDudu6OoRr/2rU609gRmnYboRLxgDG1z9o2Q0os7236FwvcqIOO8r8U5JUEwivZOhDaKlFO4SbPTJYyBEyQ==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ },
+ "semver-diff": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
+ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "dev": true
+ },
+ "send": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz",
+ "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=",
+ "dev": true,
+ "dependencies": {
+ "debug": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+ "dev": true
+ },
+ "mime": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
+ "dev": true
+ }
+ }
+ },
+ "serve-index": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.0.tgz",
+ "integrity": "sha1-0rKA/FYNYW7oG0i/D6gqvtJIXOc=",
+ "dev": true
+ },
+ "serve-static": {
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz",
+ "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true,
+ "optional": true
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
+ "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true,
+ "optional": true
+ },
+ "slide": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
+ "dev": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "optional": true
+ },
+ "sockjs": {
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz",
+ "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=",
+ "dev": true,
+ "dependencies": {
+ "uuid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "dev": true
+ }
+ }
+ },
+ "sockjs-client": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz",
+ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=",
+ "dev": true,
+ "dependencies": {
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "dev": true
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true
+ },
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz",
+ "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+ "dev": true
+ },
+ "stream-browserify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "dev": true
+ },
+ "stream-cache": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz",
+ "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=",
+ "dev": true
+ },
+ "stream-http": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz",
+ "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz",
+ "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
+ "dev": true
+ }
+ }
+ },
+ "string-template": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz",
+ "integrity": "sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true,
+ "optional": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true
+ },
+ "symbol-observable": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz",
+ "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=",
+ "dev": true
+ },
+ "tapable": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
+ "dev": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true
+ },
+ "tar-pack": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz",
+ "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=",
+ "dev": true,
+ "optional": true
+ },
+ "term-size": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-0.1.1.tgz",
+ "integrity": "sha1-hzYLljlsq1dgljcUzaDQy+7K2co=",
+ "dev": true
+ },
+ "tether": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/tether/-/tether-1.4.0.tgz",
+ "integrity": "sha1-D5+hcfdb9YSF2BSelHmdeudNHBo=",
+ "dev": true
+ },
+ "thenify": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
+ "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
+ "dev": true
+ },
+ "throat": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-2.0.2.tgz",
+ "integrity": "sha1-qfzoCLaeEzpjJZB4DzQsMKYkmwI=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz",
+ "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=",
+ "dev": true
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
+ "toposort": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz",
+ "integrity": "sha1-8CzYp0vYvi/A6YYRw7rLlaFxhpw=",
+ "dev": true
+ },
+ "touch": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz",
+ "integrity": "sha1-RJy+LbrlqMgDjjDXH6D/RklHxN4=",
+ "dev": true,
+ "dependencies": {
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true
+ }
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "dev": true
+ },
+ "ts-loader": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-0.8.2.tgz",
+ "integrity": "sha1-czEpbRPVsxBc2QXOvKORQ+7SslU=",
+ "dev": true
+ },
+ "tsconfig": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-2.2.0.tgz",
+ "integrity": "sha1-f8FuJ5DatwwEm9hhwcUyu3cOCDc=",
+ "dev": true
+ },
+ "tsickle": {
+ "version": "0.21.6",
+ "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz",
+ "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz",
+ "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=",
+ "dev": true
+ },
+ "tslint": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/tslint/-/tslint-4.5.1.tgz",
+ "integrity": "sha1-BTVocb7yOkNJBnNABvwYgza6gks=",
+ "dev": true,
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true
+ }
+ }
+ },
+ "tsutils": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz",
+ "integrity": "sha1-ufmrROVa+WgYMdXyjQrur1x1DLA=",
+ "dev": true
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "optional": true
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "type-is": {
+ "version": "1.6.15",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+ "dev": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "typescript": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.2.2.tgz",
+ "integrity": "sha1-YGAiUIR5tV/6NotY/uljoD39eww=",
+ "dev": true
+ },
+ "typings": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/typings/-/typings-0.8.1.tgz",
+ "integrity": "sha1-lP3uTK0MEoM9h2YMXMH6YtriHaQ=",
+ "dev": true,
+ "dependencies": {
+ "bluebird": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=",
+ "dev": true
+ },
+ "boxen": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.3.1.tgz",
+ "integrity": "sha1-p9iYJDrmIvertrtgTXQKdsalRhs=",
+ "dev": true
+ },
+ "configstore": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz",
+ "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
+ "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+ "dev": true
+ },
+ "got": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
+ "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
+ "dev": true
+ },
+ "latest-version": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz",
+ "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "package-json": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz",
+ "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
+ "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
+ "dev": true
+ },
+ "unzip-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+ "dev": true
+ },
+ "update-notifier": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.6.3.tgz",
+ "integrity": "sha1-d23sjaoT6WKjQeih2YNUMGtnrgg=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
+ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "dev": true
+ },
+ "xdg-basedir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz",
+ "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=",
+ "dev": true
+ }
+ }
+ },
+ "typings-core": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/typings-core/-/typings-core-0.3.1.tgz",
+ "integrity": "sha1-v/0mjjFVyeDL+7mXUCQMCeUf3sY=",
+ "dev": true,
+ "dependencies": {
+ "configstore": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz",
+ "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
+ "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "typescript": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.8.10.tgz",
+ "integrity": "sha1-tHXW4N/wv1DyluXKbvn7tccyDx4=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
+ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "dev": true
+ },
+ "xdg-basedir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz",
+ "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=",
+ "dev": true
+ }
+ }
+ },
+ "uglify-js": {
+ "version": "3.0.18",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.18.tgz",
+ "integrity": "sha512-0M/KeXO8bPYtlqnwIYpO4R6om1mrScMzPuWn2UPfUYOaowIhQmmFpL9Q5tlD18ulKLRKD12GQ0IiYDKJS/si1w==",
+ "dev": true
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
+ "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
+ "dev": true,
+ "optional": true
+ },
+ "unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "unzip-response": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
+ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "dev": true
+ },
+ "update-notifier": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.2.0.tgz",
+ "integrity": "sha1-G1g3z5DAc22IYncytmHBOPht5y8=",
+ "dev": true
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "url-parse": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz",
+ "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=",
+ "dev": true,
+ "dependencies": {
+ "querystringify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
+ "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=",
+ "dev": true
+ }
+ }
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "utila": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
+ "dev": true
+ },
+ "utils-merge": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
+ "dev": true,
+ "optional": true
+ },
+ "vary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz",
+ "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+ "dev": true,
+ "optional": true
+ },
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true
+ },
+ "watchpack": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
+ "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
+ "dev": true,
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ }
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true
+ },
+ "webpack": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
+ "integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
+ "dev": true,
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "memory-fs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "2.7.5",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+ "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
+ "dev": true,
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "webpack-core": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
+ "dev": true,
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true
+ }
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz",
+ "integrity": "sha1-LiUs4d+wINvaHMs33ybzCrAU29E=",
+ "dev": true,
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true
+ }
+ }
+ },
+ "webpack-dev-server": {
+ "version": "1.16.5",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.5.tgz",
+ "integrity": "sha1-DL1fLSrI1OWTqs1clwLnu9XlmJI=",
+ "dev": true
+ },
+ "webpack-sources": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz",
+ "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=",
+ "dev": true
+ },
+ "websocket-driver": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
+ "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
+ "dev": true
+ },
+ "websocket-extensions": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz",
+ "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.2.14",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
+ "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
+ "dev": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "dev": true,
+ "optional": true
+ },
+ "widest-line": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz",
+ "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=",
+ "dev": true
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz",
+ "integrity": "sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ==",
+ "dev": true
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ },
+ "xml-char-classes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz",
+ "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "dependencies": {
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true
+ }
+ }
+ },
+ "zip-object": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/zip-object/-/zip-object-0.1.0.tgz",
+ "integrity": "sha1-waDaBMiMg3dW4khoCgP/kC7D9To=",
+ "dev": true
+ },
+ "zone.js": {
+ "version": "0.8.12",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.12.tgz",
+ "integrity": "sha1-hv9QU8mK7CkaC/S7rFAdaUoFz7s=",
+ "dev": true
+ }
+ }
+}
diff --git a/src/busy-backdrop.component.ts b/src/busy-backdrop.component.ts
old mode 100644
new mode 100755
index 1d03760..11d1cf9
--- a/src/busy-backdrop.component.ts
+++ b/src/busy-backdrop.component.ts
@@ -2,42 +2,41 @@
* @file Component: BusyBackdrop
* @author yumao
*/
+import { Component, ViewEncapsulation } from '@angular/core';
+import { trigger, state, style, transition, animate } from '@angular/animations';
-import {Component} from '@angular/core';
-import {trigger, state, style, transition, animate} from '@angular/animations';
-
-import {PromiseTrackerService} from './promise-tracker.service';
+import { PromiseTrackerService } from './promise-tracker.service';
const inactiveStyle = style({
opacity: 0,
-});
+ });
const timing = '.3s ease';
@Component({
- selector: 'ng-busy-backdrop',
- template: `
-
-
- `,
- animations: [
- trigger('fadeInOut', [
- transition('void => *', [
- inactiveStyle,
- animate(timing)
- ]),
- transition('* => void', [
- animate(timing, inactiveStyle)
- ])
- ])
- ]
+ selector: 'ng-busy-backdrop',
+ template: `
+
+
+ `,
+ animations: [
+ trigger('fadeInOut', [
+ transition('void => *', [
+ inactiveStyle,
+ animate(timing)
+ ]),
+ transition('* => void', [
+ animate(timing, inactiveStyle)
+ ])
+ ])
+ ]
})
export class BusyBackdropComponent {
- constructor(private tracker: PromiseTrackerService) {
- }
+ constructor(private tracker: PromiseTrackerService) {
+ }
- isActive() {
- return this.tracker.isActive();
- }
+ isActive() {
+ return this.tracker.isActive();
+ }
}
diff --git a/src/busy-config.ts b/src/busy-config.ts
old mode 100644
new mode 100755
index 2c3dde3..f5cf6da
--- a/src/busy-config.ts
+++ b/src/busy-config.ts
@@ -2,36 +2,10 @@
* @file Busy Config
* @author yumao
*/
-
-import {Subscription} from 'rxjs/Subscription';
-
-export class BusyConfig implements IBusyConfig {
- template: string;
- delay: number;
- minDuration: number;
- backdrop: boolean;
- message: string;
- wrapperClass: string;
-
- constructor(config: IBusyConfig = {}) {
- for (let option in BUSY_CONFIG_DEFAULTS) {
- this[option] = config[option] != null ? config[option] : BUSY_CONFIG_DEFAULTS[option];
- }
- }
-}
-
-export interface IBusyConfig {
- template?: string;
- delay?: number;
- minDuration?: number;
- backdrop?: boolean;
- message?: string;
- wrapperClass?: string;
- busy?: Promise | Subscription | Array | Subscription>
-}
+import { Subscription } from 'rxjs/Subscription';
export const BUSY_CONFIG_DEFAULTS = {
- template: `
+ template: `
@@ -50,11 +24,40 @@ export const BUSY_CONFIG_DEFAULTS = {
{{message}}
-
- `,
- delay: 0,
- minDuration: 0,
- backdrop: true,
- message: 'Please wait...',
- wrapperClass: 'ng-busy'
+
+ `,
+ delay: 0,
+ minDuration: 0,
+ backdrop: true,
+ message: 'Please wait...',
+ wrapperClass: 'ng-busy'
};
+
+export class BusyConfig implements IBusyConfig {
+ template: string;
+ delay: number;
+ minDuration: number;
+ backdrop: boolean;
+ message: string;
+ wrapperClass: string;
+
+ constructor(config: IBusyConfig = {}) {
+ for (const option in BUSY_CONFIG_DEFAULTS) {
+ if (config[option] !== undefined) {
+ this[option] = config[option];
+ }else {
+ this[option] = BUSY_CONFIG_DEFAULTS[option]
+ }
+ }
+ }
+}
+
+export interface IBusyConfig {
+ template?: string;
+ delay?: number;
+ minDuration?: number;
+ backdrop?: boolean;
+ message?: string;
+ wrapperClass?: string;
+ busy?: Promise | Subscription | Array | Subscription>;
+}
diff --git a/src/busy-helper.ts b/src/busy-helper.ts
new file mode 100755
index 0000000..b3d2dd0
--- /dev/null
+++ b/src/busy-helper.ts
@@ -0,0 +1,93 @@
+/**
+ * @file Util
+ * @author yumao
+ */
+ export function objectEquals(o1, o2) {
+ if (o1 === o2) {
+ return true;
+ };
+ if (o1 === null || o2 === null) {
+ return false;
+ }
+ if (o1 !== o1 && o2 !== o2) {
+ return true; // NaN === NaN
+ }
+ const t1 = typeof o1;
+ const t2 = typeof o2;
+ let length;
+ let key;
+ let keySet;
+ if (t1 === t2 && t1 === 'object') {
+ if (Array.isArray(o1)) {
+ if (!Array.isArray(o2)) {
+ return false;
+ }
+ length = o1.length;
+ if (length === o2.length) {
+ for (key = 0; key < length; key++) {
+ if (!objectEquals(o1[key], o2[key])) {
+ return false;
+ }
+ }
+ return true;
+ }
+ } else if (isDate(o1)) {
+ if (!isDate(o2)) {
+ return false;
+ }
+ return objectEquals(o1.getTime(), o2.getTime());
+ } else if (isRegExp(o1)) {
+ if (!isRegExp(o2)) {
+ return false;
+ }
+ return o1.toString() === o2.toString();
+ } else {
+ if (isWindow(o1) || isWindow(o2)
+ || Array.isArray(o2) || isDate(o2) || isRegExp(o2)
+ ) {
+ return false;
+ };
+ keySet = Object.create(null);
+ for (key in o1) {
+ if (isFunction(o1[key])) {
+ continue;
+ };
+ if (!objectEquals(o1[key], o2[key])) {
+ return false;
+ }
+ keySet[key] = true;
+ }
+ for (key in o2) {
+ if (!(key in keySet)
+ && key.charAt(0) !== '$'
+ && isDefined(o2[key])
+ && !isFunction(o2[key])
+ ) {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+
+ export function isDate(value) {
+ return Object.prototype.toString.call(value) === '[object Date]';
+ }
+
+ export function isRegExp(value) {
+ return Object.prototype.toString.call(value) === '[object RegExp]';
+ }
+
+ export function isWindow(obj) {
+ return obj && obj.window === obj;
+ }
+
+ export function isFunction(value) {
+ return typeof value === 'function';
+ }
+
+ export function isDefined(value) {
+ return typeof value !== 'undefined';
+ }
diff --git a/src/busy.component.ts b/src/busy.component.ts
old mode 100644
new mode 100755
index 8f3e96b..6e884ec
--- a/src/busy.component.ts
+++ b/src/busy.component.ts
@@ -5,7 +5,6 @@
import {
Component,
- Compiler,
NgModule,
NgModuleFactory,
Injectable,
@@ -15,91 +14,93 @@ import {
import {trigger, state, style, transition, animate} from '@angular/animations';
import {PromiseTrackerService} from './promise-tracker.service';
+import { JitCompiler } from './busy.module';
const inactiveStyle = style({
- opacity: 0,
- transform: 'translateY(-40px)'
+ opacity: 0
});
const timing = '.3s ease';
export interface IBusyContext {
- message: string;
+ message: string;
};
@Component({
- selector: 'ng-busy',
- template: `
-
-
-
- `,
- animations: [
- trigger('flyInOut', [
- transition('void => *', [
- inactiveStyle,
- animate(timing)
- ]),
- transition('* => void', [
- animate(timing, inactiveStyle)
- ])
- ])
- ]
+ selector: 'ng-busy',
+ template: `
+
+
+
+ `,
+ animations: [
+ trigger('flyInOut', [
+ // Enter
+ transition('void => *', [
+ inactiveStyle,
+ animate(timing)
+ ]),
+ // Leave
+ transition('* => void', [
+ animate(timing, inactiveStyle)
+ ])
+ ])
+ ]
})
export class BusyComponent implements DoCheck, OnDestroy {
- TemplateComponent;
- private nmf: NgModuleFactory;
- wrapperClass: string;
- template: string;
- message: string;
- private lastMessage: string;
-
- constructor(
- private tracker: PromiseTrackerService,
- private compiler: Compiler
- ) {}
-
- ngDoCheck() {
- if (this.message === this.lastMessage) {
- return;
- }
- this.lastMessage = this.message;
- this.clearDynamicTemplateCache();
- this.createDynamicTemplate();
+ TemplateComponent;
+ wrapperClass: string;
+ template: string;
+ message: string;
+ private factory: NgModuleFactory;
+ private lastMessage: string;
+
+ constructor(
+ private tracker: PromiseTrackerService,
+ private compiler: JitCompiler
+ ) {}
+
+ ngDoCheck() {
+ if (this.message === this.lastMessage) {
+ return;
}
+ this.lastMessage = this.message;
+ this.clearDynamicTemplateCache();
+ this.createDynamicTemplate();
+ }
- ngOnDestroy(): void {
- this.clearDynamicTemplateCache();
- }
-
- createDynamicTemplate() {
- const {template, message} = this;
-
- @Component({template})
- class TemplateComponent {
- message: string = message;
- }
+ ngOnDestroy(): void {
+ this.clearDynamicTemplateCache();
+ }
- @NgModule({
- declarations: [TemplateComponent],
- entryComponents: [TemplateComponent]
- })
- class TemplateModule {}
+ createDynamicTemplate() {
+ const {template, message} = this;
- this.TemplateComponent = TemplateComponent;
- this.nmf = this.compiler.compileModuleSync(TemplateModule);
+ @Component({template})
+ class TemplateComponent {
+ message: string = message;
}
- clearDynamicTemplateCache() {
- if (!this.nmf) {
- return;
- }
+ @NgModule({
+ declarations: [TemplateComponent],
+ entryComponents: [TemplateComponent]
+ })
+ class TemplateModule {}
- this.compiler.clearCacheFor(this.nmf.moduleType);
- this.nmf = null;
- }
+ this.TemplateComponent = TemplateComponent;
+ this.factory = this.compiler.compileModuleSync(TemplateModule);
+ }
- isActive() {
- return this.tracker.isActive();
+ clearDynamicTemplateCache() {
+ if (!this.factory) {
+ return;
}
+
+ this.compiler.clearCacheFor(this.factory.moduleType);
+ this.factory = null;
+ }
+
+ isActive() {
+ return this.tracker.isActive();
+ }
}
diff --git a/src/busy.directive.ts b/src/busy.directive.ts
old mode 100644
new mode 100755
index bd0db29..656d830
--- a/src/busy.directive.ts
+++ b/src/busy.directive.ts
@@ -1,8 +1,3 @@
-/**
- * @file Directive: Busy
- * @author yumao
- */
-
import {
Directive,
Component,
@@ -11,34 +6,38 @@ import {
ViewContainerRef,
ComponentFactoryResolver,
ComponentRef,
+ OnDestroy,
Injector
} from '@angular/core';
import {Subscription} from 'rxjs/Subscription';
-import {equals} from './util';
-import {PromiseTrackerService} from './promise-tracker.service';
-import {BusyService} from './busy.service';
-import {IBusyConfig} from './busy-config';
-import {BusyComponent} from './busy.component';
-import {BusyBackdropComponent} from './busy-backdrop.component';
+import { objectEquals } from './busy-helper';
+import { PromiseTrackerService } from './promise-tracker.service';
+import { BusyService } from './busy.service';
+import { IBusyConfig } from './busy-config';
+import { BusyComponent } from './busy.component';
+import { BusyBackdropComponent } from './busy-backdrop.component';
/**
* ### Syntax
*
* - `...
`
* - `...
`
- * - `...
`
+ * - `...
`
*/
@Directive({
selector: '[ngBusy]',
providers: [PromiseTrackerService]
})
-export class BusyDirective implements DoCheck {
+export class BusyDirective implements DoCheck, OnDestroy {
+
@Input('ngBusy') options: any;
- private optionsRecord: any;
- private optionsNorm: IBusyConfig;
+
template: string;
backdrop: boolean;
+ private optionsRecord: any;
+ private optionsNorm: IBusyConfig;
private busyRef: ComponentRef;
private backdropRef: ComponentRef;
@@ -51,37 +50,10 @@ export class BusyDirective implements DoCheck {
) {
}
- private normalizeOptions(options: any) {
- if (!options) {
- options = {busy: null};
- }
- else if (Array.isArray(options)
- || options instanceof Promise
- || options instanceof Subscription
- ) {
- options = {busy: options};
- }
- options = Object.assign({}, this.service.config, options);
- if (!Array.isArray(options.busy)) {
- options.busy = [options.busy];
- }
-
- return options;
- }
-
- private dectectOptionsChange() {
- if (equals(this.optionsNorm, this.optionsRecord)) {
- return false;
- }
- this.optionsRecord = this.optionsNorm;
- return true;
- }
-
- // As ngOnChanges does not work on Object detection, ngDoCheck is using
ngDoCheck() {
- const options = this.optionsNorm = this.normalizeOptions(this.options);
+ const options = this.optionsNorm = this.normalizeoptions(this.options);
- if (!this.dectectOptionsChange()) {
+ if (!this.dectectoptionsChange()) {
return;
}
@@ -89,12 +61,13 @@ export class BusyDirective implements DoCheck {
this.busyRef.instance.message = options.message;
}
- !equals(options.busy, this.tracker.promiseList)
- && this.tracker.reset({
+ if (!objectEquals(options.busy, this.tracker.promiseList)) {
+ this.tracker.reset({
promiseList: options.busy,
delay: options.delay,
minDuration: options.minDuration
});
+ }
if (!this.busyRef
|| this.template !== options.template
@@ -105,7 +78,9 @@ export class BusyDirective implements DoCheck {
this.template = options.template;
this.backdrop = options.backdrop;
- options.backdrop && this.createBackdrop();
+ if (options.backdrop) {
+ this.createBackdrop();
+ }
this.createBusy();
}
@@ -115,19 +90,48 @@ export class BusyDirective implements DoCheck {
this.destroyComponents();
}
+ private normalizeoptions(options: any) {
+ if (!options) {
+ options = {busy: undefined};
+ }else if (Array.isArray(options)
+ || options instanceof Promise
+ || options instanceof Subscription
+ ) {
+ options = {busy: options};
+ }
+ options = Object.assign({}, this.service.config, options);
+ if (!Array.isArray(options.busy)) {
+ options.busy = [options.busy];
+ }
+
+ return options;
+ }
+
+ private dectectoptionsChange() {
+ if (objectEquals(this.optionsNorm, this.optionsRecord)) {
+ return false;
+ }
+ this.optionsRecord = this.optionsNorm;
+ return true;
+ }
+
private destroyComponents() {
- this.busyRef && this.busyRef.destroy();
- this.backdropRef && this.backdropRef.destroy();
+ if (this.busyRef) {
+ this.busyRef.destroy();
+ }
+ if (this.backdropRef) {
+ this.backdropRef.destroy();
+ }
}
private createBackdrop() {
const backdropFactory = this.cfResolver.resolveComponentFactory(BusyBackdropComponent);
- this.backdropRef = this.vcRef.createComponent(backdropFactory, null, this.injector);
+ this.backdropRef = this.vcRef.createComponent(backdropFactory, undefined, this.injector);
}
private createBusy() {
const busyFactory = this.cfResolver.resolveComponentFactory(BusyComponent);
- this.busyRef = this.vcRef.createComponent(busyFactory, null, this.injector);
+ this.busyRef = this.vcRef.createComponent(busyFactory, undefined, this.injector);
const {message, wrapperClass, template} = this.optionsNorm;
const instance = this.busyRef.instance;
diff --git a/src/busy.module.ts b/src/busy.module.ts
old mode 100644
new mode 100755
index 47f3a5d..7f45266
--- a/src/busy.module.ts
+++ b/src/busy.module.ts
@@ -14,8 +14,15 @@ import {BusyBackdropComponent} from './busy-backdrop.component';
import {BusyComponent} from './busy.component';
import {BusyConfig} from './busy-config';
+export class JitCompiler extends Compiler {
+ constructor() {
+ super();
+ }
+}
+
// Workaround for Compiler in AOT
// https://github.com/angular/angular/issues/15510#issuecomment-294301758
+//
export function createJitCompiler() {
return new JitCompilerFactory([{useDebug: false, useJit: true}]).createCompiler();
}
@@ -31,7 +38,10 @@ export function createJitCompiler() {
],
providers: [
BusyService,
- {provide: Compiler, useFactory: createJitCompiler},
+ {
+ provide: JitCompiler,
+ useFactory: createJitCompiler
+ }
],
exports: [BusyDirective],
entryComponents: [
diff --git a/src/busy.service.ts b/src/busy.service.ts
old mode 100644
new mode 100755
diff --git a/src/index.ts b/src/index.ts
old mode 100644
new mode 100755
diff --git a/src/promise-tracker.service.ts b/src/promise-tracker.service.ts
old mode 100644
new mode 100755
index e722a37..2646ec4
--- a/src/promise-tracker.service.ts
+++ b/src/promise-tracker.service.ts
@@ -6,102 +6,104 @@
// Inspired by angular-promise-tracker
// Add Observable Subscription
+// The basic idea: each time we add one or more promises to an instance of a promiseTracker,
+// that instance's active() method will return true until all added promises are resolved.
+// A common use case is showing some sort of loading spinner while some http requests are loading.
+
import {Injectable} from '@angular/core';
import {Subscription} from 'rxjs/Subscription';
@Injectable()
export class PromiseTrackerService {
- promiseList: Array | Subscription> = [];
- delayPromise: number | any;
- durationPromise: number | any;
- delayJustFinished: boolean = false;
- minDuration: number;
-
- reset(options: IPromiseTrackerOptions) {
- this.minDuration = options.minDuration;
+ promiseList: Array | Subscription> = [];
+ delayPromise: number | any;
+ durationPromise: number | any;
+ delayJustFinished = false;
+ minDuration: number;
- this.promiseList = [];
- options.promiseList.forEach(promise => {
- if (!promise || promise['busyFulfilled']) {
- return;
- }
- this.addPromise(promise);
- });
+ reset(options: IPromiseTrackerOptions) {
+ this.minDuration = options.minDuration;
- if (this.promiseList.length === 0) {
- return;
- }
+ this.promiseList = [];
+ options.promiseList.forEach(promise => {
+ if (!promise || promise['busyFulfilled']) {
+ return;
+ }
+ this.addPromise(promise);
+ });
- this.delayJustFinished = false;
- if (options.delay) {
- this.delayPromise = setTimeout(
- () => {
- this.delayPromise = null;
- this.delayJustFinished = true;
- },
- options.delay
- );
- }
- if (options.minDuration) {
- this.durationPromise = setTimeout(
- () => {
- this.durationPromise = null;
- },
- options.minDuration + (options.delay || 0)
- );
- }
+ if (this.promiseList.length === 0) {
+ return;
}
- private addPromise(promise: Promise | Subscription) {
- if (this.promiseList.indexOf(promise) !== -1) {
- return;
- }
+ this.delayJustFinished = false;
+ if (options.delay) {
+ this.delayPromise = setTimeout(
+ () => {
+ this.delayPromise = null;
+ this.delayJustFinished = true;
+ },
+ options.delay
+ );
+ }
+ if (options.minDuration) {
+ this.durationPromise = setTimeout(
+ () => {
+ this.durationPromise = null;
+ },
+ options.minDuration + (options.delay || 0)
+ );
+ }
+ }
- this.promiseList.push(promise);
+ isActive() {
+ if (this.delayPromise) {
+ return false;
+ }
- if (promise instanceof Promise) {
- promise.then.call(
- promise,
- () => this.finishPromise(promise),
- () => this.finishPromise(promise)
- );
- }
- else if (promise instanceof Subscription) {
- promise.add(() => this.finishPromise(promise));
+ if (!this.delayJustFinished) {
+ if (this.durationPromise) {
+ return true;
}
- }
+ return this.promiseList.length > 0;
+ }
- private finishPromise(promise: Promise | Subscription) {
- promise['busyFulfilled'] = true;
- const index = this.promiseList.indexOf(promise);
- if (index === -1) {
- return;
- }
- this.promiseList.splice(index, 1);
- }
+ this.delayJustFinished = false;
+ if (this.promiseList.length === 0) {
+ this.durationPromise = null;
+ }
+ return this.promiseList.length > 0;
+ }
+ private addPromise(promise: Promise | Subscription) {
+ if (this.promiseList.indexOf(promise) !== -1) {
+ return;
+ }
- isActive() {
- if (this.delayPromise) {
- return false;
- }
+ this.promiseList.push(promise);
- if (!this.delayJustFinished) {
- if (this.durationPromise) {
- return true;
- }
- return this.promiseList.length > 0;
- }
+ if (promise instanceof Promise) {
+ promise.then.call(
+ promise,
+ () => this.finishPromise(promise),
+ () => this.finishPromise(promise)
+ );
+ } else if (promise instanceof Subscription) {
+ promise.add(() => this.finishPromise(promise));
+ }
+ }
- this.delayJustFinished = false;
- if (this.promiseList.length === 0) {
- this.durationPromise = null;
- }
- return this.promiseList.length > 0;
- }
+ private finishPromise(promise: Promise | Subscription) {
+ promise['busyFulfilled'] = true;
+ const index = this.promiseList.indexOf(promise);
+ if (index === -1) {
+ return;
+ }
+ this.promiseList.splice(index, 1);
+ }
}
export interface IPromiseTrackerOptions {
- minDuration: number;
- delay: number;
- promiseList: Promise[];
+ minDuration: number;
+ delay: number;
+ promiseList: Promise[];
}
diff --git a/src/util.ts b/src/util.ts
deleted file mode 100644
index 77f6059..0000000
--- a/src/util.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * @file Util
- * @author yumao
- */
-
-// from AngularJS
-
-export function isDate(value) {
- return Object.prototype.toString.call(value) === '[object Date]';
-}
-
-export function isRegExp(value) {
- return Object.prototype.toString.call(value) === '[object RegExp]';
-}
-
-export function isWindow(obj) {
- return obj && obj.window === obj;
-}
-
-export function isFunction(value) {
- return typeof value === 'function';
-}
-
-export function isDefined(value) {
- return typeof value !== 'undefined';
-}
-
-export function equals(o1, o2) {
- if (o1 === o2) {
- return true
- };
- if (o1 === null || o2 === null) {
- return false;
- }
- if (o1 !== o1 && o2 !== o2) {
- return true; // NaN === NaN
- }
- const t1 = typeof o1;
- const t2 = typeof o2;
- let length;
- let key;
- let keySet;
- if (t1 === t2 && t1 === 'object') {
- if (Array.isArray(o1)) {
- if (!Array.isArray(o2)) {
- return false;
- }
- if ((length = o1.length) === o2.length) {
- for (key = 0; key < length; key++) {
- if (!equals(o1[key], o2[key])) {
- return false;
- }
- }
- return true;
- }
- }
- else if (isDate(o1)) {
- if (!isDate(o2)) {
- return false;
- }
- return equals(o1.getTime(), o2.getTime());
- }
- else if (isRegExp(o1)) {
- if (!isRegExp(o2)) {
- return false;
- }
- return o1.toString() === o2.toString();
- }
- else {
- if (isWindow(o1) || isWindow(o2)
- || Array.isArray(o2) || isDate(o2) || isRegExp(o2)
- ) {
- return false
- };
- keySet = Object.create(null);
- for (key in o1) {
- if (key.charAt(0) === '$' || isFunction(o1[key])) {
- continue
- };
- if (!equals(o1[key], o2[key])) {
- return false;
- }
- keySet[key] = true;
- }
- for (key in o2) {
- if (!(key in keySet)
- && key.charAt(0) !== '$'
- && isDefined(o2[key])
- && !isFunction(o2[key])
- ) {
- return false;
- }
- }
- return true;
- }
- }
- return false;
-}
diff --git a/tsconfig.json b/tsconfig.json
index 5c64230..8e9550b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,28 +1,28 @@
{
- "compilerOptions": {
- "target": "es5",
- "module": "commonjs",
- "emitDecoratorMetadata": true,
- "experimentalDecorators": true,
- "sourceMap": true,
- "declaration": false,
- "outDir": "build",
- "lib": ["es2015", "dom"],
- "moduleResolution": "node"
- },
- "files": [
- "./src/index.ts"
- ],
- "awesomeTypescriptLoaderOptions": {
- "resolveGlobs": true,
- "forkChecker": true
- },
- "angularCompilerOptions": {
- "strictMetadataEmit": true
- },
- "compileOnSave": false,
- "buildOnSave": false,
- "atom": {
- "rewriteTsconfig": false
- }
+ "compilerOptions": {
+ "target": "es5",
+ "module": "commonjs",
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "sourceMap": true,
+ "declaration": true,
+ "outDir": "build",
+ "lib": ["es2015", "dom"],
+ "moduleResolution": "node"
+ },
+ "files": [
+ "./src/index.ts"
+ ],
+ "awesomeTypescriptLoaderOptions": {
+ "resolveGlobs": true,
+ "forkChecker": true
+ },
+ "angularCompilerOptions": {
+ "strictMetadataEmit": true
+ },
+ "compileOnSave": false,
+ "buildOnSave": false,
+ "atom": {
+ "rewriteTsconfig": false
+ }
}
diff --git a/tslint.json b/tslint.json
index aa49eff..d99ab49 100644
--- a/tslint.json
+++ b/tslint.json
@@ -1,135 +1,135 @@
{
- "rules": {
- "member-access": false,
- "member-ordering": [
- true,
- "public-before-private",
- "static-before-instance",
- "variables-before-functions"
- ],
- "no-any": false,
- "no-inferrable-types": false,
- "no-internal-module": true,
- "no-var-requires": false,
- "typedef": false,
- "typedef-whitespace": [
- true,
- {
- "call-signature": "nospace",
- "index-signature": "nospace",
- "parameter": "nospace",
- "property-declaration": "nospace",
- "variable-declaration": "nospace"
- },
- {
- "call-signature": "space",
- "index-signature": "space",
- "parameter": "space",
- "property-declaration": "space",
- "variable-declaration": "space"
- }
- ],
+ "rules": {
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "public-before-private",
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-any": false,
+ "no-inferrable-types": false,
+ "no-internal-module": true,
+ "no-var-requires": false,
+ "typedef": false,
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ },
+ {
+ "call-signature": "space",
+ "index-signature": "space",
+ "parameter": "space",
+ "property-declaration": "space",
+ "variable-declaration": "space"
+ }
+ ],
- "ban": false,
- "curly": false,
- "forin": true,
- "label-position": true,
- "label-undefined": true,
- "no-arg": true,
- "no-bitwise": true,
- "no-conditional-assignment": true,
- "no-console": [
- true,
- "debug",
- "info",
- "time",
- "timeEnd",
- "trace"
- ],
- "no-construct": true,
- "no-debugger": true,
- "no-duplicate-key": true,
- "no-duplicate-variable": true,
- "no-empty": false,
- "no-eval": true,
- "no-null-keyword": true,
- "no-shadowed-variable": true,
- "no-string-literal": true,
- "no-switch-case-fall-through": true,
- "no-unreachable": true,
- "no-unused-expression": true,
- "no-unused-variable": false,
- "no-use-before-declare": true,
- "no-var-keyword": true,
- "radix": true,
- "switch-default": true,
- "triple-equals": [
- true,
- "allow-null-check"
- ],
- "use-strict": [
- true,
- "check-module"
- ],
+ "ban": false,
+ "curly": false,
+ "forin": true,
+ "label-position": true,
+ "label-undefined": true,
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-conditional-assignment": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-null-keyword": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": true,
+ "no-switch-case-fall-through": true,
+ "no-unreachable": true,
+ "no-unused-expression": true,
+ "no-unused-variable": false,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "radix": true,
+ "switch-default": true,
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "use-strict": [
+ true,
+ "check-module"
+ ],
- "eofline": true,
- "indent": [
- true,
- "spaces"
- ],
- "max-line-length": [
- true,
- 100
- ],
- "no-require-imports": false,
- "no-trailing-whitespace": true,
- "object-literal-sort-keys": false,
- "trailing-comma": [
- true,
- {
- "multiline": "never",
- "singleline": "never"
- }
- ],
+ "eofline": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "max-line-length": [
+ true,
+ 100
+ ],
+ "no-require-imports": false,
+ "no-trailing-whitespace": true,
+ "object-literal-sort-keys": false,
+ "trailing-comma": [
+ true,
+ {
+ "multiline": "never",
+ "singleline": "never"
+ }
+ ],
- "align": false,
- "class-name": true,
- "comment-format": [
- true,
- "check-space"
- ],
- "interface-name": false,
- "jsdoc-format": true,
- "no-consecutive-blank-lines": false,
- "no-constructor-vars": false,
- "one-line": [
- true,
- "check-open-brace",
- "check-catch",
- "check-else",
- "check-finally",
- "check-whitespace"
- ],
- "quotemark": [
- true,
- "single",
- "avoid-escape"
- ],
- "semicolon": [true, "always"],
- "variable-name": [
- true,
- "check-format",
- "allow-leading-underscore",
- "ban-keywords"
- ],
- "whitespace": [
- true,
- "check-branch",
- "check-decl",
- "check-operator",
- "check-separator",
- "check-type"
- ]
+ "align": false,
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "interface-name": false,
+ "jsdoc-format": true,
+ "no-consecutive-blank-lines": false,
+ "no-constructor-vars": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-finally",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single",
+ "avoid-escape"
+ ],
+ "semicolon": [true, "always"],
+ "variable-name": [
+ true,
+ "check-format",
+ "allow-leading-underscore",
+ "ban-keywords"
+ ],
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
- }
+ }
}