From 76577f73ea4af7425f360d40965cbde5a0f5f805 Mon Sep 17 00:00:00 2001 From: Michael Daw Date: Fri, 20 Jan 2017 18:18:07 -0700 Subject: [PATCH] Updating web.config to use Expires header. --- scripts/app-bundle.js | 924 +- scripts/app-bundle.js.map | 2 +- scripts/vendor-bundle.js | 22558 ++++++++++++++++++------------------ web.config | 1 + 4 files changed, 11739 insertions(+), 11746 deletions(-) diff --git a/scripts/app-bundle.js b/scripts/app-bundle.js index eb53643..bc6b309 100644 --- a/scripts/app-bundle.js +++ b/scripts/app-bundle.js @@ -644,27 +644,6 @@ define('main',["require", "exports", "./environment", "aurelia-framework", "aure exports.configure = configure; }); -define('resources/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - 'bootstrap/css/bootstrap.css', - 'resources/styles/iconfonts.css', - 'resources/styles/datatablestyles.css', - 'resources/styles/minton/css/components.css', - 'resources/styles/minton/css/core.css', - 'resources/styles/minton/css/elements.css', - 'resources/styles/minton/css/icons.css', - 'resources/styles/minton/css/menu.css', - 'resources/styles/minton/css/pages.css', - 'resources/styles/minton/css/responsive.css', - 'resources/styles/minton/css/variables.css', - 'resources/valueConverters/dateFormat', - ]); - } - exports.configure = configure; -}); - define('shell/index',["require", "exports"], function (require, exports) { "use strict"; function configure(config) { @@ -883,6 +862,27 @@ define('shell/top-bar',["require", "exports", "aurelia-framework", "../resources exports.TopBarCustomElement = TopBarCustomElement; }); +define('resources/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + 'bootstrap/css/bootstrap.css', + 'resources/styles/iconfonts.css', + 'resources/styles/datatablestyles.css', + 'resources/styles/minton/css/components.css', + 'resources/styles/minton/css/core.css', + 'resources/styles/minton/css/elements.css', + 'resources/styles/minton/css/icons.css', + 'resources/styles/minton/css/menu.css', + 'resources/styles/minton/css/pages.css', + 'resources/styles/minton/css/responsive.css', + 'resources/styles/minton/css/variables.css', + 'resources/valueConverters/dateFormat', + ]); + } + exports.configure = configure; +}); + define('main/admin/admin',["require", "exports"], function (require, exports) { "use strict"; var Admin = (function () { @@ -1015,6 +1015,16 @@ define('microservices/auth/login',["require", "exports", "aurelia-dependency-inj exports.LoginCustomElement = LoginCustomElement; }); +define('microservices/picks/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + "./picks-main" + ]); + } + exports.configure = configure; +}); + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -1059,27 +1069,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -define('microservices/stats/statsClient',["require", "exports", "aurelia-dependency-injection", "../../resources/services/restService", "aurelia-framework", "../../resources/services/authService"], function (require, exports, aurelia_dependency_injection_1, restService_1, aurelia_framework_1, authService_1) { +define('microservices/picks/pickClient',["require", "exports", "aurelia-dependency-injection", "../../resources/services/restService", "aurelia-framework", "../../resources/services/authService"], function (require, exports, aurelia_dependency_injection_1, restService_1, aurelia_framework_1, authService_1) { "use strict"; - var log = aurelia_framework_1.LogManager.getLogger('statsClient'); - var StatsClient = (function () { - function StatsClient(restService, authService) { - this.serviceUrl = "https://ppppoolstatsservice.azurewebsites.net"; + var log = aurelia_framework_1.LogManager.getLogger('pickClient'); + var PickClient = (function () { + function PickClient(restService, authService) { + this.serviceUrl = "https://ppppoolpicksservice.azurewebsites.net"; this.restService = restService; this.authService = authService; } - StatsClient.prototype.getTournamentStats = function (season, tour, key, value) { - if (season === void 0) { season = 'current'; } - if (tour === void 0) { tour = 'PGA TOUR'; } - if (key === void 0) { key = 'current'; } - if (value === void 0) { value = ''; } + PickClient.prototype.getCurrentPickInfo = function () { return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getTournament", { - season: season, tour: tour, key: key, value: value - }, { + case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getGolfers", null, { Authorization: "Bearer " + this.authService.getWebToken().authToken })]; case 1: @@ -1089,15 +1093,13 @@ define('microservices/stats/statsClient',["require", "exports", "aurelia-depende }); }); }; - StatsClient.prototype.getSeasonStats = function (season, tour) { - if (season === void 0) { season = 'current'; } - if (tour === void 0) { tour = 'PGA TOUR'; } + PickClient.prototype.getPickForCurrent = function (tournamentIndex) { return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getSeason", { - season: season, tour: tour + case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getPicks", { + season: 'current', tour: 'PGA TOUR', tournamentIndex: tournamentIndex, user: 'true' }, { Authorization: "Bearer " + this.authService.getWebToken().authToken })]; @@ -1108,16 +1110,13 @@ define('microservices/stats/statsClient',["require", "exports", "aurelia-depende }); }); }; - StatsClient.prototype.getMonthlyStats = function (season, tour, key) { - if (season === void 0) { season = 'current'; } - if (tour === void 0) { tour = 'PGA TOUR'; } - if (key === void 0) { key = 'user'; } + PickClient.prototype.pickGolfer = function (playerId, playerName) { return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getMonthly", { - season: season, tour: tour, key: key + case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/pickGolfer", { + tour: 'PGA TOUR', playerId: playerId, playerName: playerName }, { Authorization: "Bearer " + this.authService.getWebToken().authToken })]; @@ -1128,33 +1127,13 @@ define('microservices/stats/statsClient',["require", "exports", "aurelia-depende }); }); }; - return StatsClient; + return PickClient; }()); - StatsClient = __decorate([ + PickClient = __decorate([ aurelia_dependency_injection_1.inject(restService_1.RestService, authService_1.AuthService), __metadata("design:paramtypes", [restService_1.RestService, authService_1.AuthService]) - ], StatsClient); - exports.StatsClient = StatsClient; -}); - -define('resources/valueConverters/dateFormat',["require", "exports"], function (require, exports) { - "use strict"; - var DateFormatValueConverter = (function () { - function DateFormatValueConverter() { - } - DateFormatValueConverter.prototype.toView = function (value) { - var date = new Date(value); - var year = date.getFullYear(); - var month = this.getNumber(date.getMonth() + 1); - var day = this.getNumber(date.getDate()); - return year + "-" + month + "-" + day; - }; - DateFormatValueConverter.prototype.getNumber = function (number) { - return ("0" + number).slice(-2); - }; - return DateFormatValueConverter; - }()); - exports.DateFormatValueConverter = DateFormatValueConverter; + ], PickClient); + exports.PickClient = PickClient; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1201,152 +1180,74 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -define('microservices/stats/current/current-stats',["require", "exports", "aurelia-framework", "../statsClient"], function (require, exports, aurelia_framework_1, statsClient_1) { +define('microservices/picks/picks-main',["require", "exports", "aurelia-framework", "./pickClient"], function (require, exports, aurelia_framework_1, pickClient_1) { "use strict"; - var CurrentStatsCustomElement = (function () { - function CurrentStatsCustomElement(sc) { - this.tournament = null; - this.course = {}; - this.golfers = []; - this.poolies = []; - this.statsClient = sc; + var PicksMainCustomElement = (function () { + function PicksMainCustomElement(pc) { + this.submitting = false; + this.pickClient = pc; } - CurrentStatsCustomElement.prototype.attached = function () { + PicksMainCustomElement.prototype.attached = function () { return __awaiter(this, void 0, void 0, function () { - var _this = this; + var data, pickData; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.getData()]; + case 0: return [4 /*yield*/, this.pickClient.getCurrentPickInfo()]; case 1: - _a.sent(); - window.setTimeout(function () { - $('#pooliestable').dataTable(_this.getPooliesConfig()); - $('#golferstable').dataTable(_this.getGolfersConfig()); - $('input').addClass("form-control input-sm"); - }, 1000); + data = _a.sent(); + this.tournament = data["Tournament"]; + this.golfers = data["Golfers"]; + this.tournament["State"] = 'picking'; + return [4 /*yield*/, this.pickClient.getPickForCurrent(this.tournament["Index"])]; + case 2: + pickData = _a.sent(); + if (pickData["empty"]) { + this.pick = 'none'; + } + else { + this.pick = pickData; + } return [2 /*return*/]; } }); }); }; - CurrentStatsCustomElement.prototype.getData = function () { + PicksMainCustomElement.prototype.submitPick = function () { return __awaiter(this, void 0, void 0, function () { - var _a, points; - return __generator(this, function (_b) { - switch (_b.label) { + var response, pickData; + return __generator(this, function (_a) { + switch (_a.label) { case 0: - _a = this; - return [4 /*yield*/, this.statsClient.getTournamentStats()]; + if (!this.selectedPlayer) { + return [2 /*return*/]; + } + this.submitting = true; + return [4 /*yield*/, this.pickClient.pickGolfer(this.selectedPlayer["TournamentPlayerId"], this.selectedPlayer["PlayerName"])]; case 1: - _a.tournament = _b.sent(); - this.course = this.tournament["Course"]; - this.poolies = this.tournament["Poolies"]; - this.golfers = this.tournament["Golfers"]; - points = []; - this.golfers.forEach(function (golfer) { - points.push(golfer.Points); - }); - this.maxPoints = Math.max.apply(null, points); + response = _a.sent(); + console.log(response); + return [4 /*yield*/, this.pickClient.getPickForCurrent(this.tournament["Index"])]; + case 2: + pickData = _a.sent(); + if (pickData["empty"]) { + this.pick = 'none'; + } + else { + this.pick = pickData; + } + this.submitting = false; return [2 /*return*/]; } }); }); }; - CurrentStatsCustomElement.prototype.getPooliesConfig = function () { - return { - columnDefs: [ - { type: "num" }, - { type: "num" }, - { type: "string" }, - { type: "string" } - ], - order: [[1, 'asc']], - paging: false, - info: false - }; - }; - CurrentStatsCustomElement.prototype.getGolfersConfig = function () { - return { - columnDefs: [ - { type: "string" }, - { type: "num" }, - { type: "num" }, - { type: "num" }, - { type: "num" }, - { type: "num" } - ], - order: [[1, 'desc']], - paging: false, - info: false - }; - }; - return CurrentStatsCustomElement; - }()); - CurrentStatsCustomElement = __decorate([ - aurelia_framework_1.inject(statsClient_1.StatsClient), - __metadata("design:paramtypes", [statsClient_1.StatsClient]) - ], CurrentStatsCustomElement); - exports.CurrentStatsCustomElement = CurrentStatsCustomElement; -}); - -define('microservices/stats/current/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - './current-stats' - ]); - } - exports.configure = configure; -}); - -define('microservices/stats/history/history-stats',["require", "exports"], function (require, exports) { - "use strict"; - var HistoryStatsCustomElement = (function () { - function HistoryStatsCustomElement() { - } - return HistoryStatsCustomElement; + return PicksMainCustomElement; }()); - exports.HistoryStatsCustomElement = HistoryStatsCustomElement; -}); - -define('microservices/stats/history/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - './history-stats' - ]); - } - exports.configure = configure; -}); - -define('microservices/stats/majors/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - './majors-stats' - ]); - } - exports.configure = configure; -}); - -define('microservices/stats/majors/majors-stats',["require", "exports"], function (require, exports) { - "use strict"; - var MajorsStatsCustomElement = (function () { - function MajorsStatsCustomElement() { - } - return MajorsStatsCustomElement; - }()); - exports.MajorsStatsCustomElement = MajorsStatsCustomElement; -}); - -define('microservices/stats/monthly/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - './monthly-stats' - ]); - } - exports.configure = configure; + PicksMainCustomElement = __decorate([ + aurelia_framework_1.inject(pickClient_1.PickClient), + __metadata("design:paramtypes", [pickClient_1.PickClient]) + ], PicksMainCustomElement); + exports.PicksMainCustomElement = PicksMainCustomElement; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1393,124 +1294,102 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -define('microservices/stats/monthly/monthly-stats',["require", "exports", "aurelia-framework", "../statsClient"], function (require, exports, aurelia_framework_1, statsClient_1) { +define('microservices/stats/statsClient',["require", "exports", "aurelia-dependency-injection", "../../resources/services/restService", "aurelia-framework", "../../resources/services/authService"], function (require, exports, aurelia_dependency_injection_1, restService_1, aurelia_framework_1, authService_1) { "use strict"; - var MonthlyStatsCustomElement = (function () { - function MonthlyStatsCustomElement(sc) { - this.statsClient = sc; + var log = aurelia_framework_1.LogManager.getLogger('statsClient'); + var StatsClient = (function () { + function StatsClient(restService, authService) { + this.serviceUrl = "https://ppppoolstatsservice.azurewebsites.net"; + this.restService = restService; + this.authService = authService; } - MonthlyStatsCustomElement.prototype.attached = function () { + StatsClient.prototype.getTournamentStats = function (season, tour, key, value) { + if (season === void 0) { season = 'current'; } + if (tour === void 0) { tour = 'PGA TOUR'; } + if (key === void 0) { key = 'current'; } + if (value === void 0) { value = ''; } return __awaiter(this, void 0, void 0, function () { - var _this = this; + var response; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.getData()]; + case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getTournament", { + season: season, tour: tour, key: key, value: value + }, { + Authorization: "Bearer " + this.authService.getWebToken().authToken + })]; case 1: - _a.sent(); - window.setTimeout(function () { - $('#monthtable').dataTable(_this.getTableConfig()); - $('input').addClass("form-control input-sm"); - }, 1000); - return [2 /*return*/]; + response = _a.sent(); + return [2 /*return*/, response.Data]; } }); }); }; - MonthlyStatsCustomElement.prototype.getData = function () { + StatsClient.prototype.getSeasonStats = function (season, tour) { + if (season === void 0) { season = 'current'; } + if (tour === void 0) { tour = 'PGA TOUR'; } return __awaiter(this, void 0, void 0, function () { - var data, i; + var response; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.statsClient.getMonthlyStats()]; + case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getSeason", { + season: season, tour: tour + }, { + Authorization: "Bearer " + this.authService.getWebToken().authToken + })]; case 1: - data = _a.sent(); - this.poolies = data; - this.currentMonth = this.poolies[0]["Points"].length; - this.monthNames = []; - for (i = 0; i < this.currentMonth; i++) { - this.monthNames.push(this.getMonthName(i + 1)); - } - return [2 /*return*/]; + response = _a.sent(); + return [2 /*return*/, response.Data]; } }); }); }; - MonthlyStatsCustomElement.prototype.getMonthName = function (month) { - var strMonth = month > 9 ? "" + month : "0" + month; - var date = new Date(strMonth + "/02/2000"); - var locale = 'en-us'; - return date.toLocaleString(locale, { month: "long" }); - }; - MonthlyStatsCustomElement.prototype.getTableConfig = function () { - var columnDefs = [ - { type: 'string' } - ]; - for (var i = 0; i < this.currentMonth; i++) { - columnDefs.push({ type: 'num' }); - } - return { - columnDefs: columnDefs, - order: [[this.currentMonth, 'desc']], - paging: false, - info: false - }; - }; - MonthlyStatsCustomElement.prototype.getMonthNameLiteral = function (month) { - switch (month) { - case 0: return "Invalid"; - case 1: return 'January'; - case 2: return 'Februray'; - case 3: return 'March'; - case 4: return 'April'; - case 5: return 'May'; - case 6: return 'June'; - case 7: return 'July'; - case 8: return 'August'; - case 9: return 'September'; - case 10: return 'October'; - case 11: return 'November'; - case 12: return 'December'; - default: - return 'invalid'; - } + StatsClient.prototype.getMonthlyStats = function (season, tour, key) { + if (season === void 0) { season = 'current'; } + if (tour === void 0) { tour = 'PGA TOUR'; } + if (key === void 0) { key = 'user'; } + return __awaiter(this, void 0, void 0, function () { + var response; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getMonthly", { + season: season, tour: tour, key: key + }, { + Authorization: "Bearer " + this.authService.getWebToken().authToken + })]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.Data]; + } + }); + }); }; - return MonthlyStatsCustomElement; + return StatsClient; }()); - MonthlyStatsCustomElement = __decorate([ - aurelia_framework_1.inject(statsClient_1.StatsClient), - __metadata("design:paramtypes", [statsClient_1.StatsClient]) - ], MonthlyStatsCustomElement); - exports.MonthlyStatsCustomElement = MonthlyStatsCustomElement; -}); - -define('microservices/stats/playoffs/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - './playoff-stats' - ]); - } - exports.configure = configure; + StatsClient = __decorate([ + aurelia_dependency_injection_1.inject(restService_1.RestService, authService_1.AuthService), + __metadata("design:paramtypes", [restService_1.RestService, authService_1.AuthService]) + ], StatsClient); + exports.StatsClient = StatsClient; }); -define('microservices/stats/playoffs/playoff-stats',["require", "exports"], function (require, exports) { +define('resources/valueConverters/dateFormat',["require", "exports"], function (require, exports) { "use strict"; - var PlayoffStatsCustomElement = (function () { - function PlayoffStatsCustomElement() { + var DateFormatValueConverter = (function () { + function DateFormatValueConverter() { } - return PlayoffStatsCustomElement; + DateFormatValueConverter.prototype.toView = function (value) { + var date = new Date(value); + var year = date.getFullYear(); + var month = this.getNumber(date.getMonth() + 1); + var day = this.getNumber(date.getDate()); + return year + "-" + month + "-" + day; + }; + DateFormatValueConverter.prototype.getNumber = function (number) { + return ("0" + number).slice(-2); + }; + return DateFormatValueConverter; }()); - exports.PlayoffStatsCustomElement = PlayoffStatsCustomElement; -}); - -define('microservices/stats/season/index',["require", "exports"], function (require, exports) { - "use strict"; - function configure(config) { - config.globalResources([ - './season-stats' - ]); - } - exports.configure = configure; + exports.DateFormatValueConverter = DateFormatValueConverter; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1557,13 +1436,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -define('microservices/stats/season/season-stats',["require", "exports", "aurelia-framework", "../statsClient"], function (require, exports, aurelia_framework_1, statsClient_1) { +define('microservices/stats/current/current-stats',["require", "exports", "aurelia-framework", "../statsClient"], function (require, exports, aurelia_framework_1, statsClient_1) { "use strict"; - var SeasonStatsCustomElement = (function () { - function SeasonStatsCustomElement(sc) { + var CurrentStatsCustomElement = (function () { + function CurrentStatsCustomElement(sc) { + this.tournament = null; + this.course = {}; + this.golfers = []; + this.poolies = []; this.statsClient = sc; } - SeasonStatsCustomElement.prototype.attached = function () { + CurrentStatsCustomElement.prototype.attached = function () { return __awaiter(this, void 0, void 0, function () { var _this = this; return __generator(this, function (_a) { @@ -1572,7 +1455,8 @@ define('microservices/stats/season/season-stats',["require", "exports", "aurelia case 1: _a.sent(); window.setTimeout(function () { - $('#seasontable').dataTable(_this.getTableConfig()); + $('#pooliestable').dataTable(_this.getPooliesConfig()); + $('#golferstable').dataTable(_this.getGolfersConfig()); $('input').addClass("form-control input-sm"); }, 1000); return [2 /*return*/]; @@ -1580,107 +1464,125 @@ define('microservices/stats/season/season-stats',["require", "exports", "aurelia }); }); }; - SeasonStatsCustomElement.prototype.getData = function () { + CurrentStatsCustomElement.prototype.getData = function () { return __awaiter(this, void 0, void 0, function () { - var data; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.statsClient.getSeasonStats()]; + var _a, points; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = this; + return [4 /*yield*/, this.statsClient.getTournamentStats()]; case 1: - data = _a.sent(); - this.week = data["Week"]; - this.season = data["Season"]; - this.tournamentName = data["Tournament"]; - this.tournamentName = this.tournamentName.toLowerCase().startsWith("the ") ? this.tournamentName : "The " + this.tournamentName; - this.poolies = data["Poolies"]; - this.getMaxValues(); + _a.tournament = _b.sent(); + this.course = this.tournament["Course"]; + this.poolies = this.tournament["Poolies"]; + this.golfers = this.tournament["Golfers"]; + points = []; + this.golfers.forEach(function (golfer) { + points.push(golfer.Points); + }); + this.maxPoints = Math.max.apply(null, points); return [2 /*return*/]; } }); }); }; - SeasonStatsCustomElement.prototype.getTableConfig = function () { + CurrentStatsCustomElement.prototype.getPooliesConfig = function () { return { columnDefs: [ { type: "num" }, { type: "num" }, { type: "string" }, - { type: "num" }, - { type: "num" }, - { type: "num" }, - { type: "num" }, - { type: "num" }, - { type: "num" }, - { type: "num" } + { type: "string" } ], - order: [[0, 'asc']], + order: [[1, 'asc']], paging: false, info: false }; }; - SeasonStatsCustomElement.prototype.getMaxValues = function () { - var array = []; - this.poolies.forEach(function (poolie) { - if (poolie["Wins"]) { - array.push(poolie["Wins"]); - } - }); - this.maxWins = Math.max.apply(null, array); - array = []; - this.poolies.forEach(function (poolie) { - if (poolie["Top5"]) { - array.push(poolie["Top5"]); - } - }); - this.maxTop5 = Math.max.apply(null, array); - array = []; - this.poolies.forEach(function (poolie) { - if (poolie["Top10"]) { - array.push(poolie["Top10"]); - } - }); - this.maxTop10 = Math.max.apply(null, array); - array = []; - this.poolies.forEach(function (poolie) { - if (poolie["Cuts"]) { - array.push(poolie["Cuts"]); - } - }); - this.maxCuts = Math.max.apply(null, array); - array = []; - this.poolies.forEach(function (poolie) { - if (poolie["PlusMinus"]) { - array.push(poolie["PlusMinus"]); - } - }); - this.maxPlusMinus = Math.max.apply(null, array); + CurrentStatsCustomElement.prototype.getGolfersConfig = function () { + return { + columnDefs: [ + { type: "string" }, + { type: "num" }, + { type: "num" }, + { type: "num" }, + { type: "num" }, + { type: "num" } + ], + order: [[1, 'desc']], + paging: false, + info: false + }; }; - return SeasonStatsCustomElement; + return CurrentStatsCustomElement; }()); - SeasonStatsCustomElement = __decorate([ + CurrentStatsCustomElement = __decorate([ aurelia_framework_1.inject(statsClient_1.StatsClient), __metadata("design:paramtypes", [statsClient_1.StatsClient]) - ], SeasonStatsCustomElement); - exports.SeasonStatsCustomElement = SeasonStatsCustomElement; + ], CurrentStatsCustomElement); + exports.CurrentStatsCustomElement = CurrentStatsCustomElement; }); -define('microservices/picks/index',["require", "exports"], function (require, exports) { +define('microservices/stats/current/index',["require", "exports"], function (require, exports) { "use strict"; function configure(config) { config.globalResources([ - "./picks-main" + './current-stats' ]); } exports.configure = configure; }); +define('microservices/stats/history/history-stats',["require", "exports"], function (require, exports) { + "use strict"; + var HistoryStatsCustomElement = (function () { + function HistoryStatsCustomElement() { + } + return HistoryStatsCustomElement; + }()); + exports.HistoryStatsCustomElement = HistoryStatsCustomElement; +}); +define('microservices/stats/history/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + './history-stats' + ]); + } + exports.configure = configure; +}); -define("microservices/picks/picks-title", [],function(){}); - +define('microservices/stats/majors/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + './majors-stats' + ]); + } + exports.configure = configure; +}); +define('microservices/stats/majors/majors-stats',["require", "exports"], function (require, exports) { + "use strict"; + var MajorsStatsCustomElement = (function () { + function MajorsStatsCustomElement() { + } + return MajorsStatsCustomElement; + }()); + exports.MajorsStatsCustomElement = MajorsStatsCustomElement; +}); -define("main/picks/pickClient", [],function(){}); +define('microservices/stats/monthly/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + './monthly-stats' + ]); + } + exports.configure = configure; +}); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; @@ -1726,71 +1628,124 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -define('microservices/picks/pickClient',["require", "exports", "aurelia-dependency-injection", "../../resources/services/restService", "aurelia-framework", "../../resources/services/authService"], function (require, exports, aurelia_dependency_injection_1, restService_1, aurelia_framework_1, authService_1) { +define('microservices/stats/monthly/monthly-stats',["require", "exports", "aurelia-framework", "../statsClient"], function (require, exports, aurelia_framework_1, statsClient_1) { "use strict"; - var log = aurelia_framework_1.LogManager.getLogger('pickClient'); - var PickClient = (function () { - function PickClient(restService, authService) { - this.serviceUrl = "https://ppppoolpicksservice.azurewebsites.net"; - this.restService = restService; - this.authService = authService; + var MonthlyStatsCustomElement = (function () { + function MonthlyStatsCustomElement(sc) { + this.statsClient = sc; } - PickClient.prototype.getCurrentPickInfo = function () { + MonthlyStatsCustomElement.prototype.attached = function () { return __awaiter(this, void 0, void 0, function () { - var response; + var _this = this; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getGolfers", null, { - Authorization: "Bearer " + this.authService.getWebToken().authToken - })]; + case 0: return [4 /*yield*/, this.getData()]; case 1: - response = _a.sent(); - return [2 /*return*/, response.Data]; + _a.sent(); + window.setTimeout(function () { + $('#monthtable').dataTable(_this.getTableConfig()); + $('input').addClass("form-control input-sm"); + }, 1000); + return [2 /*return*/]; } }); }); }; - PickClient.prototype.getPickForCurrent = function (tournamentIndex) { + MonthlyStatsCustomElement.prototype.getData = function () { return __awaiter(this, void 0, void 0, function () { - var response; + var data, i; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/getPicks", { - season: 'current', tour: 'PGA TOUR', tournamentIndex: tournamentIndex, user: 'true' - }, { - Authorization: "Bearer " + this.authService.getWebToken().authToken - })]; + case 0: return [4 /*yield*/, this.statsClient.getMonthlyStats()]; case 1: - response = _a.sent(); - return [2 /*return*/, response.Data]; + data = _a.sent(); + this.poolies = data; + this.currentMonth = this.poolies[0]["Points"].length; + this.monthNames = []; + for (i = 0; i < this.currentMonth; i++) { + this.monthNames.push(this.getMonthName(i + 1)); + } + return [2 /*return*/]; } }); }); }; - PickClient.prototype.pickGolfer = function (playerId, playerName) { - return __awaiter(this, void 0, void 0, function () { - var response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.restService.post(this.serviceUrl + "/api/pickGolfer", { - tour: 'PGA TOUR', playerId: playerId, playerName: playerName - }, { - Authorization: "Bearer " + this.authService.getWebToken().authToken - })]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.Data]; - } - }); - }); + MonthlyStatsCustomElement.prototype.getMonthName = function (month) { + var strMonth = month > 9 ? "" + month : "0" + month; + var date = new Date(strMonth + "/02/2000"); + var locale = 'en-us'; + return date.toLocaleString(locale, { month: "long" }); }; - return PickClient; + MonthlyStatsCustomElement.prototype.getTableConfig = function () { + var columnDefs = [ + { type: 'string' } + ]; + for (var i = 0; i < this.currentMonth; i++) { + columnDefs.push({ type: 'num' }); + } + return { + columnDefs: columnDefs, + order: [[this.currentMonth, 'desc']], + paging: false, + info: false + }; + }; + MonthlyStatsCustomElement.prototype.getMonthNameLiteral = function (month) { + switch (month) { + case 0: return "Invalid"; + case 1: return 'January'; + case 2: return 'Februray'; + case 3: return 'March'; + case 4: return 'April'; + case 5: return 'May'; + case 6: return 'June'; + case 7: return 'July'; + case 8: return 'August'; + case 9: return 'September'; + case 10: return 'October'; + case 11: return 'November'; + case 12: return 'December'; + default: + return 'invalid'; + } + }; + return MonthlyStatsCustomElement; }()); - PickClient = __decorate([ - aurelia_dependency_injection_1.inject(restService_1.RestService, authService_1.AuthService), - __metadata("design:paramtypes", [restService_1.RestService, authService_1.AuthService]) - ], PickClient); - exports.PickClient = PickClient; + MonthlyStatsCustomElement = __decorate([ + aurelia_framework_1.inject(statsClient_1.StatsClient), + __metadata("design:paramtypes", [statsClient_1.StatsClient]) + ], MonthlyStatsCustomElement); + exports.MonthlyStatsCustomElement = MonthlyStatsCustomElement; +}); + +define('microservices/stats/playoffs/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + './playoff-stats' + ]); + } + exports.configure = configure; +}); + +define('microservices/stats/playoffs/playoff-stats',["require", "exports"], function (require, exports) { + "use strict"; + var PlayoffStatsCustomElement = (function () { + function PlayoffStatsCustomElement() { + } + return PlayoffStatsCustomElement; + }()); + exports.PlayoffStatsCustomElement = PlayoffStatsCustomElement; +}); + +define('microservices/stats/season/index',["require", "exports"], function (require, exports) { + "use strict"; + function configure(config) { + config.globalResources([ + './season-stats' + ]); + } + exports.configure = configure; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1837,74 +1792,111 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -define('microservices/picks/picks-main',["require", "exports", "aurelia-framework", "./pickClient"], function (require, exports, aurelia_framework_1, pickClient_1) { +define('microservices/stats/season/season-stats',["require", "exports", "aurelia-framework", "../statsClient"], function (require, exports, aurelia_framework_1, statsClient_1) { "use strict"; - var PicksMainCustomElement = (function () { - function PicksMainCustomElement(pc) { - this.submitting = false; - this.pickClient = pc; + var SeasonStatsCustomElement = (function () { + function SeasonStatsCustomElement(sc) { + this.statsClient = sc; } - PicksMainCustomElement.prototype.attached = function () { + SeasonStatsCustomElement.prototype.attached = function () { return __awaiter(this, void 0, void 0, function () { - var data, pickData; + var _this = this; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.pickClient.getCurrentPickInfo()]; + case 0: return [4 /*yield*/, this.getData()]; case 1: - data = _a.sent(); - this.tournament = data["Tournament"]; - this.golfers = data["Golfers"]; - this.tournament["State"] = 'picking'; - return [4 /*yield*/, this.pickClient.getPickForCurrent(this.tournament["Index"])]; - case 2: - pickData = _a.sent(); - if (pickData["empty"]) { - this.pick = 'none'; - } - else { - this.pick = pickData; - } + _a.sent(); + window.setTimeout(function () { + $('#seasontable').dataTable(_this.getTableConfig()); + $('input').addClass("form-control input-sm"); + }, 1000); return [2 /*return*/]; } }); }); }; - PicksMainCustomElement.prototype.submitPick = function () { + SeasonStatsCustomElement.prototype.getData = function () { return __awaiter(this, void 0, void 0, function () { - var response, pickData; + var data; return __generator(this, function (_a) { switch (_a.label) { - case 0: - if (!this.selectedPlayer) { - return [2 /*return*/]; - } - this.submitting = true; - return [4 /*yield*/, this.pickClient.pickGolfer(this.selectedPlayer["TournamentPlayerId"], this.selectedPlayer["PlayerName"])]; + case 0: return [4 /*yield*/, this.statsClient.getSeasonStats()]; case 1: - response = _a.sent(); - console.log(response); - return [4 /*yield*/, this.pickClient.getPickForCurrent(this.tournament["Index"])]; - case 2: - pickData = _a.sent(); - if (pickData["empty"]) { - this.pick = 'none'; - } - else { - this.pick = pickData; - } - this.submitting = false; + data = _a.sent(); + this.week = data["Week"]; + this.season = data["Season"]; + this.tournamentName = data["Tournament"]; + this.tournamentName = this.tournamentName.toLowerCase().startsWith("the ") ? this.tournamentName : "The " + this.tournamentName; + this.poolies = data["Poolies"]; + this.getMaxValues(); return [2 /*return*/]; } }); }); }; - return PicksMainCustomElement; + SeasonStatsCustomElement.prototype.getTableConfig = function () { + return { + columnDefs: [ + { type: "num" }, + { type: "num" }, + { type: "string" }, + { type: "num" }, + { type: "num" }, + { type: "num" }, + { type: "num" }, + { type: "num" }, + { type: "num" }, + { type: "num" } + ], + order: [[0, 'asc']], + paging: false, + info: false + }; + }; + SeasonStatsCustomElement.prototype.getMaxValues = function () { + var array = []; + this.poolies.forEach(function (poolie) { + if (poolie["Wins"]) { + array.push(poolie["Wins"]); + } + }); + this.maxWins = Math.max.apply(null, array); + array = []; + this.poolies.forEach(function (poolie) { + if (poolie["Top5"]) { + array.push(poolie["Top5"]); + } + }); + this.maxTop5 = Math.max.apply(null, array); + array = []; + this.poolies.forEach(function (poolie) { + if (poolie["Top10"]) { + array.push(poolie["Top10"]); + } + }); + this.maxTop10 = Math.max.apply(null, array); + array = []; + this.poolies.forEach(function (poolie) { + if (poolie["Cuts"]) { + array.push(poolie["Cuts"]); + } + }); + this.maxCuts = Math.max.apply(null, array); + array = []; + this.poolies.forEach(function (poolie) { + if (poolie["PlusMinus"]) { + array.push(poolie["PlusMinus"]); + } + }); + this.maxPlusMinus = Math.max.apply(null, array); + }; + return SeasonStatsCustomElement; }()); - PicksMainCustomElement = __decorate([ - aurelia_framework_1.inject(pickClient_1.PickClient), - __metadata("design:paramtypes", [pickClient_1.PickClient]) - ], PicksMainCustomElement); - exports.PicksMainCustomElement = PicksMainCustomElement; + SeasonStatsCustomElement = __decorate([ + aurelia_framework_1.inject(statsClient_1.StatsClient), + __metadata("design:paramtypes", [statsClient_1.StatsClient]) + ], SeasonStatsCustomElement); + exports.SeasonStatsCustomElement = SeasonStatsCustomElement; }); define('text!app.html', ['module'], function(module) { module.exports = "\n\n"; }); @@ -1915,33 +1907,33 @@ define('text!shell/shell.html', ['module'], function(module) { module.exports = define('text!resources/styles/iconfonts.css', ['module'], function(module) { module.exports = "@font-face {\r\n font-family: 'Glyphicons Halflings Edit';\r\n\r\n src: url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot');\r\n src: url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff') format('woff'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\r\n}\r\n\r\n.glyphicon {\r\n position: relative;\r\n top: 1px;\r\n display: inline-block;\r\n font-family: 'Glyphicons Halflings Edit' !important;\r\n font-style: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@font-face {\r\n font-family: 'FontAwesome Edit';\r\n src: url('src/resources/styles/minton/fonts/fontawesome-webfont.eot?v=4.5.0');\r\n src: url('src/resources/styles/minton/fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('src/resources/styles/minton/fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('src/resources/styles/minton/fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('src/resources/styles/minton/fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('src/resources/styles/minton/fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.fa {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 FontAwesome Edit !important;\r\n font-size: inherit;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@font-face {\r\n font-family: 'Material Design Iconic Font Edit';\r\n src: url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.eot?v=1.0.1');\r\n src: url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.eot?#iefix&v=1.0.1') format('embedded-opentype'), url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.ttf?v=1.0.1') format('truetype'), url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.svg?v=1.0.1#Material-Design-Iconic-Font') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n\r\n.md {\r\n font: normal normal normal 14px/1 'Material Design Iconic Font Edit' !important;\r\n}"; }); define('text!shell/top-bar.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/current/current-stats-styles.css', ['module'], function(module) { module.exports = ".table-green {\r\n color: #00bb00;\r\n}\r\n\r\n.table-red {\r\n color: #cc0000;\r\n}\r\n\r\n.table-grey {\r\n color: #aaaaaa;\r\n}\r\n\r\n.form-control {\r\n \r\n width: 75%;\r\n\ttransition: none;\r\n}"; }); -define('text!main/admin/admin.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/season/season-stats-styles.css', ['module'], function(module) { module.exports = ".table-green {\r\n color: #00bb00;\r\n}\r\n\r\n.table-red {\r\n color: #cc0000;\r\n}\r\n\r\n.table-grey {\r\n color: #aaaaaa;\r\n}\r\n\r\n.form-control {\r\n \r\n width: 75%;\r\n\ttransition: none;\r\n}"; }); -define('text!main/feedback/feedback.html', ['module'], function(module) { module.exports = ""; }); +define('text!main/admin/admin.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/components.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Components List\r\n\r\n - Buttons\r\n - Panels\r\n - Portlets\r\n - Checkbox and radio\r\n - Progressbars\r\n - Carousel\r\n - Tables\r\n - Form Elements\r\n - Calendar\r\n - Widgets\r\n =============*/\r\n/* ===========\r\n Buttons\r\n =============*/\r\n.btn {\r\n border-radius: 2px;\r\n padding: 6px 14px;\r\n}\r\n.btn-group-lg > .btn,\r\n.btn-lg {\r\n padding: 10px 16px !important;\r\n font-size: 16px;\r\n}\r\n.btn-group-sm > .btn,\r\n.btn-sm {\r\n padding: 5px 10px !important;\r\n}\r\n.btn-group-xs > .btn,\r\n.btn-xs {\r\n padding: 1px 5px !important;\r\n}\r\n.btn-group .btn + .btn,\r\n.btn-group .btn + .btn-group,\r\n.btn-group .btn-group + .btn,\r\n.btn-group .btn-group + .btn-group {\r\n margin-left: 0px;\r\n}\r\n.btn-group.open .dropdown-toggle {\r\n box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset;\r\n}\r\n.btn-primary,\r\n.btn-success,\r\n.btn-info,\r\n.btn-warning,\r\n.btn-danger,\r\n.btn-inverse,\r\n.btn-purple,\r\n.btn-pink {\r\n color: #ffffff !important;\r\n}\r\n.btn-default {\r\n background-color: #dae6ec;\r\n border-color: #dae6ec;\r\n}\r\n.btn-default:focus {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default:hover {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default:active {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default.active,\r\n.btn-default:active,\r\n.open > .dropdown-toggle.btn-default {\r\n background-color: #dae6ec !important;\r\n border-color: #C2CED4 !important;\r\n}\r\n.btn-primary {\r\n background-color: #3bafda !important;\r\n border: 1px solid #3bafda !important;\r\n}\r\n.btn-primary:hover,\r\n.btn-primary:focus,\r\n.btn-primary:active,\r\n.btn-primary.active,\r\n.btn-primary.focus,\r\n.btn-primary:active,\r\n.btn-primary:focus,\r\n.btn-primary:hover,\r\n.open > .dropdown-toggle.btn-primary {\r\n background-color: #28a5d4 !important;\r\n border: 1px solid #28a5d4 !important;\r\n}\r\n.btn-success {\r\n background-color: #00b19d !important;\r\n border: 1px solid #00b19d !important;\r\n}\r\n.btn-success:hover,\r\n.btn-success:focus,\r\n.btn-success:active,\r\n.btn-success.active,\r\n.btn-success.focus,\r\n.btn-success:active,\r\n.btn-success:focus,\r\n.btn-success:hover,\r\n.open > .dropdown-toggle.btn-success {\r\n background-color: #009886 !important;\r\n border: 1px solid #009886 !important;\r\n}\r\n.btn-info {\r\n background-color: #3ddcf7 !important;\r\n border: 1px solid #3ddcf7 !important;\r\n}\r\n.btn-info:hover,\r\n.btn-info:focus,\r\n.btn-info:active,\r\n.btn-info.active,\r\n.btn-info.focus,\r\n.btn-info:active,\r\n.btn-info:focus,\r\n.btn-info:hover,\r\n.open > .dropdown-toggle.btn-info {\r\n background-color: #25d8f6 !important;\r\n border: 1px solid #25d8f6 !important;\r\n}\r\n.btn-warning {\r\n background-color: #ffaa00 !important;\r\n border: 1px solid #ffaa00 !important;\r\n}\r\n.btn-warning:hover,\r\n.btn-warning:focus,\r\n.btn-warning:active,\r\n.btn-warning.active,\r\n.btn-warning.focus,\r\n.btn-warning:active,\r\n.btn-warning:focus,\r\n.btn-warning:hover,\r\n.open > .dropdown-toggle.btn-warning {\r\n background-color: #e69900 !important;\r\n border: 1px solid #e69900 !important;\r\n}\r\n.btn-danger {\r\n background-color: #ef5350 !important;\r\n border: 1px solid #ef5350 !important;\r\n}\r\n.btn-danger:active,\r\n.btn-danger:focus,\r\n.btn-danger:hover,\r\n.btn-danger.active,\r\n.btn-danger.focus,\r\n.btn-danger:active,\r\n.btn-danger:focus,\r\n.btn-danger:hover,\r\n.open > .dropdown-toggle.btn-danger {\r\n background-color: #ed3c39 !important;\r\n border: 1px solid #ed3c39 !important;\r\n}\r\n.btn-inverse {\r\n background-color: #4c5667 !important;\r\n border: 1px solid #4c5667 !important;\r\n}\r\n.btn-inverse:hover,\r\n.btn-inverse:focus,\r\n.btn-inverse:active,\r\n.btn-inverse.active,\r\n.btn-inverse.focus,\r\n.btn-inverse:active,\r\n.btn-inverse:focus,\r\n.btn-inverse:hover,\r\n.open > .dropdown-toggle.btn-inverse {\r\n background-color: #414a58 !important;\r\n border: 1px solid #414a58 !important;\r\n}\r\n.btn-purple {\r\n background-color: #7266ba !important;\r\n border: 1px solid #7266ba !important;\r\n}\r\n.btn-purple:hover,\r\n.btn-purple:focus,\r\n.btn-purple:active {\r\n background-color: #6254b2 !important;\r\n border: 1px solid #6254b2 !important;\r\n}\r\n.btn-pink {\r\n background-color: #f76397 !important;\r\n border: 1px solid #f76397 !important;\r\n}\r\n.btn-pink:hover,\r\n.btn-pink:focus,\r\n.btn-pink:active {\r\n background-color: #f64b87 !important;\r\n border: 1px solid #f64b87 !important;\r\n}\r\n.btn-custom {\r\n border-bottom: 3px solid transparent;\r\n}\r\n.btn-custom.btn-default {\r\n background-color: #dae6ec;\r\n border-bottom: 2px solid #a4b6bf !important;\r\n}\r\n.btn-custom.btn-primary {\r\n border-bottom: 2px solid #2494be !important;\r\n}\r\n.btn-custom.btn-success {\r\n border-bottom: 2px solid #007e70 !important;\r\n}\r\n.btn-custom.btn-info {\r\n border-bottom: 2px solid #08aac6 !important;\r\n}\r\n.btn-custom.btn-warning {\r\n border-bottom: 2px solid #cc8800 !important;\r\n}\r\n.btn-custom.btn-danger {\r\n border-bottom: 2px solid #c71612 !important;\r\n}\r\n.btn-custom.btn-inverse {\r\n border-bottom: 2px solid #21252c !important;\r\n}\r\n.btn-custom.btn-purple {\r\n border-bottom: 2px solid #443a80 !important;\r\n}\r\n.btn-custom.btn-pink {\r\n border-bottom: 2px solid #e80c59 !important;\r\n}\r\n.btn-rounded {\r\n border-radius: 2em;\r\n padding: 6px 18px;\r\n}\r\n.fileupload {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n.fileupload input.upload {\r\n cursor: pointer;\r\n filter: alpha(opacity=0);\r\n font-size: 20px;\r\n margin: 0;\r\n opacity: 0;\r\n padding: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n}\r\n/* ===========\r\n Panels\r\n =============*/\r\n.panel {\r\n border-radius: 0;\r\n margin-bottom: 20px;\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n border-top: none;\r\n}\r\n.panel .panel-body {\r\n padding: 20px;\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n.panel .panel-body p {\r\n margin: 0px;\r\n}\r\n.panel .panel-body p + p {\r\n margin-top: 15px;\r\n}\r\n.panel-heading {\r\n border-radius: 0;\r\n border: none !important;\r\n padding: 10px 20px;\r\n margin: 0 -2px;\r\n}\r\n.panel-default > .panel-heading {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n border-bottom: none;\r\n}\r\n.panel-title {\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.03em;\r\n color: #ffffff;\r\n}\r\n.panel-sub-title {\r\n margin-bottom: 3px;\r\n color: rgba(255, 255, 255, 0.6) !important;\r\n margin-top: -3px;\r\n}\r\n.panel-footer {\r\n background: transparent;\r\n border-top: 1px solid rgba(238, 238, 238, 0.2);\r\n}\r\n.panel-color .panel-title {\r\n color: #ffffff;\r\n}\r\n.panel-primary > .panel-heading {\r\n background-color: #3bafda;\r\n}\r\n.panel-success > .panel-heading {\r\n background-color: #00b19d;\r\n}\r\n.panel-info > .panel-heading {\r\n background-color: #3ddcf7;\r\n}\r\n.panel-warning > .panel-heading {\r\n background-color: #ffaa00;\r\n}\r\n.panel-danger > .panel-heading {\r\n background-color: #ef5350;\r\n}\r\n.panel-purple > .panel-heading {\r\n background-color: #7266ba;\r\n}\r\n.panel-pink > .panel-heading {\r\n background-color: #f76397;\r\n}\r\n.panel-inverse > .panel-heading {\r\n background-color: #4c5667;\r\n}\r\n.panel-border {\r\n border-radius: 3px;\r\n}\r\n.panel-border .panel-heading {\r\n background-color: transparent;\r\n border-top: 3px solid #ccc !important;\r\n border-radius: 3px;\r\n padding: 10px 20px 0px;\r\n}\r\n.panel-border .panel-body {\r\n padding: 15px 20px 20px 20px;\r\n}\r\n.panel-border.panel-primary .panel-heading {\r\n border-color: #3bafda !important;\r\n color: #3bafda !important;\r\n}\r\n.panel-border.panel-success .panel-heading {\r\n border-color: #00b19d !important;\r\n color: #00b19d !important;\r\n}\r\n.panel-border.panel-info .panel-heading {\r\n border-color: #3ddcf7 !important;\r\n color: #3ddcf7 !important;\r\n}\r\n.panel-border.panel-warning .panel-heading {\r\n border-color: #ffaa00 !important;\r\n color: #ffaa00 !important;\r\n}\r\n.panel-border.panel-danger .panel-heading {\r\n border-color: #ef5350 !important;\r\n color: #ef5350 !important;\r\n}\r\n.panel-border.panel-purple .panel-heading {\r\n border-color: #7266ba !important;\r\n color: #7266ba !important;\r\n}\r\n.panel-border.panel-pink .panel-heading {\r\n border-color: #f76397 !important;\r\n color: #f76397 !important;\r\n}\r\n.panel-border.panel-inverse .panel-heading {\r\n border-color: #4c5667 !important;\r\n color: #4c5667 !important;\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse].collapsed:before {\r\n content: '\\f067';\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle.collapsed:before {\r\n content: '\\f067';\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse] {\r\n display: block;\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse]:before {\r\n content: '\\f068';\r\n display: block;\r\n float: right;\r\n font-family: 'FontAwesome';\r\n font-size: 14px;\r\n text-align: right;\r\n width: 25px;\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle {\r\n display: block;\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle:before {\r\n content: '\\f068';\r\n display: block;\r\n float: right;\r\n font-family: 'FontAwesome';\r\n font-size: 14px;\r\n text-align: right;\r\n width: 25px;\r\n}\r\n.panel-group .panel .panel-heading + .panel-collapse .panel-body {\r\n border-top: none;\r\n}\r\n.panel-group .panel-heading {\r\n padding: 12px 26px;\r\n}\r\n.panel-group.panel-group-joined .panel + .panel {\r\n border-top: 1px solid rgba(255, 255, 255, 0.3);\r\n margin-top: 0;\r\n}\r\n.panel-group-joined .panel-group .panel + .panel {\r\n border-top: 1px solid #eeeeee;\r\n margin-top: 0;\r\n}\r\n/* ===========\r\n Portlets\r\n =============*/\r\n.portlet {\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n -moz-transition: all 0.4s;\r\n -o-transition: all 0.4s;\r\n -webkit-transition: all 0.4s;\r\n margin-bottom: 20px;\r\n transition: all 0.4s;\r\n}\r\n.portlet .portlet-heading {\r\n border-radius: 3px;\r\n color: #ffffff;\r\n padding: 12px 20px;\r\n margin: -1px;\r\n}\r\n.portlet .portlet-heading .portlet-title {\r\n color: #ffffff;\r\n float: left;\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.03em;\r\n}\r\n.portlet .portlet-heading .portlet-widgets {\r\n display: inline-block;\r\n float: right;\r\n font-size: 15px;\r\n line-height: 30px;\r\n padding-left: 15px;\r\n position: relative;\r\n text-align: right;\r\n}\r\n.portlet .portlet-heading .portlet-widgets .divider {\r\n margin: 0 5px;\r\n}\r\n.portlet .portlet-heading a {\r\n color: #999999;\r\n}\r\n.portlet .portlet-body {\r\n -moz-border-radius-bottomleft: 5px;\r\n -moz-border-radius-bottomright: 5px;\r\n -webkit-border-bottom-left-radius: 5px;\r\n -webkit-border-bottom-right-radius: 5px;\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n padding: 15px;\r\n color: #98a6ad;\r\n}\r\n.portlet .portlet-heading .portlet-widgets .collapsed .ion-minus-round:before {\r\n content: \"\\f217\" !important;\r\n}\r\n.portlet .portlet-heading.bg-purple a,\r\n.portlet .portlet-heading.bg-info a,\r\n.portlet .portlet-heading.bg-success a,\r\n.portlet .portlet-heading.bg-primary a,\r\n.portlet .portlet-heading.bg-danger a,\r\n.portlet .portlet-heading.bg-warning a,\r\n.portlet .portlet-heading.bg-inverse a,\r\n.portlet .portlet-heading.bg-pink a {\r\n color: #ffffff;\r\n}\r\n.panel-disabled {\r\n background: rgba(238, 238, 238, 0.2);\r\n cursor: progress;\r\n bottom: 20px;\r\n left: 10px;\r\n position: absolute;\r\n right: 10px;\r\n top: 0;\r\n}\r\n.loader-1 {\r\n width: 30px;\r\n height: 30px;\r\n background-color: #3bafda;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n animation: sk-rotateplane 1.2s infinite ease-in-out;\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin-left: -15px;\r\n margin-top: -15px;\r\n}\r\n@keyframes sk-rotateplane {\r\n 0% {\r\n transform: perspective(120px) rotateX(0deg) rotateY(0deg);\r\n -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);\r\n }\r\n 50% {\r\n transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n }\r\n 100% {\r\n transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n }\r\n}\r\n/* ===========\r\n Checkbox and Radio\r\n =============*/\r\n.checkbox {\r\n padding-left: 20px;\r\n}\r\n.checkbox label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.checkbox label::before {\r\n -o-transition: 0.3s ease-in-out;\r\n -webkit-transition: 0.3s ease-in-out;\r\n background-color: transparent;\r\n border-radius: 3px;\r\n border: 2px solid #98a6ad;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n position: absolute;\r\n transition: 0.3s ease-in-out;\r\n width: 17px;\r\n outline: none !important;\r\n}\r\n.checkbox label::after {\r\n color: #eeeeee;\r\n display: inline-block;\r\n font-size: 11px;\r\n height: 16px;\r\n left: 0;\r\n margin-left: -20px;\r\n padding-left: 3px;\r\n padding-top: 1px;\r\n position: absolute;\r\n top: 0;\r\n width: 16px;\r\n}\r\n.checkbox input[type=\"checkbox\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.checkbox input[type=\"checkbox\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.checkbox input[type=\"checkbox\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: none;\r\n}\r\n.checkbox input[type=\"checkbox\"]:checked + label::after {\r\n content: \"\\f00c\";\r\n font-family: 'FontAwesome';\r\n}\r\n.checkbox input[type=\"checkbox\"]:disabled + label::before {\r\n background-color: #eeeeee;\r\n cursor: not-allowed;\r\n}\r\n.checkbox.checkbox-circle label::before {\r\n border-radius: 50%;\r\n}\r\n.checkbox.checkbox-inline {\r\n margin-top: 0;\r\n}\r\n.checkbox.checkbox-single label {\r\n height: 17px;\r\n}\r\n.checkbox-primary input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.checkbox-primary input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-danger input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #ef5350;\r\n border-color: #ef5350;\r\n}\r\n.checkbox-danger input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-info input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3ddcf7;\r\n border-color: #3ddcf7;\r\n}\r\n.checkbox-info input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-warning input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #ffaa00;\r\n border-color: #ffaa00;\r\n}\r\n.checkbox-warning input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-success input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #00b19d;\r\n border-color: #00b19d;\r\n}\r\n.checkbox-success input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-purple input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #7266ba;\r\n border-color: #7266ba;\r\n}\r\n.checkbox-purple input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-pink input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #f76397;\r\n border-color: #f76397;\r\n}\r\n.checkbox-pink input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-inverse input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #4c5667;\r\n border-color: #4c5667;\r\n}\r\n.checkbox-inverse input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.radio {\r\n padding-left: 20px;\r\n}\r\n.radio label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.radio label::before {\r\n -o-transition: border 0.5s ease-in-out;\r\n -webkit-transition: border 0.5s ease-in-out;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border: 2px solid #98a6ad;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n outline: none !important;\r\n position: absolute;\r\n transition: border 0.5s ease-in-out;\r\n width: 17px;\r\n}\r\n.radio label::after {\r\n -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n -ms-transform: scale(0, 0);\r\n -o-transform: scale(0, 0);\r\n -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n -webkit-transform: scale(0, 0);\r\n -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n background-color: #98a6ad;\r\n border-radius: 50%;\r\n content: \" \";\r\n display: inline-block;\r\n height: 11px;\r\n left: 3px;\r\n margin-left: -20px;\r\n position: absolute;\r\n top: 3px;\r\n transform: scale(0, 0);\r\n transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n width: 11px;\r\n}\r\n.radio input[type=\"radio\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.radio input[type=\"radio\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.radio input[type=\"radio\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n outline: thin dotted;\r\n}\r\n.radio input[type=\"radio\"]:checked + label::after {\r\n transform: scale(1, 1);\r\n}\r\n.radio input[type=\"radio\"]:disabled + label::before {\r\n cursor: not-allowed;\r\n}\r\n.radio.radio-inline {\r\n margin-top: 0;\r\n}\r\n.radio.radio-single label {\r\n height: 17px;\r\n}\r\n.radio-primary input[type=\"radio\"] + label::after {\r\n background-color: #3bafda;\r\n}\r\n.radio-primary input[type=\"radio\"]:checked + label::before {\r\n border-color: #3bafda;\r\n}\r\n.radio-primary input[type=\"radio\"]:checked + label::after {\r\n background-color: #3bafda;\r\n}\r\n.radio-danger input[type=\"radio\"] + label::after {\r\n background-color: #ef5350;\r\n}\r\n.radio-danger input[type=\"radio\"]:checked + label::before {\r\n border-color: #ef5350;\r\n}\r\n.radio-danger input[type=\"radio\"]:checked + label::after {\r\n background-color: #ef5350;\r\n}\r\n.radio-info input[type=\"radio\"] + label::after {\r\n background-color: #3ddcf7;\r\n}\r\n.radio-info input[type=\"radio\"]:checked + label::before {\r\n border-color: #3ddcf7;\r\n}\r\n.radio-info input[type=\"radio\"]:checked + label::after {\r\n background-color: #3ddcf7;\r\n}\r\n.radio-warning input[type=\"radio\"] + label::after {\r\n background-color: #ffaa00;\r\n}\r\n.radio-warning input[type=\"radio\"]:checked + label::before {\r\n border-color: #ffaa00;\r\n}\r\n.radio-warning input[type=\"radio\"]:checked + label::after {\r\n background-color: #ffaa00;\r\n}\r\n.radio-success input[type=\"radio\"] + label::after {\r\n background-color: #00b19d;\r\n}\r\n.radio-success input[type=\"radio\"]:checked + label::before {\r\n border-color: #00b19d;\r\n}\r\n.radio-success input[type=\"radio\"]:checked + label::after {\r\n background-color: #00b19d;\r\n}\r\n.radio-purple input[type=\"radio\"] + label::after {\r\n background-color: #7266ba;\r\n}\r\n.radio-purple input[type=\"radio\"]:checked + label::before {\r\n border-color: #7266ba;\r\n}\r\n.radio-purple input[type=\"radio\"]:checked + label::after {\r\n background-color: #7266ba;\r\n}\r\n.radio-pink input[type=\"radio\"] + label::after {\r\n background-color: #f76397;\r\n}\r\n.radio-pink input[type=\"radio\"]:checked + label::before {\r\n border-color: #f76397;\r\n}\r\n.radio-pink input[type=\"radio\"]:checked + label::after {\r\n background-color: #f76397;\r\n}\r\n.radio-inverse input[type=\"radio\"] + label::after {\r\n background-color: #4c5667;\r\n}\r\n.radio-inverse input[type=\"radio\"]:checked + label::before {\r\n border-color: #4c5667;\r\n}\r\n.radio-inverse input[type=\"radio\"]:checked + label::after {\r\n background-color: #4c5667;\r\n}\r\n/* ===========\r\n Progressbars\r\n =============*/\r\n.progress {\r\n -webkit-box-shadow: none !important;\r\n background-color: rgba(152, 166, 173, 0.4);\r\n box-shadow: none !important;\r\n height: 10px;\r\n margin-bottom: 18px;\r\n overflow: hidden;\r\n}\r\n.progress-bar {\r\n box-shadow: none;\r\n font-size: 8px;\r\n font-weight: 600;\r\n line-height: 12px;\r\n}\r\n.progress.progress-sm {\r\n height: 5px !important;\r\n}\r\n.progress.progress-sm .progress-bar {\r\n font-size: 8px;\r\n line-height: 5px;\r\n}\r\n.progress.progress-md {\r\n height: 15px !important;\r\n}\r\n.progress.progress-md .progress-bar {\r\n font-size: 10.8px;\r\n line-height: 14.4px;\r\n}\r\n.progress.progress-lg {\r\n height: 20px !important;\r\n}\r\n.progress.progress-lg .progress-bar {\r\n font-size: 12px;\r\n line-height: 20px;\r\n}\r\n.progress-bar-primary {\r\n background-color: #3bafda;\r\n}\r\n.progress-bar-success {\r\n background-color: #00b19d;\r\n}\r\n.progress-bar-info {\r\n background-color: #3ddcf7;\r\n}\r\n.progress-bar-warning {\r\n background-color: #ffaa00;\r\n}\r\n.progress-bar-danger {\r\n background-color: #ef5350;\r\n}\r\n.progress-bar-inverse {\r\n background-color: #4c5667;\r\n}\r\n.progress-bar-purple {\r\n background-color: #7266ba;\r\n}\r\n.progress-bar-pink {\r\n background-color: #f76397;\r\n}\r\n.progress-animated {\r\n -webkit-animation-duration: 5s;\r\n -webkit-animation-name: animationProgress;\r\n -webkit-transition: 5s all;\r\n animation-duration: 5s;\r\n animation-name: animationProgress;\r\n transition: 5s all;\r\n}\r\n/* ===========\r\n Carousel\r\n =============*/\r\n.carousel-control {\r\n width: 10%;\r\n}\r\n.carousel-control span {\r\n position: absolute;\r\n top: 50%;\r\n /* pushes the icon in the middle of the height */\r\n z-index: 5;\r\n display: inline-block;\r\n font-size: 30px;\r\n}\r\n.carousel-indicators li {\r\n border: 2px solid #ffffff;\r\n}\r\n/* ===========\r\n Tables\r\n =============*/\r\n.table {\r\n margin-bottom: 10px;\r\n}\r\ntbody {\r\n color: rgba(255, 255, 255, 0.4);\r\n}\r\nth {\r\n color: rgba(255, 255, 255, 0.7);\r\n font-size: 15px;\r\n font-weight: 500;\r\n}\r\n.table > tbody > tr > td,\r\n.table > tbody > tr > th,\r\n.table > tfoot > tr > td,\r\n.table > tfoot > tr > th,\r\n.table > thead > tr > td,\r\n.table > thead > tr > th {\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.table > thead > tr > th {\r\n border-bottom: 2px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.table-hover > tbody > tr:hover {\r\n background-color: #323b44;\r\n}\r\n.table-striped > tbody > tr:nth-of-type(odd),\r\n.table-hover > tbody > tr:hover,\r\n.table > thead > tr > td.active,\r\n.table > tbody > tr > td.active,\r\n.table > tfoot > tr > td.active,\r\n.table > thead > tr > th.active,\r\n.table > tbody > tr > th.active,\r\n.table > tfoot > tr > th.active,\r\n.table > thead > tr.active > td,\r\n.table > tbody > tr.active > td,\r\n.table > tfoot > tr.active > td,\r\n.table > thead > tr.active > th,\r\n.table > tbody > tr.active > th,\r\n.table > tfoot > tr.active > th {\r\n background-color: #323b44 !important;\r\n}\r\n.table > tbody > tr.success > td,\r\n.table > tbody > tr.success > th,\r\n.table > tbody > tr > td.success,\r\n.table > tbody > tr > th.success,\r\n.table > tfoot > tr.success > td,\r\n.table > tfoot > tr.success > th,\r\n.table > tfoot > tr > td.success,\r\n.table > tfoot > tr > th.success,\r\n.table > thead > tr.success > td,\r\n.table > thead > tr.success > th,\r\n.table > thead > tr > td.success,\r\n.table > thead > tr > th.success {\r\n background-color: rgba(0, 177, 157, 0.15);\r\n}\r\n.table > tbody > tr.info > td,\r\n.table > tbody > tr.info > th,\r\n.table > tbody > tr > td.info,\r\n.table > tbody > tr > th.info,\r\n.table > tfoot > tr.info > td,\r\n.table > tfoot > tr.info > th,\r\n.table > tfoot > tr > td.info,\r\n.table > tfoot > tr > th.info,\r\n.table > thead > tr.info > td,\r\n.table > thead > tr.info > th,\r\n.table > thead > tr > td.info,\r\n.table > thead > tr > th.info {\r\n background-color: rgba(61, 220, 247, 0.15);\r\n}\r\n.table > tbody > tr.warning > td,\r\n.table > tbody > tr.warning > th,\r\n.table > tbody > tr > td.warning,\r\n.table > tbody > tr > th.warning,\r\n.table > tfoot > tr.warning > td,\r\n.table > tfoot > tr.warning > th,\r\n.table > tfoot > tr > td.warning,\r\n.table > tfoot > tr > th.warning,\r\n.table > thead > tr.warning > td,\r\n.table > thead > tr.warning > th,\r\n.table > thead > tr > td.warning,\r\n.table > thead > tr > th.warning {\r\n background-color: rgba(255, 170, 0, 0.15);\r\n}\r\n.table > tbody > tr.danger > td,\r\n.table > tbody > tr.danger > th,\r\n.table > tbody > tr > td.danger,\r\n.table > tbody > tr > th.danger,\r\n.table > tfoot > tr.danger > td,\r\n.table > tfoot > tr.danger > th,\r\n.table > tfoot > tr > td.danger,\r\n.table > tfoot > tr > th.danger,\r\n.table > thead > tr.danger > td,\r\n.table > thead > tr.danger > th,\r\n.table > thead > tr > td.danger,\r\n.table > thead > tr > th.danger {\r\n background-color: rgba(239, 83, 80, 0.15);\r\n}\r\n.table-bordered {\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.table-striped > tbody > tr:nth-of-type(odd) {\r\n background-color: #323b44;\r\n}\r\n.table-bordered > thead > tr > th,\r\n.table-bordered > tbody > tr > th,\r\n.table-bordered > tfoot > tr > th,\r\n.table-bordered > thead > tr > td,\r\n.table-bordered > tbody > tr > td,\r\n.table-bordered > tfoot > tr > td {\r\n border: 1px solid rgba(255, 255, 255, 0.2);\r\n}\r\n.modal-block {\r\n background: transparent;\r\n margin: 40px auto;\r\n max-width: 600px;\r\n padding: 0;\r\n position: relative;\r\n text-align: left;\r\n}\r\n/* Data table */\r\n#datatable-editable .actions a {\r\n padding: 5px;\r\n}\r\n#datatable-editable .form-control {\r\n background-color: transparent;\r\n width: 100%;\r\n}\r\n#datatable-editable .fa-trash-o {\r\n color: #ef5350;\r\n}\r\n#datatable-editable .fa-times {\r\n color: #ef5350;\r\n}\r\n#datatable-editable .fa-pencil {\r\n color: #29b6f6;\r\n}\r\n#datatable-editable .fa-save {\r\n color: #33b86c;\r\n}\r\n#datatable td {\r\n font-weight: normal;\r\n}\r\ndiv.dataTables_paginate ul.pagination {\r\n margin-top: 30px;\r\n}\r\ndiv.dataTables_info {\r\n padding-top: 38px;\r\n}\r\n.dt-buttons {\r\n float: left;\r\n}\r\ndiv#datatable-buttons_info {\r\n float: left;\r\n}\r\n/* Fixed Header */\r\n.fixedHeader-floating {\r\n top: 70px !important;\r\n}\r\n/* Key table */\r\ntable.dataTable th.focus,\r\ntable.dataTable td.focus {\r\n outline: 3px solid #3bafda !important;\r\n outline-offset: -1px;\r\n}\r\n.fixedHeader-floating {\r\n border: none !important;\r\n}\r\n.fixedHeader-floating .sorting,\r\n.fixedHeader-floating .sorting_asc {\r\n background-color: #323b44;\r\n border-color: rgba(238, 238, 238, 0.3);\r\n}\r\ndiv.DTS tbody tr.even {\r\n background-color: #272e35;\r\n}\r\ndiv.DTS div.dataTables_scrollBody {\r\n background: none !important;\r\n}\r\n/* Responsive table */\r\n.table-rep-plugin .table-responsive {\r\n border: none !important;\r\n}\r\n.table-rep-plugin .dropdown-menu li.checkbox-row {\r\n color: #ffffff !important;\r\n background-color: transparent !important;\r\n}\r\n.table-rep-plugin tbody th {\r\n font-size: 14px;\r\n font-weight: normal;\r\n}\r\n.table-rep-plugin .checkbox-row {\r\n padding-left: 40px;\r\n}\r\n.table-rep-plugin .checkbox-row label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.table-rep-plugin .checkbox-row label::before {\r\n -o-transition: 0.3s ease-in-out;\r\n -webkit-transition: 0.3s ease-in-out;\r\n background-color: #ffffff;\r\n border-radius: 3px;\r\n border: 1px solid #cccccc;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n position: absolute;\r\n transition: 0.3s ease-in-out;\r\n width: 17px;\r\n outline: none !important;\r\n}\r\n.table-rep-plugin .checkbox-row label::after {\r\n color: #555555;\r\n display: inline-block;\r\n font-size: 11px;\r\n height: 16px;\r\n left: 0;\r\n margin-left: -20px;\r\n padding-left: 3px;\r\n padding-top: 1px;\r\n position: absolute;\r\n top: -1px;\r\n width: 16px;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: none;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::after {\r\n content: \"\\f00c\";\r\n font-family: 'FontAwesome';\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:disabled + label::before {\r\n background-color: #eeeeee;\r\n cursor: not-allowed;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n/* Tablesaw */\r\n.tablesaw thead {\r\n background: rgba(255, 255, 255, 0.05);\r\n background-image: none;\r\n border: none;\r\n}\r\n.tablesaw thead th {\r\n text-shadow: none;\r\n letter-spacing: 0.06em;\r\n color: rgba(255, 255, 255, 0.7) !important;\r\n}\r\n.tablesaw thead tr:first-child th {\r\n padding-top: 1.1em;\r\n padding-bottom: 0.9em;\r\n font-weight: 600;\r\n font-family: inherit;\r\n border: none;\r\n}\r\n.tablesaw td,\r\n.tablesaw tbody th {\r\n font-size: inherit;\r\n line-height: inherit;\r\n padding: 10px !important;\r\n}\r\n.tablesaw-stack tbody tr,\r\n.tablesaw tbody tr {\r\n border-bottom: none;\r\n}\r\n.tablesaw-swipe .tablesaw-cell-persist {\r\n border-right: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after,\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {\r\n font-family: FontAwesome;\r\n font-size: 10px;\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after {\r\n content: \"\\f176\";\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {\r\n content: \"\\f175\";\r\n}\r\n.tablesaw-bar .btn-select.btn-small:after,\r\n.tablesaw-bar .btn-select.btn-micro:after {\r\n font-size: 8px;\r\n padding-right: 10px;\r\n}\r\n.tablesaw-swipe .tablesaw-cell-persist {\r\n box-shadow: none;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn {\r\n text-shadow: none;\r\n background-image: none;\r\n color: rgba(255, 255, 255, 0.7) !important;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn.btn-select:hover {\r\n background: transparent;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn:hover,\r\n.tablesaw-enhanced .tablesaw-bar .btn:focus,\r\n.tablesaw-enhanced .tablesaw-bar .btn:active {\r\n color: #3bafda !important;\r\n background-color: #f5f5f5;\r\n outline: none !important;\r\n box-shadow: none !important;\r\n background-image: none;\r\n}\r\n/* Footable */\r\n.footable-odd {\r\n background-color: #2e363e;\r\n}\r\n/* Responsive table */\r\ntable.focus-on tbody tr.unfocused th,\r\ntable.focus-on tbody tr.unfocused td {\r\n color: rgba(255, 255, 255, 0.25);\r\n}\r\ntable.focus-on tbody tr.focused th {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\ntable.focus-on tbody tr.focused td {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.table-rep-plugin .sticky-table-header.fixed-solution {\r\n top: 70px !important;\r\n background-color: #272e35;\r\n border: 0;\r\n}\r\n/* =============\r\n Form elements\r\n ============= */\r\n.error {\r\n color: #ef5350;\r\n font-size: 12px;\r\n font-weight: 500;\r\n}\r\n.parsley-error {\r\n border-color: #ef5350 !important;\r\n}\r\n.parsley-errors-list {\r\n display: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n.parsley-errors-list.filled {\r\n display: block;\r\n}\r\n.parsley-errors-list > li {\r\n font-size: 12px;\r\n list-style: none;\r\n color: #f6504d;\r\n}\r\n/* Datepicker */\r\n.datepicker {\r\n padding: 8px;\r\n}\r\n.datepicker th {\r\n font-size: 14px !important;\r\n}\r\n.datepicker table tr td.today,\r\n.datepicker table tr td.today:hover,\r\n.datepicker table tr td.today.disabled,\r\n.datepicker table tr td.today.disabled:hover,\r\n.datepicker table tr td.selected,\r\n.datepicker table tr td.selected:hover,\r\n.datepicker table tr td.selected.disabled,\r\n.datepicker table tr td.selected.disabled:hover,\r\n.datepicker table tr td span.active,\r\n.datepicker table tr td span.active:hover,\r\n.datepicker table tr td span.active.disabled,\r\n.datepicker table tr td span.active.disabled:hover {\r\n background-image: none;\r\n}\r\n.datepicker table tr td span.active:hover,\r\n.datepicker table tr td span.active:hover:hover,\r\n.datepicker table tr td span.active.disabled:hover,\r\n.datepicker table tr td span.active.disabled:hover:hover,\r\n.datepicker table tr td span.active:active,\r\n.datepicker table tr td span.active:hover:active,\r\n.datepicker table tr td span.active.disabled:active,\r\n.datepicker table tr td span.active.disabled:hover:active,\r\n.datepicker table tr td span.active.active,\r\n.datepicker table tr td span.active:hover.active,\r\n.datepicker table tr td span.active.disabled.active,\r\n.datepicker table tr td span.active.disabled:hover.active,\r\n.datepicker table tr td span.active.disabled,\r\n.datepicker table tr td span.active:hover.disabled,\r\n.datepicker table tr td span.active.disabled.disabled,\r\n.datepicker table tr td span.active.disabled:hover.disabled,\r\n.datepicker table tr td span.active[disabled],\r\n.datepicker table tr td span.active:hover[disabled],\r\n.datepicker table tr td span.active.disabled[disabled],\r\n.datepicker table tr td span.active.disabled:hover[disabled] {\r\n background-color: #3bafda;\r\n}\r\n.datepicker table tr td.active,\r\n.datepicker table tr td.active:hover,\r\n.datepicker table tr td.active.disabled,\r\n.datepicker table tr td.active.disabled:hover {\r\n background-color: #3bafda !important;\r\n background-image: none;\r\n box-shadow: none;\r\n text-shadow: none;\r\n}\r\n.datepicker thead tr:first-child th:hover,\r\n.datepicker tfoot tr th:hover {\r\n background-color: #1c2127;\r\n}\r\n.datepicker-inline {\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.daterangepicker td.active,\r\n.daterangepicker td.active:hover {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.daterangepicker .input-mini.active {\r\n border: 1px solid #AAAAAA;\r\n}\r\n.daterangepicker .ranges li {\r\n border-radius: 2px;\r\n -moz-border-radius: 2px;\r\n background-clip: padding-box;\r\n color: #98a6ad;\r\n font-weight: 600;\r\n font-size: 12px;\r\n border-color: #323b44;\r\n background-color: #323b44;\r\n}\r\n.daterangepicker select.hourselect,\r\n.daterangepicker select.minuteselect,\r\n.daterangepicker select.secondselect,\r\n.daterangepicker select.ampmselect {\r\n border: 1px solid #e3e3e3;\r\n padding: 2px;\r\n width: 60px;\r\n}\r\n.daterangepicker .ranges li.active,\r\n.daterangepicker .ranges li:hover {\r\n background-color: #3bafda;\r\n border: 1px solid #3bafda;\r\n}\r\n.search-input {\r\n margin-bottom: 10px;\r\n}\r\n.ms-selectable {\r\n box-shadow: none;\r\n outline: none !important;\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n}\r\n.ms-container .ms-selectable li.ms-hover {\r\n background-color: #3bafda;\r\n}\r\n.ms-container .ms-selection li.ms-hover {\r\n background-color: #3bafda;\r\n}\r\n.note-editor {\r\n border: 2px solid rgba(255, 255, 255, 0.2);\r\n position: relative;\r\n color: #98a6ad;\r\n}\r\n.note-editor .note-toolbar {\r\n background-color: transparent;\r\n border-bottom: 1px solid #eeeeee;\r\n margin: 0;\r\n}\r\n.note-editor .note-statusbar {\r\n background-color: transparent;\r\n}\r\n.note-editor .note-statusbar .note-resizebar {\r\n border-top: none;\r\n height: 15px;\r\n padding-top: 3px;\r\n}\r\n.note-editor .note-editing-area .note-editable {\r\n background: transparent;\r\n color: #98a6ad;\r\n}\r\n.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,\r\n.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title,\r\n.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,\r\n.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {\r\n color: #323b44;\r\n}\r\n.note-popover .popover .popover-content {\r\n padding: 5px 0 10px 5px;\r\n}\r\n.note-toolbar {\r\n padding: 5px 0 10px 5px;\r\n}\r\n/* Timepicker */\r\n.bootstrap-timepicker-widget table td a:hover {\r\n background-color: transparent;\r\n border-color: transparent;\r\n border-radius: 4px;\r\n color: #3bafda;\r\n text-decoration: none;\r\n}\r\n.editor-horizontal .popover-content {\r\n padding: 9px 30px;\r\n}\r\n.datepicker table tr td.active,\r\n.datepicker table tr td.active:hover,\r\n.datepicker table tr td.active.disabled,\r\n.datepicker table tr td.active.disabled:hover {\r\n background-color: #3bafda !important;\r\n background-image: none;\r\n box-shadow: none;\r\n}\r\n/* Dropzone */\r\n.dropzone {\r\n min-height: 230px;\r\n border: 2px dashed rgba(255, 255, 255, 0.2);\r\n background: transparent;\r\n border-radius: 6px;\r\n}\r\n.dropzone .dz-message {\r\n font-size: 30px;\r\n}\r\n/* =============\r\n Calendar\r\n============= */\r\n.calendar {\r\n float: left;\r\n margin-bottom: 0px;\r\n}\r\n.fc-view {\r\n margin-top: 30px;\r\n}\r\n.none-border .modal-footer {\r\n border-top: none;\r\n}\r\n.fc-toolbar {\r\n margin-bottom: 5px;\r\n margin-top: 15px;\r\n}\r\n.fc-toolbar h2 {\r\n font-size: 18px;\r\n font-weight: 600;\r\n line-height: 30px;\r\n text-transform: uppercase;\r\n}\r\n.fc-day {\r\n background: transparent;\r\n}\r\n.fc-toolbar .fc-state-active,\r\n.fc-toolbar .ui-state-active,\r\n.fc-toolbar button:focus,\r\n.fc-toolbar button:hover,\r\n.fc-toolbar .ui-state-hover {\r\n z-index: 0;\r\n}\r\n.fc-widget-header {\r\n border: 1px solid #f5f5f5;\r\n}\r\n.fc-widget-content {\r\n border: 1px solid #f5f5f5;\r\n}\r\n.fc th.fc-widget-header {\r\n background: rgba(255, 255, 255, 0.2);\r\n font-size: 14px;\r\n line-height: 20px;\r\n padding: 10px 0px;\r\n text-transform: uppercase;\r\n}\r\n.fc-unthemed th,\r\n.fc-unthemed td,\r\n.fc-unthemed thead,\r\n.fc-unthemed tbody,\r\n.fc-unthemed .fc-divider,\r\n.fc-unthemed .fc-row,\r\n.fc-unthemed .fc-popover {\r\n background-color: transparent;\r\n border-color: rgba(255, 255, 255, 0.1);\r\n}\r\n.fc-button {\r\n background: #ffffff;\r\n border: 1px solid #f5f5f5;\r\n color: #555555;\r\n text-transform: capitalize;\r\n}\r\n.fc-text-arrow {\r\n font-family: inherit;\r\n font-size: 16px;\r\n}\r\n.fc-state-hover {\r\n background: #F5F5F5;\r\n}\r\n.fc-state-highlight {\r\n background: #f0f0f0;\r\n}\r\n.fc-cell-overlay {\r\n background: #f0f0f0;\r\n}\r\n.fc-unthemed .fc-today {\r\n background: transparent;\r\n}\r\n.fc-event {\r\n border-radius: 2px;\r\n border: none;\r\n cursor: move;\r\n font-size: 13px;\r\n margin: 5px 7px;\r\n padding: 5px 5px;\r\n text-align: center;\r\n}\r\n.external-event {\r\n color: #ffffff;\r\n cursor: move;\r\n margin: 10px 0;\r\n padding: 6px 10px;\r\n}\r\n.fc-basic-view td.fc-week-number span {\r\n padding-right: 5px;\r\n}\r\n.fc-basic-view td.fc-day-number {\r\n padding-right: 5px;\r\n}\r\n/* ===========\r\n Widgets\r\n =============*/\r\n/* Inbox-widget */\r\n.inbox-widget .inbox-item {\r\n border-bottom: 1px solid #323b44;\r\n overflow: hidden;\r\n padding: 10px 0;\r\n position: relative;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-img {\r\n display: block;\r\n float: left;\r\n margin-right: 15px;\r\n width: 40px;\r\n}\r\n.inbox-widget .inbox-item img {\r\n width: 40px;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-author {\r\n color: #f5f5f5;\r\n display: block;\r\n margin: 0;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-text {\r\n color: #98a6ad;\r\n display: block;\r\n font-size: 12px;\r\n margin: 0;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-date {\r\n color: #98a6ad;\r\n font-size: 11px;\r\n position: absolute;\r\n right: 7px;\r\n top: 2px;\r\n}\r\n/* Chat widget */\r\n.conversation-list {\r\n list-style: none;\r\n height: 332px;\r\n padding: 0px 20px;\r\n}\r\n.conversation-list li {\r\n margin-bottom: 24px;\r\n}\r\n.conversation-list .chat-avatar {\r\n display: inline-block;\r\n float: left;\r\n text-align: center;\r\n width: 42px;\r\n}\r\n.conversation-list .chat-avatar img {\r\n border-radius: 100%;\r\n width: 100%;\r\n}\r\n.conversation-list .chat-avatar i {\r\n font-size: 12px;\r\n font-style: normal;\r\n color: #98a6ad;\r\n}\r\n.conversation-list .ctext-wrap {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n background: rgba(255, 255, 255, 0.1);\r\n border-radius: 3px;\r\n display: inline-block;\r\n padding: 12px;\r\n position: relative;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n}\r\n.conversation-list .ctext-wrap i {\r\n color: #f5f5f5;\r\n display: block;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: bold;\r\n position: relative;\r\n}\r\n.conversation-list .ctext-wrap p {\r\n margin: 0px;\r\n padding-top: 3px;\r\n color: #98a6ad;\r\n}\r\n.conversation-list .ctext-wrap:after {\r\n right: 100%;\r\n top: 0%;\r\n border: solid transparent;\r\n content: \" \";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-top-color: rgba(255, 255, 255, 0.1);\r\n border-width: 8px;\r\n margin-left: -1px;\r\n border-right-color: rgba(255, 255, 255, 0.1);\r\n}\r\n.conversation-list .conversation-text {\r\n display: inline-block;\r\n float: left;\r\n font-size: 12px;\r\n margin-left: 12px;\r\n width: 70%;\r\n}\r\n.conversation-list .odd .chat-avatar {\r\n float: right !important;\r\n}\r\n.conversation-list .odd .conversation-text {\r\n float: right !important;\r\n margin-right: 12px;\r\n text-align: right;\r\n width: 70% !important;\r\n}\r\n.conversation-list .odd .ctext-wrap:after {\r\n border-color: rgba(238, 238, 242, 0) !important;\r\n border-left-color: rgba(255, 255, 255, 0.1) !important;\r\n border-top-color: rgba(255, 255, 255, 0.1) !important;\r\n left: 100% !important;\r\n margin-right: -1px;\r\n}\r\n.chat-send {\r\n padding-left: 0px;\r\n padding-right: 30px;\r\n}\r\n.chat-send button {\r\n width: 100%;\r\n}\r\n.chat-inputbar {\r\n padding-left: 30px;\r\n}\r\n/* Todos widget */\r\n#todo-message {\r\n font-size: 16px;\r\n}\r\n.todo-list li {\r\n border-radius: 0px;\r\n border: 0px;\r\n margin: 0px;\r\n padding: 1px;\r\n color: #98a6ad;\r\n}\r\n.todo-list li:last-of-type {\r\n border-bottom: none;\r\n}\r\n.todo-list li:hover {\r\n background: transparent !important;\r\n}\r\n.todo-send {\r\n padding-left: 0px;\r\n}\r\n/* Widget-chart */\r\n.widget-chart ul li {\r\n width: 31.5%;\r\n display: inline-block;\r\n padding: 0px;\r\n}\r\n.widget-panel {\r\n padding: 30px 20px;\r\n padding-left: 30px;\r\n border-radius: 4px;\r\n position: relative;\r\n margin-bottom: 20px;\r\n}\r\n.widget-panel i {\r\n font-size: 60px;\r\n padding: 30px;\r\n background: rgba(255, 255, 255, 0.2);\r\n position: absolute;\r\n right: 0px;\r\n bottom: 0px;\r\n top: 0px;\r\n line-height: 60px;\r\n}\r\n.widget-user {\r\n min-height: 112px;\r\n}\r\n.widget-user img {\r\n height: 72px;\r\n float: left;\r\n}\r\n.widget-user .wid-u-info {\r\n margin-left: 90px;\r\n}\r\n.widget-user .wid-u-info p {\r\n white-space: nowrap;\r\n display: block;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.widget-simple-chart .circliful-chart {\r\n float: left;\r\n margin-top: -5px;\r\n}\r\n.widget-icon i {\r\n float: left;\r\n font-size: 48px;\r\n}\r\n.widget-icon .wid-icon-info {\r\n margin-left: 80px;\r\n}\r\n"; }); -define('text!main/picks/picks.html', ['module'], function(module) { module.exports = ""; }); +define('text!main/feedback/feedback.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/core.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Core file List\r\n\r\n - Common\r\n - Bootstrap custom\r\n - Helper class\r\n - Waves effect\r\n - Animation\r\n - Print css\r\n =============*/\r\n/* ===========\r\n Common\r\n =============*/\r\nbody {\r\n background: #2d353d;\r\n font-family: 'Roboto', sans-serif;\r\n margin: 0;\r\n color: #98a6ad;\r\n overflow-x: hidden !important;\r\n}\r\nhtml {\r\n overflow-x: hidden;\r\n position: relative;\r\n min-height: 100%;\r\n background: #2d353d;\r\n}\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6 {\r\n color: rgba(255, 255, 255, 0.8);\r\n font-family: 'Source Sans Pro', sans-serif;\r\n margin: 10px 0;\r\n}\r\nh1 small,\r\nh2 small,\r\nh3 small,\r\nh4 small,\r\nh5 small,\r\nh6 small {\r\n color: rgba(255, 255, 255, 0.5);\r\n}\r\nh1 {\r\n line-height: 43px;\r\n}\r\nh2 {\r\n line-height: 35px;\r\n}\r\nh3 {\r\n line-height: 30px;\r\n}\r\nh4 {\r\n line-height: 22px;\r\n}\r\n* {\r\n outline: none !important;\r\n}\r\na:hover {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\na:active {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\na:focus {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\n.container {\r\n width: auto;\r\n}\r\n.container-alt {\r\n margin-left: auto;\r\n margin-right: auto;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n}\r\n.footer {\r\n background-color: #323b44;\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n bottom: 0;\r\n color: #98a6ad;\r\n text-align: left !important;\r\n padding: 20px 30px;\r\n position: absolute;\r\n right: 0;\r\n left: 240px;\r\n}\r\n#wrapper {\r\n height: 100%;\r\n overflow: hidden;\r\n width: 100%;\r\n}\r\n.page {\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n}\r\n.page-title {\r\n margin-bottom: 0px;\r\n margin-top: 0px;\r\n}\r\n.page-header {\r\n border-bottom: 1px solid rgba(238, 238, 238, 0.2);\r\n}\r\n.page-title-box {\r\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.03), 0 1px 0 rgba(0, 0, 0, 0.03);\r\n padding: 20px;\r\n margin: -20px -20px 0 -20px;\r\n}\r\n.page-title-box .breadcrumb {\r\n margin-top: 0px;\r\n padding-top: 2px;\r\n}\r\n.page-title-box .breadcrumb a {\r\n color: #3bafda;\r\n}\r\n.page-title-box .breadcrumb > .active {\r\n color: #98a6ad;\r\n}\r\n.card-box {\r\n padding: 20px;\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 5px;\r\n -moz-border-radius: 5px;\r\n background-clip: padding-box;\r\n margin-bottom: 20px;\r\n background-color: #323b44;\r\n}\r\n.header-title {\r\n text-transform: uppercase;\r\n font-size: 15px;\r\n font-weight: 600;\r\n letter-spacing: 0.04em;\r\n line-height: 16px;\r\n margin-bottom: 8px;\r\n}\r\n.social-links li a {\r\n -webkit-border-radius: 50%;\r\n background: #EFF0F4;\r\n border-radius: 50%;\r\n color: #7A7676;\r\n display: inline-block;\r\n height: 30px;\r\n line-height: 30px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n/* ===========\r\n Bootstrap-custom\r\n =============*/\r\n.row {\r\n margin-right: -10px;\r\n margin-left: -10px;\r\n}\r\n.col-lg-1,\r\n.col-lg-10,\r\n.col-lg-11,\r\n.col-lg-12,\r\n.col-lg-2,\r\n.col-lg-3,\r\n.col-lg-4,\r\n.col-lg-5,\r\n.col-lg-6,\r\n.col-lg-7,\r\n.col-lg-8,\r\n.col-lg-9,\r\n.col-md-1,\r\n.col-md-10,\r\n.col-md-11,\r\n.col-md-12,\r\n.col-md-2,\r\n.col-md-3,\r\n.col-md-4,\r\n.col-md-5,\r\n.col-md-6,\r\n.col-md-7,\r\n.col-md-8,\r\n.col-md-9,\r\n.col-sm-1,\r\n.col-sm-10,\r\n.col-sm-11,\r\n.col-sm-12,\r\n.col-sm-2,\r\n.col-sm-3,\r\n.col-sm-4,\r\n.col-sm-5,\r\n.col-sm-6,\r\n.col-sm-7,\r\n.col-sm-8,\r\n.col-sm-9,\r\n.col-xs-1,\r\n.col-xs-10,\r\n.col-xs-11,\r\n.col-xs-12,\r\n.col-xs-2,\r\n.col-xs-3,\r\n.col-xs-4,\r\n.col-xs-5,\r\n.col-xs-6,\r\n.col-xs-7,\r\n.col-xs-8,\r\n.col-xs-9 {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n}\r\n.breadcrumb {\r\n background-color: transparent;\r\n margin-bottom: 15px;\r\n margin-top: 5px;\r\n}\r\n.dropdown-menu {\r\n padding: 4px 0;\r\n background-color: #1c2127;\r\n animation: dropdownOpen 0.3s ease-out;\r\n border: 0;\r\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n}\r\n.dropdown-menu > li > a {\r\n padding: 6px 20px;\r\n color: #98a6ad;\r\n}\r\n.dropdown-menu .divider {\r\n background-color: rgba(238, 238, 238, 0.2);\r\n}\r\n.dropdown-menu > li > a:focus,\r\n.dropdown-menu > li > a:hover {\r\n color: rgba(255, 255, 255, 0.7);\r\n text-decoration: none;\r\n background-color: #121518;\r\n}\r\nhr {\r\n border-top: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\ncode {\r\n color: #3bafda;\r\n border-radius: 4px;\r\n}\r\ncode,\r\npre {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n}\r\npre {\r\n background-color: #21272c;\r\n color: #eeeeee;\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.bg-empty {\r\n background: transparent !important;\r\n}\r\n.bg-primary {\r\n background-color: #3bafda !important;\r\n}\r\n.bg-success {\r\n background-color: #00b19d !important;\r\n}\r\n.bg-info {\r\n background-color: #3ddcf7 !important;\r\n}\r\n.bg-warning {\r\n background-color: #ffaa00 !important;\r\n}\r\n.bg-danger {\r\n background-color: #ef5350 !important;\r\n}\r\n.bg-muted {\r\n background-color: #F5F5F5 !important;\r\n}\r\n.bg-inverse {\r\n background-color: #4c5667 !important;\r\n}\r\n.bg-purple {\r\n background-color: #7266ba !important;\r\n}\r\n.bg-pink {\r\n background-color: #f76397 !important;\r\n}\r\n.bg-white {\r\n background-color: #ffffff !important;\r\n}\r\n.text-white {\r\n color: #ffffff;\r\n}\r\n.text-danger {\r\n color: #ef5350;\r\n}\r\n.text-muted {\r\n color: #98a6ad !important;\r\n}\r\n.text-primary {\r\n color: #3bafda;\r\n}\r\n.text-warning {\r\n color: #ffaa00;\r\n}\r\n.text-success {\r\n color: #00b19d;\r\n}\r\n.text-info {\r\n color: #3ddcf7;\r\n}\r\n.text-inverse {\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n.text-pink {\r\n color: #f76397;\r\n}\r\n.text-purple {\r\n color: #7266ba;\r\n}\r\n.form-control {\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n border-radius: 4px;\r\n color: #ffffff;\r\n height: 36px;\r\n max-width: 100%;\r\n box-shadow: none;\r\n transition: all 300ms linear;\r\n}\r\n.form-control:focus {\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n box-shadow: none;\r\n outline: 0 !important;\r\n color: #ffffff;\r\n}\r\n.form-control[disabled],\r\n.form-control[readonly],\r\nfieldset[disabled] .form-control {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n}\r\ninput.form-control::-webkit-input-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control:-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control::-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control:-ms-input-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\n.label {\r\n color: #ffffff !important;\r\n}\r\n.label-primary {\r\n background-color: #3bafda;\r\n}\r\n.label-success {\r\n background-color: #00b19d;\r\n}\r\n.label-info {\r\n background-color: #3ddcf7;\r\n}\r\n.label-warning {\r\n background-color: #ffaa00;\r\n}\r\n.label-danger {\r\n background-color: #ef5350;\r\n}\r\n.label-purple {\r\n background-color: #7266ba;\r\n}\r\n.label-pink {\r\n background-color: #f76397;\r\n}\r\n.label-dark {\r\n background: #4f595b;\r\n}\r\n.label-inverse {\r\n background-color: #4c5667;\r\n}\r\n.badge {\r\n font-weight: 600;\r\n padding: 3px 5px;\r\n font-size: 12px;\r\n margin-top: 1px;\r\n}\r\n.badge-xs {\r\n font-size: 9px;\r\n}\r\n.badge-xs,\r\n.badge-sm {\r\n transform: translate(0, -2px);\r\n}\r\n.badge-primary {\r\n background-color: #3bafda;\r\n}\r\n.badge-success {\r\n background-color: #00b19d;\r\n}\r\n.badge-info {\r\n background-color: #3ddcf7;\r\n}\r\n.badge-warning {\r\n background-color: #ffaa00;\r\n}\r\n.badge-danger {\r\n background-color: #ef5350;\r\n}\r\n.badge-purple {\r\n background-color: #7266ba;\r\n}\r\n.badge-pink {\r\n background-color: #f76397;\r\n}\r\n.badge-inverse {\r\n background-color: #4c5667;\r\n}\r\n/* Pagination/ Pager */\r\n.pagination > li:first-child > a,\r\n.pagination > li:first-child > span {\r\n border-bottom-left-radius: 3px;\r\n border-top-left-radius: 3px;\r\n}\r\n.pagination > li:last-child > a,\r\n.pagination > li:last-child > span {\r\n border-bottom-right-radius: 3px;\r\n border-top-right-radius: 3px;\r\n}\r\n.pagination > li > a,\r\n.pagination > li > span {\r\n color: #ffffff;\r\n background-color: transparent;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.pagination > li > a:hover,\r\n.pagination > li > span:hover,\r\n.pagination > li > a:focus,\r\n.pagination > li > span:focus {\r\n background-color: #e4e7ea;\r\n}\r\n.pagination-split li {\r\n margin-left: 5px;\r\n display: inline-block;\r\n float: left;\r\n}\r\n.pagination-split li:first-child {\r\n margin-left: 0;\r\n}\r\n.pagination-split li a {\r\n border-radius: 3px;\r\n}\r\n.pagination > .active > a,\r\n.pagination > .active > span,\r\n.pagination > .active > a:hover,\r\n.pagination > .active > span:hover,\r\n.pagination > .active > a:focus,\r\n.pagination > .active > span:focus {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.pager li > a,\r\n.pager li > span {\r\n border-radius: 3px;\r\n color: #ffffff;\r\n background: transparent;\r\n}\r\n.pager li > a:hover,\r\n.pager li > span:hover {\r\n background: rgba(255, 255, 255, 0.2);\r\n}\r\n.pagination > .disabled > a,\r\n.pagination > .disabled > a:focus,\r\n.pagination > .disabled > a:hover,\r\n.pagination > .disabled > span,\r\n.pagination > .disabled > span:focus,\r\n.pagination > .disabled > span:hover,\r\n.pager .disabled > a,\r\n.pager .disabled > a:focus,\r\n.pager .disabled > a:hover,\r\n.pager .disabled > span {\r\n background: rgba(255, 255, 255, 0.2);\r\n color: #ffffff;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\nblockquote .small,\r\nblockquote footer,\r\nblockquote small {\r\n color: #ffffff;\r\n}\r\n/* Tabs */\r\n.tabs {\r\n margin: 0 auto;\r\n padding: 0px;\r\n position: relative;\r\n white-space: nowrap;\r\n width: 100%;\r\n}\r\n.tabs li.tab {\r\n display: block;\r\n float: left;\r\n margin: 0;\r\n text-align: center;\r\n}\r\n.tabs li.tab a {\r\n -moz-transition: color 0.28s ease;\r\n -ms-transition: color 0.28s ease;\r\n -o-transition: color 0.28s ease;\r\n -webkit-transition: color 0.28s ease;\r\n color: #eeeeee;\r\n display: block;\r\n height: 100%;\r\n text-decoration: none;\r\n transition: color 0.28s ease;\r\n width: 100%;\r\n}\r\n.tabs li.tab a.active {\r\n color: #3bafda !important;\r\n}\r\n.tabs .indicator {\r\n background-color: #3bafda;\r\n bottom: 0;\r\n height: 2px;\r\n position: absolute;\r\n will-change: left, right;\r\n}\r\n.tabs-top .indicator {\r\n top: 0;\r\n}\r\n.nav-pills li a {\r\n line-height: 36px !important;\r\n}\r\n.nav-pills li.active a {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li.active a:hover {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li.active a:focus {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li a:hover {\r\n color: #3bafda;\r\n background: transparent !important;\r\n}\r\n.nav.nav-tabs + .tab-content {\r\n border: 2px solid rgba(255, 255, 255, 0.1);\r\n margin-bottom: 30px;\r\n padding: 30px;\r\n color: #98a6ad;\r\n background-color: #323b44;\r\n}\r\n.tabs-vertical-env {\r\n margin-bottom: 30px;\r\n}\r\n.tabs-vertical-env .tab-content {\r\n border: 2px solid rgba(255, 255, 255, 0.1);\r\n display: table-cell;\r\n margin-bottom: 30px;\r\n padding: 30px;\r\n color: #98a6ad;\r\n vertical-align: top;\r\n background-color: #272e35;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical {\r\n display: table-cell;\r\n min-width: 120px;\r\n vertical-align: top;\r\n width: 150px;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n background-color: #ffffff;\r\n border: 0;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical li > a {\r\n color: #333333;\r\n text-align: center;\r\n white-space: nowrap;\r\n}\r\n.nav.nav-tabs > li.active > a {\r\n border: 0;\r\n}\r\n.nav.nav-tabs > li > a,\r\n.nav.tabs-vertical > li > a {\r\n background: rgba(255, 255, 255, 0.1) !important;\r\n border-radius: 0;\r\n border: none;\r\n cursor: pointer;\r\n line-height: 50px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n letter-spacing: 0.03em;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n font-family: 'Source Sans Pro', sans-serif;\r\n}\r\n.nav.nav-tabs > li > a:hover,\r\n.nav.tabs-vertical > li > a:hover {\r\n color: #3bafda !important;\r\n background: rgba(255, 255, 255, 0.1) !important;\r\n}\r\n.nav.nav-tabs > li:last-of-type a {\r\n margin-right: 0px;\r\n}\r\n.nav.nav-tabs {\r\n border-bottom: 0;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus,\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n border: none;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:focus,\r\n.nav-tabs > li.active > a:hover,\r\n.tabs-vertical > li.active > a,\r\n.tabs-vertical > li.active > a:focus,\r\n.tabs-vertical > li.active > a:hover {\r\n color: #3bafda !important;\r\n}\r\n.navtab-custom li {\r\n margin-bottom: -2px;\r\n}\r\n.navtab-custom li a {\r\n border-top: 2px solid transparent !important;\r\n}\r\n.navtab-custom li.active a {\r\n border-top: 2px solid #3bafda !important;\r\n}\r\n.nav-tab-left.navtab-custom li a {\r\n border: none !important;\r\n border-left: 2px solid transparent !important;\r\n}\r\n.nav-tab-left.navtab-custom li.active a {\r\n border-left: 2px solid #3bafda !important;\r\n}\r\n.nav-tab-right.navtab-custom li a {\r\n border: none !important;\r\n border-right: 2px solid transparent !important;\r\n}\r\n.nav-tab-right.navtab-custom li.active a {\r\n border-right: 2px solid #3bafda !important;\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus,\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n border: none;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:focus,\r\n.nav-tabs > li.active > a:hover,\r\n.tabs-vertical > li.active > a,\r\n.tabs-vertical > li.active > a:focus,\r\n.tabs-vertical > li.active > a:hover {\r\n color: #3bafda !important;\r\n}\r\n/* Dropcap */\r\n.dropcap {\r\n font-size: 3.1em;\r\n}\r\n.dropcap,\r\n.dropcap-circle,\r\n.dropcap-square {\r\n display: block;\r\n float: left;\r\n font-weight: 400;\r\n line-height: 36px;\r\n margin-right: 6px;\r\n text-shadow: none;\r\n}\r\n/* Modal */\r\n.modal .modal-dialog .modal-content {\r\n -moz-box-shadow: none;\r\n -webkit-box-shadow: none;\r\n border-color: rgba(238, 238, 238, 0.3);\r\n border-radius: 2px;\r\n box-shadow: none;\r\n padding: 30px;\r\n background-color: #323b44;\r\n}\r\n.modal .modal-dialog .modal-content .modal-header {\r\n margin: 0;\r\n padding: 0;\r\n border-bottom: 2px solid rgba(238, 238, 238, 0.3);\r\n padding-bottom: 15px;\r\n}\r\n.modal .modal-dialog .modal-content .modal-body {\r\n padding: 20px 0;\r\n}\r\n.modal .modal-dialog .modal-content .modal-footer {\r\n padding: 0;\r\n padding-top: 15px;\r\n border-top: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.modal .close {\r\n color: #ffffff;\r\n text-shadow: none;\r\n}\r\n.modal-full {\r\n width: 98%;\r\n}\r\n.modal-backdrop {\r\n background-color: #eeeeee;\r\n}\r\n.modal-content .nav.nav-tabs + .tab-content {\r\n margin-bottom: 0px;\r\n}\r\n.modal-content .panel-group {\r\n margin-bottom: 0px;\r\n}\r\n.modal-content .panel {\r\n border-top: none;\r\n}\r\n/* Custom-modal */\r\n.modal-demo {\r\n background-color: #FFF;\r\n width: 600px;\r\n border-radius: 4px;\r\n -moz-border-radius: 4px;\r\n background-clip: padding-box;\r\n display: none;\r\n}\r\n.modal-demo .close {\r\n position: absolute;\r\n top: 15px;\r\n right: 25px;\r\n color: #eeeeee;\r\n}\r\n.custom-modal-title {\r\n padding: 15px 25px 15px 25px;\r\n line-height: 22px;\r\n font-size: 18px;\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n text-align: left;\r\n margin: 0px;\r\n}\r\n.custom-modal-text {\r\n padding: 20px;\r\n}\r\n.custombox-modal-flash .close,\r\n.custombox-modal-rotatedown .close {\r\n top: 20px;\r\n z-index: 9999;\r\n}\r\n.tabs-vertical-env .tab-content {\r\n margin-bottom: 0px;\r\n}\r\n.table > thead > tr > td.middle-align,\r\n.table > tbody > tr > td.middle-align {\r\n vertical-align: middle;\r\n}\r\n.legendLabel {\r\n padding-left: 10px !important;\r\n}\r\n/* Alerts */\r\n.alert-success {\r\n background-color: rgba(0, 177, 157, 0.25) !important;\r\n border-color: rgba(0, 177, 157, 0.5) !important;\r\n color: #00b19d;\r\n}\r\n.alert-success .alert-link {\r\n color: #00b19d;\r\n}\r\n.alert-info {\r\n background-color: rgba(61, 220, 247, 0.2) !important;\r\n border-color: rgba(61, 220, 247, 0.5) !important;\r\n color: #3ddcf7;\r\n}\r\n.alert-info .alert-link {\r\n color: #3ddcf7;\r\n}\r\n.alert-warning {\r\n background-color: rgba(255, 170, 0, 0.2) !important;\r\n border-color: rgba(255, 170, 0, 0.5) !important;\r\n color: #ffaa00;\r\n}\r\n.alert-warning .alert-link {\r\n color: #ffaa00;\r\n}\r\n.alert-danger {\r\n background-color: rgba(239, 83, 80, 0.2) !important;\r\n border-color: rgba(239, 83, 80, 0.5) !important;\r\n color: #ef5350;\r\n}\r\n.alert-danger .alert-link {\r\n color: #ef5350;\r\n}\r\n/* List group */\r\n.list-group-item {\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n background: transparent;\r\n color: #ffffff !important;\r\n}\r\n.list-group-item:hover {\r\n background-color: rgba(255, 255, 255, 0.07) !important;\r\n}\r\n.list-group-item.disabled,\r\n.list-group-item.disabled:focus,\r\n.list-group-item.disabled:hover {\r\n background-color: rgba(255, 255, 255, 0.07) !important;\r\n}\r\n.list-group-item.active,\r\n.list-group-item.active:hover,\r\n.list-group-item.active:focus {\r\n background-color: #3bafda !important;\r\n border-color: #3bafda;\r\n}\r\n.list-group-item.disabled .list-group-item-text,\r\n.list-group-item.disabled:focus .list-group-item-text,\r\n.list-group-item.disabled:hover .list-group-item-text {\r\n color: rgba(255, 255, 255, 0.5);\r\n}\r\na.list-group-item .list-group-item-heading,\r\nbutton.list-group-item .list-group-item-heading {\r\n color: #ffffff;\r\n}\r\n.nav-pills > .active > a > .badge {\r\n color: #3bafda;\r\n}\r\n.has-success .form-control {\r\n border-color: #00b19d;\r\n box-shadow: none !important;\r\n}\r\n.has-warning .form-control {\r\n border-color: #ffaa00;\r\n box-shadow: none !important;\r\n}\r\n.has-error .form-control {\r\n border-color: #ef5350;\r\n box-shadow: none !important;\r\n}\r\n.input-group-addon {\r\n border-radius: 2px;\r\n border: none;\r\n background-color: rgba(255, 255, 255, 0.2);\r\n color: #ffffff;\r\n}\r\n/* Tooltips */\r\n.tooltip-inner {\r\n border-radius: 1px;\r\n padding: 6px 10px;\r\n}\r\n.jqstooltip {\r\n box-sizing: content-box;\r\n width: auto !important;\r\n height: auto !important;\r\n}\r\n/* Popover */\r\n.popover {\r\n font-family: inherit;\r\n border: none;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.popover .popover-title {\r\n background-color: transparent;\r\n color: #3bafda;\r\n font-weight: 600;\r\n}\r\n/* ===========\r\n Helper classes\r\n =============*/\r\n.p-0 {\r\n padding: 0px !important;\r\n}\r\n.p-t-0 {\r\n padding-top: 0px !important;\r\n}\r\n.p-t-10 {\r\n padding-top: 10px !important;\r\n}\r\n.p-b-0 {\r\n padding-bottom: 0px !important;\r\n}\r\n.p-b-10 {\r\n padding-bottom: 10px !important;\r\n}\r\n.m-0 {\r\n margin: 0px !important;\r\n}\r\n.m-r-5 {\r\n margin-right: 5px;\r\n}\r\n.m-r-10 {\r\n margin-right: 10px;\r\n}\r\n.m-r-15 {\r\n margin-right: 15px !important;\r\n}\r\n.m-l-5 {\r\n margin-left: 5px;\r\n}\r\n.m-l-10 {\r\n margin-left: 10px;\r\n}\r\n.m-l-15 {\r\n margin-left: 15px;\r\n}\r\n.m-t-5 {\r\n margin-top: 5px !important;\r\n}\r\n.m-t-0 {\r\n margin-top: 0px;\r\n}\r\n.m-t-10 {\r\n margin-top: 10px !important;\r\n}\r\n.m-t-15 {\r\n margin-top: 15px !important;\r\n}\r\n.m-t-20 {\r\n margin-top: 20px !important;\r\n}\r\n.m-t-30 {\r\n margin-top: 30px !important;\r\n}\r\n.m-t-40 {\r\n margin-top: 40px !important;\r\n}\r\n.m-b-0 {\r\n margin-bottom: 0px !important;\r\n}\r\n.m-b-5 {\r\n margin-bottom: 5px;\r\n}\r\n.m-b-10 {\r\n margin-bottom: 10px;\r\n}\r\n.m-b-15 {\r\n margin-bottom: 15px;\r\n}\r\n.m-b-20 {\r\n margin-bottom: 20px;\r\n}\r\n.m-b-25 {\r\n margin-bottom: 25px;\r\n}\r\n.m-b-30 {\r\n margin-bottom: 30px !important;\r\n}\r\n.w-xs {\r\n min-width: 80px;\r\n}\r\n.w-sm {\r\n min-width: 95px;\r\n}\r\n.w-md {\r\n min-width: 110px;\r\n}\r\n.w-lg {\r\n min-width: 140px;\r\n}\r\n.m-h-50 {\r\n min-height: 50px;\r\n}\r\n.l-h-34 {\r\n line-height: 34px !important;\r\n}\r\n.font-light {\r\n font-weight: 300;\r\n}\r\n.font-500 {\r\n font-weight: 500;\r\n}\r\n.font-normal {\r\n font-weight: normal;\r\n}\r\n.font-13 {\r\n font-size: 13px;\r\n}\r\n.wrapper-md {\r\n padding: 20px;\r\n}\r\n.center-page {\r\n float: none !important;\r\n margin: 0 auto;\r\n}\r\n.pull-in {\r\n margin-left: -20px;\r\n margin-right: -20px;\r\n}\r\n.b-0 {\r\n border: none !important;\r\n}\r\n.no-border {\r\n border: none;\r\n}\r\n.bx-s-0 {\r\n box-shadow: none !important;\r\n}\r\n.bx-shadow {\r\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n}\r\n.mx-box {\r\n max-height: 380px;\r\n min-height: 380px;\r\n}\r\n.thumb-sm {\r\n height: 32px;\r\n width: 32px;\r\n}\r\n.thumb-md {\r\n height: 48px;\r\n width: 48px;\r\n}\r\n.thumb-lg {\r\n height: 88px;\r\n width: 88px;\r\n}\r\n/* Demo Only */\r\n.grid-structure .grid-container {\r\n background-color: rgba(255, 255, 255, 0.03);\r\n margin-bottom: 10px;\r\n padding: 10px 20px;\r\n}\r\n.icon-list-demo div {\r\n cursor: pointer;\r\n line-height: 45px;\r\n white-space: nowrap;\r\n color: #98a6ad;\r\n}\r\n.icon-list-demo div p {\r\n margin-bottom: 0px;\r\n line-height: inherit;\r\n}\r\n.icon-list-demo i {\r\n -webkit-transition: all 0.2s;\r\n display: inline-block;\r\n font-size: 18px;\r\n margin: 0;\r\n text-align: center;\r\n transition: all 0.2s;\r\n vertical-align: middle;\r\n width: 40px;\r\n}\r\n.icon-list-demo .col-md-4 {\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.icon-list-demo .col-md-4:hover {\r\n color: #3bafda;\r\n}\r\n.icon-list-demo .col-md-4:hover i {\r\n -o-transform: scale(1.5);\r\n -webkit-transform: scale(1.5);\r\n moz-transform: scale(1.5);\r\n transform: scale(1.5);\r\n}\r\n.ionicon-list i {\r\n font-size: 16px;\r\n}\r\n.ionicon-list .col-md-3:hover i {\r\n -o-transform: scale(2);\r\n -webkit-transform: scale(2);\r\n moz-transform: scale(2);\r\n transform: scale(2);\r\n}\r\n.button-list {\r\n margin-left: -8px;\r\n margin-bottom: -12px;\r\n}\r\n.button-list .btn {\r\n margin-bottom: 12px;\r\n margin-left: 8px;\r\n}\r\n/* ===========\r\n Waves Effect\r\n =============*/\r\n/*!\r\n * Waves v0.6.0\r\n * http://fian.my.id/Waves\r\n *\r\n * Copyright 2014 Alfiana E. Sibuea and other contributors\r\n * Released under the MIT license\r\n * https://github.com/fians/Waves/blob/master/LICENSE\r\n */\r\n.waves-effect {\r\n position: relative;\r\n cursor: pointer;\r\n display: inline-block;\r\n overflow: hidden;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: transparent;\r\n vertical-align: middle;\r\n z-index: 1;\r\n will-change: opacity, transform;\r\n transition: all 0.3s ease-out;\r\n}\r\n.waves-effect .waves-ripple {\r\n position: absolute;\r\n border-radius: 50%;\r\n width: 20px;\r\n height: 20px;\r\n margin-top: -10px;\r\n margin-left: -10px;\r\n opacity: 0;\r\n background: rgba(0, 0, 0, 0.2);\r\n transition: all 0.7s ease-out;\r\n transition-property: transform, opacity;\r\n transform: scale(0);\r\n pointer-events: none;\r\n}\r\n.waves-effect.waves-light .waves-ripple {\r\n background-color: rgba(255, 255, 255, 0.45);\r\n}\r\n.waves-effect.waves-red .waves-ripple {\r\n background-color: rgba(244, 67, 54, 0.7);\r\n}\r\n.waves-effect.waves-yellow .waves-ripple {\r\n background-color: rgba(255, 235, 59, 0.7);\r\n}\r\n.waves-effect.waves-orange .waves-ripple {\r\n background-color: rgba(255, 152, 0, 0.7);\r\n}\r\n.waves-effect.waves-purple .waves-ripple {\r\n background-color: rgba(156, 39, 176, 0.7);\r\n}\r\n.waves-effect.waves-green .waves-ripple {\r\n background-color: rgba(76, 175, 80, 0.7);\r\n}\r\n.waves-effect.waves-teal .waves-ripple {\r\n background-color: rgba(0, 150, 136, 0.7);\r\n}\r\n.waves-effect.waves-primary .waves-ripple {\r\n background-color: rgba(59, 175, 218, 0.4);\r\n}\r\n.waves-notransition {\r\n transition: none !important;\r\n}\r\n.waves-circle {\r\n transform: translateZ(0);\r\n text-align: center;\r\n width: 2.5em;\r\n height: 2.5em;\r\n line-height: 2.5em;\r\n border-radius: 50%;\r\n -webkit-mask-image: none;\r\n}\r\n.waves-input-wrapper {\r\n border-radius: 0.2em;\r\n vertical-align: bottom;\r\n}\r\n.waves-input-wrapper .waves-button-input {\r\n position: relative;\r\n top: 0;\r\n left: 0;\r\n z-index: 1;\r\n}\r\n.waves-block {\r\n display: block;\r\n}\r\n/* ===========\r\n Animation\r\n =============*/\r\n/* Bounce 1 */\r\n@keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n transform: scale(1.2);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n}\r\n/* Bounce 2 */\r\n@keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n transform: translateX(20px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n/* Dropdown */\r\n@keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n}\r\n/* Progressbar Animated */\r\n@keyframes animationProgress {\r\n from {\r\n width: 0;\r\n }\r\n}\r\n/* Portlets loader */\r\n@keyframes loaderAnimate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(220deg);\r\n }\r\n}\r\n@keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n transform: rotate(140deg);\r\n }\r\n}\r\n@keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #999 0 0 0 17px;\r\n transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #999 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #999 0 0 0 17px;\r\n transform: rotate(140deg);\r\n }\r\n}\r\n/* =============\r\n Print css\r\n============= */\r\n@media print {\r\n .logo,\r\n .breadcrumb,\r\n .page-title,\r\n .footer,\r\n .topbar-left {\r\n display: none;\r\n margin: 0px;\r\n padding: 0px;\r\n }\r\n .left,\r\n .right-bar {\r\n display: none;\r\n }\r\n .content {\r\n margin-top: 0px !important;\r\n padding-top: 0px;\r\n }\r\n .content-page {\r\n margin-left: 0px !important;\r\n margin-top: 0px;\r\n }\r\n}\r\n"; }); -define('text!main/statistics/statistics.html', ['module'], function(module) { module.exports = ""; }); +define('text!main/picks/picks.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/elements.css', ['module'], function(module) { module.exports = ""; }); -define('text!microservices/auth/login.html', ['module'], function(module) { module.exports = ""; }); +define('text!main/statistics/statistics.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/icons.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Icons\r\n*/\r\n/*!\r\n * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome\r\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\r\n */\r\n/* FONT PATH\r\n * -------------------------- */\r\n@font-face {\r\n font-family: 'FontAwesome';\r\n src: url('../fonts/fontawesome-webfont.eot?v=4.5.0');\r\n src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.fa {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 FontAwesome;\r\n font-size: inherit;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n/* makes the font 33% larger relative to the icon container */\r\n.fa-lg {\r\n font-size: 1.33333333em;\r\n line-height: 0.75em;\r\n vertical-align: -15%;\r\n}\r\n.fa-2x {\r\n font-size: 2em;\r\n}\r\n.fa-3x {\r\n font-size: 3em;\r\n}\r\n.fa-4x {\r\n font-size: 4em;\r\n}\r\n.fa-5x {\r\n font-size: 5em;\r\n}\r\n.fa-fw {\r\n width: 1.28571429em;\r\n text-align: center;\r\n}\r\n.fa-ul {\r\n padding-left: 0;\r\n margin-left: 2.14285714em;\r\n list-style-type: none;\r\n}\r\n.fa-ul > li {\r\n position: relative;\r\n}\r\n.fa-li {\r\n position: absolute;\r\n left: -2.14285714em;\r\n width: 2.14285714em;\r\n top: 0.14285714em;\r\n text-align: center;\r\n}\r\n.fa-li.fa-lg {\r\n left: -1.85714286em;\r\n}\r\n.fa-border {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em #eeeeee;\r\n border-radius: .1em;\r\n}\r\n.fa-pull-left {\r\n float: left;\r\n}\r\n.fa-pull-right {\r\n float: right;\r\n}\r\n.fa.fa-pull-left {\r\n margin-right: .3em;\r\n}\r\n.fa.fa-pull-right {\r\n margin-left: .3em;\r\n}\r\n/* Deprecated as of 4.4.0 */\r\n.pull-right {\r\n float: right;\r\n}\r\n.pull-left {\r\n float: left;\r\n}\r\n.fa.pull-left {\r\n margin-right: .3em;\r\n}\r\n.fa.pull-right {\r\n margin-left: .3em;\r\n}\r\n.fa-spin {\r\n animation: fa-spin 2s infinite linear;\r\n}\r\n.fa-pulse {\r\n animation: fa-spin 1s infinite steps(8);\r\n}\r\n@keyframes fa-spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(359deg);\r\n }\r\n}\r\n.fa-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n transform: rotate(90deg);\r\n}\r\n.fa-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n transform: rotate(180deg);\r\n}\r\n.fa-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n transform: rotate(270deg);\r\n}\r\n.fa-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n transform: scale(-1, 1);\r\n}\r\n.fa-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n transform: scale(1, -1);\r\n}\r\n:root .fa-rotate-90,\r\n:root .fa-rotate-180,\r\n:root .fa-rotate-270,\r\n:root .fa-flip-horizontal,\r\n:root .fa-flip-vertical {\r\n filter: none;\r\n}\r\n.fa-stack {\r\n position: relative;\r\n display: inline-block;\r\n width: 2em;\r\n height: 2em;\r\n line-height: 2em;\r\n vertical-align: middle;\r\n}\r\n.fa-stack-1x,\r\n.fa-stack-2x {\r\n position: absolute;\r\n left: 0;\r\n width: 100%;\r\n text-align: center;\r\n}\r\n.fa-stack-1x {\r\n line-height: inherit;\r\n}\r\n.fa-stack-2x {\r\n font-size: 2em;\r\n}\r\n.fa-inverse {\r\n color: #ffffff;\r\n}\r\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\r\n readers do not read off random characters that represent icons */\r\n.fa-glass:before {\r\n content: \"\\f000\";\r\n}\r\n.fa-music:before {\r\n content: \"\\f001\";\r\n}\r\n.fa-search:before {\r\n content: \"\\f002\";\r\n}\r\n.fa-envelope-o:before {\r\n content: \"\\f003\";\r\n}\r\n.fa-heart:before {\r\n content: \"\\f004\";\r\n}\r\n.fa-star:before {\r\n content: \"\\f005\";\r\n}\r\n.fa-star-o:before {\r\n content: \"\\f006\";\r\n}\r\n.fa-user:before {\r\n content: \"\\f007\";\r\n}\r\n.fa-film:before {\r\n content: \"\\f008\";\r\n}\r\n.fa-th-large:before {\r\n content: \"\\f009\";\r\n}\r\n.fa-th:before {\r\n content: \"\\f00a\";\r\n}\r\n.fa-th-list:before {\r\n content: \"\\f00b\";\r\n}\r\n.fa-check:before {\r\n content: \"\\f00c\";\r\n}\r\n.fa-remove:before,\r\n.fa-close:before,\r\n.fa-times:before {\r\n content: \"\\f00d\";\r\n}\r\n.fa-search-plus:before {\r\n content: \"\\f00e\";\r\n}\r\n.fa-search-minus:before {\r\n content: \"\\f010\";\r\n}\r\n.fa-power-off:before {\r\n content: \"\\f011\";\r\n}\r\n.fa-signal:before {\r\n content: \"\\f012\";\r\n}\r\n.fa-gear:before,\r\n.fa-cog:before {\r\n content: \"\\f013\";\r\n}\r\n.fa-trash-o:before {\r\n content: \"\\f014\";\r\n}\r\n.fa-home:before {\r\n content: \"\\f015\";\r\n}\r\n.fa-file-o:before {\r\n content: \"\\f016\";\r\n}\r\n.fa-clock-o:before {\r\n content: \"\\f017\";\r\n}\r\n.fa-road:before {\r\n content: \"\\f018\";\r\n}\r\n.fa-download:before {\r\n content: \"\\f019\";\r\n}\r\n.fa-arrow-circle-o-down:before {\r\n content: \"\\f01a\";\r\n}\r\n.fa-arrow-circle-o-up:before {\r\n content: \"\\f01b\";\r\n}\r\n.fa-inbox:before {\r\n content: \"\\f01c\";\r\n}\r\n.fa-play-circle-o:before {\r\n content: \"\\f01d\";\r\n}\r\n.fa-rotate-right:before,\r\n.fa-repeat:before {\r\n content: \"\\f01e\";\r\n}\r\n.fa-refresh:before {\r\n content: \"\\f021\";\r\n}\r\n.fa-list-alt:before {\r\n content: \"\\f022\";\r\n}\r\n.fa-lock:before {\r\n content: \"\\f023\";\r\n}\r\n.fa-flag:before {\r\n content: \"\\f024\";\r\n}\r\n.fa-headphones:before {\r\n content: \"\\f025\";\r\n}\r\n.fa-volume-off:before {\r\n content: \"\\f026\";\r\n}\r\n.fa-volume-down:before {\r\n content: \"\\f027\";\r\n}\r\n.fa-volume-up:before {\r\n content: \"\\f028\";\r\n}\r\n.fa-qrcode:before {\r\n content: \"\\f029\";\r\n}\r\n.fa-barcode:before {\r\n content: \"\\f02a\";\r\n}\r\n.fa-tag:before {\r\n content: \"\\f02b\";\r\n}\r\n.fa-tags:before {\r\n content: \"\\f02c\";\r\n}\r\n.fa-book:before {\r\n content: \"\\f02d\";\r\n}\r\n.fa-bookmark:before {\r\n content: \"\\f02e\";\r\n}\r\n.fa-print:before {\r\n content: \"\\f02f\";\r\n}\r\n.fa-camera:before {\r\n content: \"\\f030\";\r\n}\r\n.fa-font:before {\r\n content: \"\\f031\";\r\n}\r\n.fa-bold:before {\r\n content: \"\\f032\";\r\n}\r\n.fa-italic:before {\r\n content: \"\\f033\";\r\n}\r\n.fa-text-height:before {\r\n content: \"\\f034\";\r\n}\r\n.fa-text-width:before {\r\n content: \"\\f035\";\r\n}\r\n.fa-align-left:before {\r\n content: \"\\f036\";\r\n}\r\n.fa-align-center:before {\r\n content: \"\\f037\";\r\n}\r\n.fa-align-right:before {\r\n content: \"\\f038\";\r\n}\r\n.fa-align-justify:before {\r\n content: \"\\f039\";\r\n}\r\n.fa-list:before {\r\n content: \"\\f03a\";\r\n}\r\n.fa-dedent:before,\r\n.fa-outdent:before {\r\n content: \"\\f03b\";\r\n}\r\n.fa-indent:before {\r\n content: \"\\f03c\";\r\n}\r\n.fa-video-camera:before {\r\n content: \"\\f03d\";\r\n}\r\n.fa-photo:before,\r\n.fa-image:before,\r\n.fa-picture-o:before {\r\n content: \"\\f03e\";\r\n}\r\n.fa-pencil:before {\r\n content: \"\\f040\";\r\n}\r\n.fa-map-marker:before {\r\n content: \"\\f041\";\r\n}\r\n.fa-adjust:before {\r\n content: \"\\f042\";\r\n}\r\n.fa-tint:before {\r\n content: \"\\f043\";\r\n}\r\n.fa-edit:before,\r\n.fa-pencil-square-o:before {\r\n content: \"\\f044\";\r\n}\r\n.fa-share-square-o:before {\r\n content: \"\\f045\";\r\n}\r\n.fa-check-square-o:before {\r\n content: \"\\f046\";\r\n}\r\n.fa-arrows:before {\r\n content: \"\\f047\";\r\n}\r\n.fa-step-backward:before {\r\n content: \"\\f048\";\r\n}\r\n.fa-fast-backward:before {\r\n content: \"\\f049\";\r\n}\r\n.fa-backward:before {\r\n content: \"\\f04a\";\r\n}\r\n.fa-play:before {\r\n content: \"\\f04b\";\r\n}\r\n.fa-pause:before {\r\n content: \"\\f04c\";\r\n}\r\n.fa-stop:before {\r\n content: \"\\f04d\";\r\n}\r\n.fa-forward:before {\r\n content: \"\\f04e\";\r\n}\r\n.fa-fast-forward:before {\r\n content: \"\\f050\";\r\n}\r\n.fa-step-forward:before {\r\n content: \"\\f051\";\r\n}\r\n.fa-eject:before {\r\n content: \"\\f052\";\r\n}\r\n.fa-chevron-left:before {\r\n content: \"\\f053\";\r\n}\r\n.fa-chevron-right:before {\r\n content: \"\\f054\";\r\n}\r\n.fa-plus-circle:before {\r\n content: \"\\f055\";\r\n}\r\n.fa-minus-circle:before {\r\n content: \"\\f056\";\r\n}\r\n.fa-times-circle:before {\r\n content: \"\\f057\";\r\n}\r\n.fa-check-circle:before {\r\n content: \"\\f058\";\r\n}\r\n.fa-question-circle:before {\r\n content: \"\\f059\";\r\n}\r\n.fa-info-circle:before {\r\n content: \"\\f05a\";\r\n}\r\n.fa-crosshairs:before {\r\n content: \"\\f05b\";\r\n}\r\n.fa-times-circle-o:before {\r\n content: \"\\f05c\";\r\n}\r\n.fa-check-circle-o:before {\r\n content: \"\\f05d\";\r\n}\r\n.fa-ban:before {\r\n content: \"\\f05e\";\r\n}\r\n.fa-arrow-left:before {\r\n content: \"\\f060\";\r\n}\r\n.fa-arrow-right:before {\r\n content: \"\\f061\";\r\n}\r\n.fa-arrow-up:before {\r\n content: \"\\f062\";\r\n}\r\n.fa-arrow-down:before {\r\n content: \"\\f063\";\r\n}\r\n.fa-mail-forward:before,\r\n.fa-share:before {\r\n content: \"\\f064\";\r\n}\r\n.fa-expand:before {\r\n content: \"\\f065\";\r\n}\r\n.fa-compress:before {\r\n content: \"\\f066\";\r\n}\r\n.fa-plus:before {\r\n content: \"\\f067\";\r\n}\r\n.fa-minus:before {\r\n content: \"\\f068\";\r\n}\r\n.fa-asterisk:before {\r\n content: \"\\f069\";\r\n}\r\n.fa-exclamation-circle:before {\r\n content: \"\\f06a\";\r\n}\r\n.fa-gift:before {\r\n content: \"\\f06b\";\r\n}\r\n.fa-leaf:before {\r\n content: \"\\f06c\";\r\n}\r\n.fa-fire:before {\r\n content: \"\\f06d\";\r\n}\r\n.fa-eye:before {\r\n content: \"\\f06e\";\r\n}\r\n.fa-eye-slash:before {\r\n content: \"\\f070\";\r\n}\r\n.fa-warning:before,\r\n.fa-exclamation-triangle:before {\r\n content: \"\\f071\";\r\n}\r\n.fa-plane:before {\r\n content: \"\\f072\";\r\n}\r\n.fa-calendar:before {\r\n content: \"\\f073\";\r\n}\r\n.fa-random:before {\r\n content: \"\\f074\";\r\n}\r\n.fa-comment:before {\r\n content: \"\\f075\";\r\n}\r\n.fa-magnet:before {\r\n content: \"\\f076\";\r\n}\r\n.fa-chevron-up:before {\r\n content: \"\\f077\";\r\n}\r\n.fa-chevron-down:before {\r\n content: \"\\f078\";\r\n}\r\n.fa-retweet:before {\r\n content: \"\\f079\";\r\n}\r\n.fa-shopping-cart:before {\r\n content: \"\\f07a\";\r\n}\r\n.fa-folder:before {\r\n content: \"\\f07b\";\r\n}\r\n.fa-folder-open:before {\r\n content: \"\\f07c\";\r\n}\r\n.fa-arrows-v:before {\r\n content: \"\\f07d\";\r\n}\r\n.fa-arrows-h:before {\r\n content: \"\\f07e\";\r\n}\r\n.fa-bar-chart-o:before,\r\n.fa-bar-chart:before {\r\n content: \"\\f080\";\r\n}\r\n.fa-twitter-square:before {\r\n content: \"\\f081\";\r\n}\r\n.fa-facebook-square:before {\r\n content: \"\\f082\";\r\n}\r\n.fa-camera-retro:before {\r\n content: \"\\f083\";\r\n}\r\n.fa-key:before {\r\n content: \"\\f084\";\r\n}\r\n.fa-gears:before,\r\n.fa-cogs:before {\r\n content: \"\\f085\";\r\n}\r\n.fa-comments:before {\r\n content: \"\\f086\";\r\n}\r\n.fa-thumbs-o-up:before {\r\n content: \"\\f087\";\r\n}\r\n.fa-thumbs-o-down:before {\r\n content: \"\\f088\";\r\n}\r\n.fa-star-half:before {\r\n content: \"\\f089\";\r\n}\r\n.fa-heart-o:before {\r\n content: \"\\f08a\";\r\n}\r\n.fa-sign-out:before {\r\n content: \"\\f08b\";\r\n}\r\n.fa-linkedin-square:before {\r\n content: \"\\f08c\";\r\n}\r\n.fa-thumb-tack:before {\r\n content: \"\\f08d\";\r\n}\r\n.fa-external-link:before {\r\n content: \"\\f08e\";\r\n}\r\n.fa-sign-in:before {\r\n content: \"\\f090\";\r\n}\r\n.fa-trophy:before {\r\n content: \"\\f091\";\r\n}\r\n.fa-github-square:before {\r\n content: \"\\f092\";\r\n}\r\n.fa-upload:before {\r\n content: \"\\f093\";\r\n}\r\n.fa-lemon-o:before {\r\n content: \"\\f094\";\r\n}\r\n.fa-phone:before {\r\n content: \"\\f095\";\r\n}\r\n.fa-square-o:before {\r\n content: \"\\f096\";\r\n}\r\n.fa-bookmark-o:before {\r\n content: \"\\f097\";\r\n}\r\n.fa-phone-square:before {\r\n content: \"\\f098\";\r\n}\r\n.fa-twitter:before {\r\n content: \"\\f099\";\r\n}\r\n.fa-facebook-f:before,\r\n.fa-facebook:before {\r\n content: \"\\f09a\";\r\n}\r\n.fa-github:before {\r\n content: \"\\f09b\";\r\n}\r\n.fa-unlock:before {\r\n content: \"\\f09c\";\r\n}\r\n.fa-credit-card:before {\r\n content: \"\\f09d\";\r\n}\r\n.fa-feed:before,\r\n.fa-rss:before {\r\n content: \"\\f09e\";\r\n}\r\n.fa-hdd-o:before {\r\n content: \"\\f0a0\";\r\n}\r\n.fa-bullhorn:before {\r\n content: \"\\f0a1\";\r\n}\r\n.fa-bell:before {\r\n content: \"\\f0f3\";\r\n}\r\n.fa-certificate:before {\r\n content: \"\\f0a3\";\r\n}\r\n.fa-hand-o-right:before {\r\n content: \"\\f0a4\";\r\n}\r\n.fa-hand-o-left:before {\r\n content: \"\\f0a5\";\r\n}\r\n.fa-hand-o-up:before {\r\n content: \"\\f0a6\";\r\n}\r\n.fa-hand-o-down:before {\r\n content: \"\\f0a7\";\r\n}\r\n.fa-arrow-circle-left:before {\r\n content: \"\\f0a8\";\r\n}\r\n.fa-arrow-circle-right:before {\r\n content: \"\\f0a9\";\r\n}\r\n.fa-arrow-circle-up:before {\r\n content: \"\\f0aa\";\r\n}\r\n.fa-arrow-circle-down:before {\r\n content: \"\\f0ab\";\r\n}\r\n.fa-globe:before {\r\n content: \"\\f0ac\";\r\n}\r\n.fa-wrench:before {\r\n content: \"\\f0ad\";\r\n}\r\n.fa-tasks:before {\r\n content: \"\\f0ae\";\r\n}\r\n.fa-filter:before {\r\n content: \"\\f0b0\";\r\n}\r\n.fa-briefcase:before {\r\n content: \"\\f0b1\";\r\n}\r\n.fa-arrows-alt:before {\r\n content: \"\\f0b2\";\r\n}\r\n.fa-group:before,\r\n.fa-users:before {\r\n content: \"\\f0c0\";\r\n}\r\n.fa-chain:before,\r\n.fa-link:before {\r\n content: \"\\f0c1\";\r\n}\r\n.fa-cloud:before {\r\n content: \"\\f0c2\";\r\n}\r\n.fa-flask:before {\r\n content: \"\\f0c3\";\r\n}\r\n.fa-cut:before,\r\n.fa-scissors:before {\r\n content: \"\\f0c4\";\r\n}\r\n.fa-copy:before,\r\n.fa-files-o:before {\r\n content: \"\\f0c5\";\r\n}\r\n.fa-paperclip:before {\r\n content: \"\\f0c6\";\r\n}\r\n.fa-save:before,\r\n.fa-floppy-o:before {\r\n content: \"\\f0c7\";\r\n}\r\n.fa-square:before {\r\n content: \"\\f0c8\";\r\n}\r\n.fa-navicon:before,\r\n.fa-reorder:before,\r\n.fa-bars:before {\r\n content: \"\\f0c9\";\r\n}\r\n.fa-list-ul:before {\r\n content: \"\\f0ca\";\r\n}\r\n.fa-list-ol:before {\r\n content: \"\\f0cb\";\r\n}\r\n.fa-strikethrough:before {\r\n content: \"\\f0cc\";\r\n}\r\n.fa-underline:before {\r\n content: \"\\f0cd\";\r\n}\r\n.fa-table:before {\r\n content: \"\\f0ce\";\r\n}\r\n.fa-magic:before {\r\n content: \"\\f0d0\";\r\n}\r\n.fa-truck:before {\r\n content: \"\\f0d1\";\r\n}\r\n.fa-pinterest:before {\r\n content: \"\\f0d2\";\r\n}\r\n.fa-pinterest-square:before {\r\n content: \"\\f0d3\";\r\n}\r\n.fa-google-plus-square:before {\r\n content: \"\\f0d4\";\r\n}\r\n.fa-google-plus:before {\r\n content: \"\\f0d5\";\r\n}\r\n.fa-money:before {\r\n content: \"\\f0d6\";\r\n}\r\n.fa-caret-down:before {\r\n content: \"\\f0d7\";\r\n}\r\n.fa-caret-up:before {\r\n content: \"\\f0d8\";\r\n}\r\n.fa-caret-left:before {\r\n content: \"\\f0d9\";\r\n}\r\n.fa-caret-right:before {\r\n content: \"\\f0da\";\r\n}\r\n.fa-columns:before {\r\n content: \"\\f0db\";\r\n}\r\n.fa-unsorted:before,\r\n.fa-sort:before {\r\n content: \"\\f0dc\";\r\n}\r\n.fa-sort-down:before,\r\n.fa-sort-desc:before {\r\n content: \"\\f0dd\";\r\n}\r\n.fa-sort-up:before,\r\n.fa-sort-asc:before {\r\n content: \"\\f0de\";\r\n}\r\n.fa-envelope:before {\r\n content: \"\\f0e0\";\r\n}\r\n.fa-linkedin:before {\r\n content: \"\\f0e1\";\r\n}\r\n.fa-rotate-left:before,\r\n.fa-undo:before {\r\n content: \"\\f0e2\";\r\n}\r\n.fa-legal:before,\r\n.fa-gavel:before {\r\n content: \"\\f0e3\";\r\n}\r\n.fa-dashboard:before,\r\n.fa-tachometer:before {\r\n content: \"\\f0e4\";\r\n}\r\n.fa-comment-o:before {\r\n content: \"\\f0e5\";\r\n}\r\n.fa-comments-o:before {\r\n content: \"\\f0e6\";\r\n}\r\n.fa-flash:before,\r\n.fa-bolt:before {\r\n content: \"\\f0e7\";\r\n}\r\n.fa-sitemap:before {\r\n content: \"\\f0e8\";\r\n}\r\n.fa-umbrella:before {\r\n content: \"\\f0e9\";\r\n}\r\n.fa-paste:before,\r\n.fa-clipboard:before {\r\n content: \"\\f0ea\";\r\n}\r\n.fa-lightbulb-o:before {\r\n content: \"\\f0eb\";\r\n}\r\n.fa-exchange:before {\r\n content: \"\\f0ec\";\r\n}\r\n.fa-cloud-download:before {\r\n content: \"\\f0ed\";\r\n}\r\n.fa-cloud-upload:before {\r\n content: \"\\f0ee\";\r\n}\r\n.fa-user-md:before {\r\n content: \"\\f0f0\";\r\n}\r\n.fa-stethoscope:before {\r\n content: \"\\f0f1\";\r\n}\r\n.fa-suitcase:before {\r\n content: \"\\f0f2\";\r\n}\r\n.fa-bell-o:before {\r\n content: \"\\f0a2\";\r\n}\r\n.fa-coffee:before {\r\n content: \"\\f0f4\";\r\n}\r\n.fa-cutlery:before {\r\n content: \"\\f0f5\";\r\n}\r\n.fa-file-text-o:before {\r\n content: \"\\f0f6\";\r\n}\r\n.fa-building-o:before {\r\n content: \"\\f0f7\";\r\n}\r\n.fa-hospital-o:before {\r\n content: \"\\f0f8\";\r\n}\r\n.fa-ambulance:before {\r\n content: \"\\f0f9\";\r\n}\r\n.fa-medkit:before {\r\n content: \"\\f0fa\";\r\n}\r\n.fa-fighter-jet:before {\r\n content: \"\\f0fb\";\r\n}\r\n.fa-beer:before {\r\n content: \"\\f0fc\";\r\n}\r\n.fa-h-square:before {\r\n content: \"\\f0fd\";\r\n}\r\n.fa-plus-square:before {\r\n content: \"\\f0fe\";\r\n}\r\n.fa-angle-double-left:before {\r\n content: \"\\f100\";\r\n}\r\n.fa-angle-double-right:before {\r\n content: \"\\f101\";\r\n}\r\n.fa-angle-double-up:before {\r\n content: \"\\f102\";\r\n}\r\n.fa-angle-double-down:before {\r\n content: \"\\f103\";\r\n}\r\n.fa-angle-left:before {\r\n content: \"\\f104\";\r\n}\r\n.fa-angle-right:before {\r\n content: \"\\f105\";\r\n}\r\n.fa-angle-up:before {\r\n content: \"\\f106\";\r\n}\r\n.fa-angle-down:before {\r\n content: \"\\f107\";\r\n}\r\n.fa-desktop:before {\r\n content: \"\\f108\";\r\n}\r\n.fa-laptop:before {\r\n content: \"\\f109\";\r\n}\r\n.fa-tablet:before {\r\n content: \"\\f10a\";\r\n}\r\n.fa-mobile-phone:before,\r\n.fa-mobile:before {\r\n content: \"\\f10b\";\r\n}\r\n.fa-circle-o:before {\r\n content: \"\\f10c\";\r\n}\r\n.fa-quote-left:before {\r\n content: \"\\f10d\";\r\n}\r\n.fa-quote-right:before {\r\n content: \"\\f10e\";\r\n}\r\n.fa-spinner:before {\r\n content: \"\\f110\";\r\n}\r\n.fa-circle:before {\r\n content: \"\\f111\";\r\n}\r\n.fa-mail-reply:before,\r\n.fa-reply:before {\r\n content: \"\\f112\";\r\n}\r\n.fa-github-alt:before {\r\n content: \"\\f113\";\r\n}\r\n.fa-folder-o:before {\r\n content: \"\\f114\";\r\n}\r\n.fa-folder-open-o:before {\r\n content: \"\\f115\";\r\n}\r\n.fa-smile-o:before {\r\n content: \"\\f118\";\r\n}\r\n.fa-frown-o:before {\r\n content: \"\\f119\";\r\n}\r\n.fa-meh-o:before {\r\n content: \"\\f11a\";\r\n}\r\n.fa-gamepad:before {\r\n content: \"\\f11b\";\r\n}\r\n.fa-keyboard-o:before {\r\n content: \"\\f11c\";\r\n}\r\n.fa-flag-o:before {\r\n content: \"\\f11d\";\r\n}\r\n.fa-flag-checkered:before {\r\n content: \"\\f11e\";\r\n}\r\n.fa-terminal:before {\r\n content: \"\\f120\";\r\n}\r\n.fa-code:before {\r\n content: \"\\f121\";\r\n}\r\n.fa-mail-reply-all:before,\r\n.fa-reply-all:before {\r\n content: \"\\f122\";\r\n}\r\n.fa-star-half-empty:before,\r\n.fa-star-half-full:before,\r\n.fa-star-half-o:before {\r\n content: \"\\f123\";\r\n}\r\n.fa-location-arrow:before {\r\n content: \"\\f124\";\r\n}\r\n.fa-crop:before {\r\n content: \"\\f125\";\r\n}\r\n.fa-code-fork:before {\r\n content: \"\\f126\";\r\n}\r\n.fa-unlink:before,\r\n.fa-chain-broken:before {\r\n content: \"\\f127\";\r\n}\r\n.fa-question:before {\r\n content: \"\\f128\";\r\n}\r\n.fa-info:before {\r\n content: \"\\f129\";\r\n}\r\n.fa-exclamation:before {\r\n content: \"\\f12a\";\r\n}\r\n.fa-superscript:before {\r\n content: \"\\f12b\";\r\n}\r\n.fa-subscript:before {\r\n content: \"\\f12c\";\r\n}\r\n.fa-eraser:before {\r\n content: \"\\f12d\";\r\n}\r\n.fa-puzzle-piece:before {\r\n content: \"\\f12e\";\r\n}\r\n.fa-microphone:before {\r\n content: \"\\f130\";\r\n}\r\n.fa-microphone-slash:before {\r\n content: \"\\f131\";\r\n}\r\n.fa-shield:before {\r\n content: \"\\f132\";\r\n}\r\n.fa-calendar-o:before {\r\n content: \"\\f133\";\r\n}\r\n.fa-fire-extinguisher:before {\r\n content: \"\\f134\";\r\n}\r\n.fa-rocket:before {\r\n content: \"\\f135\";\r\n}\r\n.fa-maxcdn:before {\r\n content: \"\\f136\";\r\n}\r\n.fa-chevron-circle-left:before {\r\n content: \"\\f137\";\r\n}\r\n.fa-chevron-circle-right:before {\r\n content: \"\\f138\";\r\n}\r\n.fa-chevron-circle-up:before {\r\n content: \"\\f139\";\r\n}\r\n.fa-chevron-circle-down:before {\r\n content: \"\\f13a\";\r\n}\r\n.fa-html5:before {\r\n content: \"\\f13b\";\r\n}\r\n.fa-css3:before {\r\n content: \"\\f13c\";\r\n}\r\n.fa-anchor:before {\r\n content: \"\\f13d\";\r\n}\r\n.fa-unlock-alt:before {\r\n content: \"\\f13e\";\r\n}\r\n.fa-bullseye:before {\r\n content: \"\\f140\";\r\n}\r\n.fa-ellipsis-h:before {\r\n content: \"\\f141\";\r\n}\r\n.fa-ellipsis-v:before {\r\n content: \"\\f142\";\r\n}\r\n.fa-rss-square:before {\r\n content: \"\\f143\";\r\n}\r\n.fa-play-circle:before {\r\n content: \"\\f144\";\r\n}\r\n.fa-ticket:before {\r\n content: \"\\f145\";\r\n}\r\n.fa-minus-square:before {\r\n content: \"\\f146\";\r\n}\r\n.fa-minus-square-o:before {\r\n content: \"\\f147\";\r\n}\r\n.fa-level-up:before {\r\n content: \"\\f148\";\r\n}\r\n.fa-level-down:before {\r\n content: \"\\f149\";\r\n}\r\n.fa-check-square:before {\r\n content: \"\\f14a\";\r\n}\r\n.fa-pencil-square:before {\r\n content: \"\\f14b\";\r\n}\r\n.fa-external-link-square:before {\r\n content: \"\\f14c\";\r\n}\r\n.fa-share-square:before {\r\n content: \"\\f14d\";\r\n}\r\n.fa-compass:before {\r\n content: \"\\f14e\";\r\n}\r\n.fa-toggle-down:before,\r\n.fa-caret-square-o-down:before {\r\n content: \"\\f150\";\r\n}\r\n.fa-toggle-up:before,\r\n.fa-caret-square-o-up:before {\r\n content: \"\\f151\";\r\n}\r\n.fa-toggle-right:before,\r\n.fa-caret-square-o-right:before {\r\n content: \"\\f152\";\r\n}\r\n.fa-euro:before,\r\n.fa-eur:before {\r\n content: \"\\f153\";\r\n}\r\n.fa-gbp:before {\r\n content: \"\\f154\";\r\n}\r\n.fa-dollar:before,\r\n.fa-usd:before {\r\n content: \"\\f155\";\r\n}\r\n.fa-rupee:before,\r\n.fa-inr:before {\r\n content: \"\\f156\";\r\n}\r\n.fa-cny:before,\r\n.fa-rmb:before,\r\n.fa-yen:before,\r\n.fa-jpy:before {\r\n content: \"\\f157\";\r\n}\r\n.fa-ruble:before,\r\n.fa-rouble:before,\r\n.fa-rub:before {\r\n content: \"\\f158\";\r\n}\r\n.fa-won:before,\r\n.fa-krw:before {\r\n content: \"\\f159\";\r\n}\r\n.fa-bitcoin:before,\r\n.fa-btc:before {\r\n content: \"\\f15a\";\r\n}\r\n.fa-file:before {\r\n content: \"\\f15b\";\r\n}\r\n.fa-file-text:before {\r\n content: \"\\f15c\";\r\n}\r\n.fa-sort-alpha-asc:before {\r\n content: \"\\f15d\";\r\n}\r\n.fa-sort-alpha-desc:before {\r\n content: \"\\f15e\";\r\n}\r\n.fa-sort-amount-asc:before {\r\n content: \"\\f160\";\r\n}\r\n.fa-sort-amount-desc:before {\r\n content: \"\\f161\";\r\n}\r\n.fa-sort-numeric-asc:before {\r\n content: \"\\f162\";\r\n}\r\n.fa-sort-numeric-desc:before {\r\n content: \"\\f163\";\r\n}\r\n.fa-thumbs-up:before {\r\n content: \"\\f164\";\r\n}\r\n.fa-thumbs-down:before {\r\n content: \"\\f165\";\r\n}\r\n.fa-youtube-square:before {\r\n content: \"\\f166\";\r\n}\r\n.fa-youtube:before {\r\n content: \"\\f167\";\r\n}\r\n.fa-xing:before {\r\n content: \"\\f168\";\r\n}\r\n.fa-xing-square:before {\r\n content: \"\\f169\";\r\n}\r\n.fa-youtube-play:before {\r\n content: \"\\f16a\";\r\n}\r\n.fa-dropbox:before {\r\n content: \"\\f16b\";\r\n}\r\n.fa-stack-overflow:before {\r\n content: \"\\f16c\";\r\n}\r\n.fa-instagram:before {\r\n content: \"\\f16d\";\r\n}\r\n.fa-flickr:before {\r\n content: \"\\f16e\";\r\n}\r\n.fa-adn:before {\r\n content: \"\\f170\";\r\n}\r\n.fa-bitbucket:before {\r\n content: \"\\f171\";\r\n}\r\n.fa-bitbucket-square:before {\r\n content: \"\\f172\";\r\n}\r\n.fa-tumblr:before {\r\n content: \"\\f173\";\r\n}\r\n.fa-tumblr-square:before {\r\n content: \"\\f174\";\r\n}\r\n.fa-long-arrow-down:before {\r\n content: \"\\f175\";\r\n}\r\n.fa-long-arrow-up:before {\r\n content: \"\\f176\";\r\n}\r\n.fa-long-arrow-left:before {\r\n content: \"\\f177\";\r\n}\r\n.fa-long-arrow-right:before {\r\n content: \"\\f178\";\r\n}\r\n.fa-apple:before {\r\n content: \"\\f179\";\r\n}\r\n.fa-windows:before {\r\n content: \"\\f17a\";\r\n}\r\n.fa-android:before {\r\n content: \"\\f17b\";\r\n}\r\n.fa-linux:before {\r\n content: \"\\f17c\";\r\n}\r\n.fa-dribbble:before {\r\n content: \"\\f17d\";\r\n}\r\n.fa-skype:before {\r\n content: \"\\f17e\";\r\n}\r\n.fa-foursquare:before {\r\n content: \"\\f180\";\r\n}\r\n.fa-trello:before {\r\n content: \"\\f181\";\r\n}\r\n.fa-female:before {\r\n content: \"\\f182\";\r\n}\r\n.fa-male:before {\r\n content: \"\\f183\";\r\n}\r\n.fa-gittip:before,\r\n.fa-gratipay:before {\r\n content: \"\\f184\";\r\n}\r\n.fa-sun-o:before {\r\n content: \"\\f185\";\r\n}\r\n.fa-moon-o:before {\r\n content: \"\\f186\";\r\n}\r\n.fa-archive:before {\r\n content: \"\\f187\";\r\n}\r\n.fa-bug:before {\r\n content: \"\\f188\";\r\n}\r\n.fa-vk:before {\r\n content: \"\\f189\";\r\n}\r\n.fa-weibo:before {\r\n content: \"\\f18a\";\r\n}\r\n.fa-renren:before {\r\n content: \"\\f18b\";\r\n}\r\n.fa-pagelines:before {\r\n content: \"\\f18c\";\r\n}\r\n.fa-stack-exchange:before {\r\n content: \"\\f18d\";\r\n}\r\n.fa-arrow-circle-o-right:before {\r\n content: \"\\f18e\";\r\n}\r\n.fa-arrow-circle-o-left:before {\r\n content: \"\\f190\";\r\n}\r\n.fa-toggle-left:before,\r\n.fa-caret-square-o-left:before {\r\n content: \"\\f191\";\r\n}\r\n.fa-dot-circle-o:before {\r\n content: \"\\f192\";\r\n}\r\n.fa-wheelchair:before {\r\n content: \"\\f193\";\r\n}\r\n.fa-vimeo-square:before {\r\n content: \"\\f194\";\r\n}\r\n.fa-turkish-lira:before,\r\n.fa-try:before {\r\n content: \"\\f195\";\r\n}\r\n.fa-plus-square-o:before {\r\n content: \"\\f196\";\r\n}\r\n.fa-space-shuttle:before {\r\n content: \"\\f197\";\r\n}\r\n.fa-slack:before {\r\n content: \"\\f198\";\r\n}\r\n.fa-envelope-square:before {\r\n content: \"\\f199\";\r\n}\r\n.fa-wordpress:before {\r\n content: \"\\f19a\";\r\n}\r\n.fa-openid:before {\r\n content: \"\\f19b\";\r\n}\r\n.fa-institution:before,\r\n.fa-bank:before,\r\n.fa-university:before {\r\n content: \"\\f19c\";\r\n}\r\n.fa-mortar-board:before,\r\n.fa-graduation-cap:before {\r\n content: \"\\f19d\";\r\n}\r\n.fa-yahoo:before {\r\n content: \"\\f19e\";\r\n}\r\n.fa-google:before {\r\n content: \"\\f1a0\";\r\n}\r\n.fa-reddit:before {\r\n content: \"\\f1a1\";\r\n}\r\n.fa-reddit-square:before {\r\n content: \"\\f1a2\";\r\n}\r\n.fa-stumbleupon-circle:before {\r\n content: \"\\f1a3\";\r\n}\r\n.fa-stumbleupon:before {\r\n content: \"\\f1a4\";\r\n}\r\n.fa-delicious:before {\r\n content: \"\\f1a5\";\r\n}\r\n.fa-digg:before {\r\n content: \"\\f1a6\";\r\n}\r\n.fa-pied-piper:before {\r\n content: \"\\f1a7\";\r\n}\r\n.fa-pied-piper-alt:before {\r\n content: \"\\f1a8\";\r\n}\r\n.fa-drupal:before {\r\n content: \"\\f1a9\";\r\n}\r\n.fa-joomla:before {\r\n content: \"\\f1aa\";\r\n}\r\n.fa-language:before {\r\n content: \"\\f1ab\";\r\n}\r\n.fa-fax:before {\r\n content: \"\\f1ac\";\r\n}\r\n.fa-building:before {\r\n content: \"\\f1ad\";\r\n}\r\n.fa-child:before {\r\n content: \"\\f1ae\";\r\n}\r\n.fa-paw:before {\r\n content: \"\\f1b0\";\r\n}\r\n.fa-spoon:before {\r\n content: \"\\f1b1\";\r\n}\r\n.fa-cube:before {\r\n content: \"\\f1b2\";\r\n}\r\n.fa-cubes:before {\r\n content: \"\\f1b3\";\r\n}\r\n.fa-behance:before {\r\n content: \"\\f1b4\";\r\n}\r\n.fa-behance-square:before {\r\n content: \"\\f1b5\";\r\n}\r\n.fa-steam:before {\r\n content: \"\\f1b6\";\r\n}\r\n.fa-steam-square:before {\r\n content: \"\\f1b7\";\r\n}\r\n.fa-recycle:before {\r\n content: \"\\f1b8\";\r\n}\r\n.fa-automobile:before,\r\n.fa-car:before {\r\n content: \"\\f1b9\";\r\n}\r\n.fa-cab:before,\r\n.fa-taxi:before {\r\n content: \"\\f1ba\";\r\n}\r\n.fa-tree:before {\r\n content: \"\\f1bb\";\r\n}\r\n.fa-spotify:before {\r\n content: \"\\f1bc\";\r\n}\r\n.fa-deviantart:before {\r\n content: \"\\f1bd\";\r\n}\r\n.fa-soundcloud:before {\r\n content: \"\\f1be\";\r\n}\r\n.fa-database:before {\r\n content: \"\\f1c0\";\r\n}\r\n.fa-file-pdf-o:before {\r\n content: \"\\f1c1\";\r\n}\r\n.fa-file-word-o:before {\r\n content: \"\\f1c2\";\r\n}\r\n.fa-file-excel-o:before {\r\n content: \"\\f1c3\";\r\n}\r\n.fa-file-powerpoint-o:before {\r\n content: \"\\f1c4\";\r\n}\r\n.fa-file-photo-o:before,\r\n.fa-file-picture-o:before,\r\n.fa-file-image-o:before {\r\n content: \"\\f1c5\";\r\n}\r\n.fa-file-zip-o:before,\r\n.fa-file-archive-o:before {\r\n content: \"\\f1c6\";\r\n}\r\n.fa-file-sound-o:before,\r\n.fa-file-audio-o:before {\r\n content: \"\\f1c7\";\r\n}\r\n.fa-file-movie-o:before,\r\n.fa-file-video-o:before {\r\n content: \"\\f1c8\";\r\n}\r\n.fa-file-code-o:before {\r\n content: \"\\f1c9\";\r\n}\r\n.fa-vine:before {\r\n content: \"\\f1ca\";\r\n}\r\n.fa-codepen:before {\r\n content: \"\\f1cb\";\r\n}\r\n.fa-jsfiddle:before {\r\n content: \"\\f1cc\";\r\n}\r\n.fa-life-bouy:before,\r\n.fa-life-buoy:before,\r\n.fa-life-saver:before,\r\n.fa-support:before,\r\n.fa-life-ring:before {\r\n content: \"\\f1cd\";\r\n}\r\n.fa-circle-o-notch:before {\r\n content: \"\\f1ce\";\r\n}\r\n.fa-ra:before,\r\n.fa-rebel:before {\r\n content: \"\\f1d0\";\r\n}\r\n.fa-ge:before,\r\n.fa-empire:before {\r\n content: \"\\f1d1\";\r\n}\r\n.fa-git-square:before {\r\n content: \"\\f1d2\";\r\n}\r\n.fa-git:before {\r\n content: \"\\f1d3\";\r\n}\r\n.fa-y-combinator-square:before,\r\n.fa-yc-square:before,\r\n.fa-hacker-news:before {\r\n content: \"\\f1d4\";\r\n}\r\n.fa-tencent-weibo:before {\r\n content: \"\\f1d5\";\r\n}\r\n.fa-qq:before {\r\n content: \"\\f1d6\";\r\n}\r\n.fa-wechat:before,\r\n.fa-weixin:before {\r\n content: \"\\f1d7\";\r\n}\r\n.fa-send:before,\r\n.fa-paper-plane:before {\r\n content: \"\\f1d8\";\r\n}\r\n.fa-send-o:before,\r\n.fa-paper-plane-o:before {\r\n content: \"\\f1d9\";\r\n}\r\n.fa-history:before {\r\n content: \"\\f1da\";\r\n}\r\n.fa-circle-thin:before {\r\n content: \"\\f1db\";\r\n}\r\n.fa-header:before {\r\n content: \"\\f1dc\";\r\n}\r\n.fa-paragraph:before {\r\n content: \"\\f1dd\";\r\n}\r\n.fa-sliders:before {\r\n content: \"\\f1de\";\r\n}\r\n.fa-share-alt:before {\r\n content: \"\\f1e0\";\r\n}\r\n.fa-share-alt-square:before {\r\n content: \"\\f1e1\";\r\n}\r\n.fa-bomb:before {\r\n content: \"\\f1e2\";\r\n}\r\n.fa-soccer-ball-o:before,\r\n.fa-futbol-o:before {\r\n content: \"\\f1e3\";\r\n}\r\n.fa-tty:before {\r\n content: \"\\f1e4\";\r\n}\r\n.fa-binoculars:before {\r\n content: \"\\f1e5\";\r\n}\r\n.fa-plug:before {\r\n content: \"\\f1e6\";\r\n}\r\n.fa-slideshare:before {\r\n content: \"\\f1e7\";\r\n}\r\n.fa-twitch:before {\r\n content: \"\\f1e8\";\r\n}\r\n.fa-yelp:before {\r\n content: \"\\f1e9\";\r\n}\r\n.fa-newspaper-o:before {\r\n content: \"\\f1ea\";\r\n}\r\n.fa-wifi:before {\r\n content: \"\\f1eb\";\r\n}\r\n.fa-calculator:before {\r\n content: \"\\f1ec\";\r\n}\r\n.fa-paypal:before {\r\n content: \"\\f1ed\";\r\n}\r\n.fa-google-wallet:before {\r\n content: \"\\f1ee\";\r\n}\r\n.fa-cc-visa:before {\r\n content: \"\\f1f0\";\r\n}\r\n.fa-cc-mastercard:before {\r\n content: \"\\f1f1\";\r\n}\r\n.fa-cc-discover:before {\r\n content: \"\\f1f2\";\r\n}\r\n.fa-cc-amex:before {\r\n content: \"\\f1f3\";\r\n}\r\n.fa-cc-paypal:before {\r\n content: \"\\f1f4\";\r\n}\r\n.fa-cc-stripe:before {\r\n content: \"\\f1f5\";\r\n}\r\n.fa-bell-slash:before {\r\n content: \"\\f1f6\";\r\n}\r\n.fa-bell-slash-o:before {\r\n content: \"\\f1f7\";\r\n}\r\n.fa-trash:before {\r\n content: \"\\f1f8\";\r\n}\r\n.fa-copyright:before {\r\n content: \"\\f1f9\";\r\n}\r\n.fa-at:before {\r\n content: \"\\f1fa\";\r\n}\r\n.fa-eyedropper:before {\r\n content: \"\\f1fb\";\r\n}\r\n.fa-paint-brush:before {\r\n content: \"\\f1fc\";\r\n}\r\n.fa-birthday-cake:before {\r\n content: \"\\f1fd\";\r\n}\r\n.fa-area-chart:before {\r\n content: \"\\f1fe\";\r\n}\r\n.fa-pie-chart:before {\r\n content: \"\\f200\";\r\n}\r\n.fa-line-chart:before {\r\n content: \"\\f201\";\r\n}\r\n.fa-lastfm:before {\r\n content: \"\\f202\";\r\n}\r\n.fa-lastfm-square:before {\r\n content: \"\\f203\";\r\n}\r\n.fa-toggle-off:before {\r\n content: \"\\f204\";\r\n}\r\n.fa-toggle-on:before {\r\n content: \"\\f205\";\r\n}\r\n.fa-bicycle:before {\r\n content: \"\\f206\";\r\n}\r\n.fa-bus:before {\r\n content: \"\\f207\";\r\n}\r\n.fa-ioxhost:before {\r\n content: \"\\f208\";\r\n}\r\n.fa-angellist:before {\r\n content: \"\\f209\";\r\n}\r\n.fa-cc:before {\r\n content: \"\\f20a\";\r\n}\r\n.fa-shekel:before,\r\n.fa-sheqel:before,\r\n.fa-ils:before {\r\n content: \"\\f20b\";\r\n}\r\n.fa-meanpath:before {\r\n content: \"\\f20c\";\r\n}\r\n.fa-buysellads:before {\r\n content: \"\\f20d\";\r\n}\r\n.fa-connectdevelop:before {\r\n content: \"\\f20e\";\r\n}\r\n.fa-dashcube:before {\r\n content: \"\\f210\";\r\n}\r\n.fa-forumbee:before {\r\n content: \"\\f211\";\r\n}\r\n.fa-leanpub:before {\r\n content: \"\\f212\";\r\n}\r\n.fa-sellsy:before {\r\n content: \"\\f213\";\r\n}\r\n.fa-shirtsinbulk:before {\r\n content: \"\\f214\";\r\n}\r\n.fa-simplybuilt:before {\r\n content: \"\\f215\";\r\n}\r\n.fa-skyatlas:before {\r\n content: \"\\f216\";\r\n}\r\n.fa-cart-plus:before {\r\n content: \"\\f217\";\r\n}\r\n.fa-cart-arrow-down:before {\r\n content: \"\\f218\";\r\n}\r\n.fa-diamond:before {\r\n content: \"\\f219\";\r\n}\r\n.fa-ship:before {\r\n content: \"\\f21a\";\r\n}\r\n.fa-user-secret:before {\r\n content: \"\\f21b\";\r\n}\r\n.fa-motorcycle:before {\r\n content: \"\\f21c\";\r\n}\r\n.fa-street-view:before {\r\n content: \"\\f21d\";\r\n}\r\n.fa-heartbeat:before {\r\n content: \"\\f21e\";\r\n}\r\n.fa-venus:before {\r\n content: \"\\f221\";\r\n}\r\n.fa-mars:before {\r\n content: \"\\f222\";\r\n}\r\n.fa-mercury:before {\r\n content: \"\\f223\";\r\n}\r\n.fa-intersex:before,\r\n.fa-transgender:before {\r\n content: \"\\f224\";\r\n}\r\n.fa-transgender-alt:before {\r\n content: \"\\f225\";\r\n}\r\n.fa-venus-double:before {\r\n content: \"\\f226\";\r\n}\r\n.fa-mars-double:before {\r\n content: \"\\f227\";\r\n}\r\n.fa-venus-mars:before {\r\n content: \"\\f228\";\r\n}\r\n.fa-mars-stroke:before {\r\n content: \"\\f229\";\r\n}\r\n.fa-mars-stroke-v:before {\r\n content: \"\\f22a\";\r\n}\r\n.fa-mars-stroke-h:before {\r\n content: \"\\f22b\";\r\n}\r\n.fa-neuter:before {\r\n content: \"\\f22c\";\r\n}\r\n.fa-genderless:before {\r\n content: \"\\f22d\";\r\n}\r\n.fa-facebook-official:before {\r\n content: \"\\f230\";\r\n}\r\n.fa-pinterest-p:before {\r\n content: \"\\f231\";\r\n}\r\n.fa-whatsapp:before {\r\n content: \"\\f232\";\r\n}\r\n.fa-server:before {\r\n content: \"\\f233\";\r\n}\r\n.fa-user-plus:before {\r\n content: \"\\f234\";\r\n}\r\n.fa-user-times:before {\r\n content: \"\\f235\";\r\n}\r\n.fa-hotel:before,\r\n.fa-bed:before {\r\n content: \"\\f236\";\r\n}\r\n.fa-viacoin:before {\r\n content: \"\\f237\";\r\n}\r\n.fa-train:before {\r\n content: \"\\f238\";\r\n}\r\n.fa-subway:before {\r\n content: \"\\f239\";\r\n}\r\n.fa-medium:before {\r\n content: \"\\f23a\";\r\n}\r\n.fa-yc:before,\r\n.fa-y-combinator:before {\r\n content: \"\\f23b\";\r\n}\r\n.fa-optin-monster:before {\r\n content: \"\\f23c\";\r\n}\r\n.fa-opencart:before {\r\n content: \"\\f23d\";\r\n}\r\n.fa-expeditedssl:before {\r\n content: \"\\f23e\";\r\n}\r\n.fa-battery-4:before,\r\n.fa-battery-full:before {\r\n content: \"\\f240\";\r\n}\r\n.fa-battery-3:before,\r\n.fa-battery-three-quarters:before {\r\n content: \"\\f241\";\r\n}\r\n.fa-battery-2:before,\r\n.fa-battery-half:before {\r\n content: \"\\f242\";\r\n}\r\n.fa-battery-1:before,\r\n.fa-battery-quarter:before {\r\n content: \"\\f243\";\r\n}\r\n.fa-battery-0:before,\r\n.fa-battery-empty:before {\r\n content: \"\\f244\";\r\n}\r\n.fa-mouse-pointer:before {\r\n content: \"\\f245\";\r\n}\r\n.fa-i-cursor:before {\r\n content: \"\\f246\";\r\n}\r\n.fa-object-group:before {\r\n content: \"\\f247\";\r\n}\r\n.fa-object-ungroup:before {\r\n content: \"\\f248\";\r\n}\r\n.fa-sticky-note:before {\r\n content: \"\\f249\";\r\n}\r\n.fa-sticky-note-o:before {\r\n content: \"\\f24a\";\r\n}\r\n.fa-cc-jcb:before {\r\n content: \"\\f24b\";\r\n}\r\n.fa-cc-diners-club:before {\r\n content: \"\\f24c\";\r\n}\r\n.fa-clone:before {\r\n content: \"\\f24d\";\r\n}\r\n.fa-balance-scale:before {\r\n content: \"\\f24e\";\r\n}\r\n.fa-hourglass-o:before {\r\n content: \"\\f250\";\r\n}\r\n.fa-hourglass-1:before,\r\n.fa-hourglass-start:before {\r\n content: \"\\f251\";\r\n}\r\n.fa-hourglass-2:before,\r\n.fa-hourglass-half:before {\r\n content: \"\\f252\";\r\n}\r\n.fa-hourglass-3:before,\r\n.fa-hourglass-end:before {\r\n content: \"\\f253\";\r\n}\r\n.fa-hourglass:before {\r\n content: \"\\f254\";\r\n}\r\n.fa-hand-grab-o:before,\r\n.fa-hand-rock-o:before {\r\n content: \"\\f255\";\r\n}\r\n.fa-hand-stop-o:before,\r\n.fa-hand-paper-o:before {\r\n content: \"\\f256\";\r\n}\r\n.fa-hand-scissors-o:before {\r\n content: \"\\f257\";\r\n}\r\n.fa-hand-lizard-o:before {\r\n content: \"\\f258\";\r\n}\r\n.fa-hand-spock-o:before {\r\n content: \"\\f259\";\r\n}\r\n.fa-hand-pointer-o:before {\r\n content: \"\\f25a\";\r\n}\r\n.fa-hand-peace-o:before {\r\n content: \"\\f25b\";\r\n}\r\n.fa-trademark:before {\r\n content: \"\\f25c\";\r\n}\r\n.fa-registered:before {\r\n content: \"\\f25d\";\r\n}\r\n.fa-creative-commons:before {\r\n content: \"\\f25e\";\r\n}\r\n.fa-gg:before {\r\n content: \"\\f260\";\r\n}\r\n.fa-gg-circle:before {\r\n content: \"\\f261\";\r\n}\r\n.fa-tripadvisor:before {\r\n content: \"\\f262\";\r\n}\r\n.fa-odnoklassniki:before {\r\n content: \"\\f263\";\r\n}\r\n.fa-odnoklassniki-square:before {\r\n content: \"\\f264\";\r\n}\r\n.fa-get-pocket:before {\r\n content: \"\\f265\";\r\n}\r\n.fa-wikipedia-w:before {\r\n content: \"\\f266\";\r\n}\r\n.fa-safari:before {\r\n content: \"\\f267\";\r\n}\r\n.fa-chrome:before {\r\n content: \"\\f268\";\r\n}\r\n.fa-firefox:before {\r\n content: \"\\f269\";\r\n}\r\n.fa-opera:before {\r\n content: \"\\f26a\";\r\n}\r\n.fa-internet-explorer:before {\r\n content: \"\\f26b\";\r\n}\r\n.fa-tv:before,\r\n.fa-television:before {\r\n content: \"\\f26c\";\r\n}\r\n.fa-contao:before {\r\n content: \"\\f26d\";\r\n}\r\n.fa-500px:before {\r\n content: \"\\f26e\";\r\n}\r\n.fa-amazon:before {\r\n content: \"\\f270\";\r\n}\r\n.fa-calendar-plus-o:before {\r\n content: \"\\f271\";\r\n}\r\n.fa-calendar-minus-o:before {\r\n content: \"\\f272\";\r\n}\r\n.fa-calendar-times-o:before {\r\n content: \"\\f273\";\r\n}\r\n.fa-calendar-check-o:before {\r\n content: \"\\f274\";\r\n}\r\n.fa-industry:before {\r\n content: \"\\f275\";\r\n}\r\n.fa-map-pin:before {\r\n content: \"\\f276\";\r\n}\r\n.fa-map-signs:before {\r\n content: \"\\f277\";\r\n}\r\n.fa-map-o:before {\r\n content: \"\\f278\";\r\n}\r\n.fa-map:before {\r\n content: \"\\f279\";\r\n}\r\n.fa-commenting:before {\r\n content: \"\\f27a\";\r\n}\r\n.fa-commenting-o:before {\r\n content: \"\\f27b\";\r\n}\r\n.fa-houzz:before {\r\n content: \"\\f27c\";\r\n}\r\n.fa-vimeo:before {\r\n content: \"\\f27d\";\r\n}\r\n.fa-black-tie:before {\r\n content: \"\\f27e\";\r\n}\r\n.fa-fonticons:before {\r\n content: \"\\f280\";\r\n}\r\n.fa-reddit-alien:before {\r\n content: \"\\f281\";\r\n}\r\n.fa-edge:before {\r\n content: \"\\f282\";\r\n}\r\n.fa-credit-card-alt:before {\r\n content: \"\\f283\";\r\n}\r\n.fa-codiepie:before {\r\n content: \"\\f284\";\r\n}\r\n.fa-modx:before {\r\n content: \"\\f285\";\r\n}\r\n.fa-fort-awesome:before {\r\n content: \"\\f286\";\r\n}\r\n.fa-usb:before {\r\n content: \"\\f287\";\r\n}\r\n.fa-product-hunt:before {\r\n content: \"\\f288\";\r\n}\r\n.fa-mixcloud:before {\r\n content: \"\\f289\";\r\n}\r\n.fa-scribd:before {\r\n content: \"\\f28a\";\r\n}\r\n.fa-pause-circle:before {\r\n content: \"\\f28b\";\r\n}\r\n.fa-pause-circle-o:before {\r\n content: \"\\f28c\";\r\n}\r\n.fa-stop-circle:before {\r\n content: \"\\f28d\";\r\n}\r\n.fa-stop-circle-o:before {\r\n content: \"\\f28e\";\r\n}\r\n.fa-shopping-bag:before {\r\n content: \"\\f290\";\r\n}\r\n.fa-shopping-basket:before {\r\n content: \"\\f291\";\r\n}\r\n.fa-hashtag:before {\r\n content: \"\\f292\";\r\n}\r\n.fa-bluetooth:before {\r\n content: \"\\f293\";\r\n}\r\n.fa-bluetooth-b:before {\r\n content: \"\\f294\";\r\n}\r\n.fa-percent:before {\r\n content: \"\\f295\";\r\n}\r\n/*!\r\n * Material Design Iconic Font 1.0.1 by Sergey Kupletsky (@zavoloklom) - http://zavoloklom.github.io/material-design-iconic-font/\r\n * License - https://github.com/zavoloklom/material-design-iconic-font/blob/gh-pages/License.md (Attribution-ShareAlike 4.0 International license)\r\n */\r\n@font-face {\r\n font-family: 'Material Design Iconic Font';\r\n src: url('../fonts/Material-Design-Iconic-Font.eot?v=1.0.1');\r\n src: url('../fonts/Material-Design-Iconic-Font.eot?#iefix&v=1.0.1') format('embedded-opentype'), url('../fonts/Material-Design-Iconic-Font.ttf?v=1.0.1') format('truetype'), url('../fonts/Material-Design-Iconic-Font.svg?v=1.0.1#Material-Design-Iconic-Font') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n[class^=\"md-\"],\r\n[class*=\" md-\"] {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 'Material Design Iconic Font';\r\n font-size: inherit;\r\n speak: none;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.md {\r\n line-height: inherit;\r\n vertical-align: bottom;\r\n}\r\n.md-lg {\r\n font-size: 1.5em;\r\n line-height: .5em;\r\n vertical-align: -35%;\r\n}\r\n.md-2x {\r\n font-size: 2em;\r\n}\r\n.md-3x {\r\n font-size: 3em;\r\n}\r\n.md-4x {\r\n font-size: 4em;\r\n}\r\n.md-5x {\r\n font-size: 5em;\r\n}\r\n.md-border {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em grey;\r\n border-radius: .1em;\r\n}\r\n.md-border-circle {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em grey;\r\n border-radius: 50%;\r\n}\r\n[class^=\"md-\"].pull-left,\r\n[class*=\" md-\"].pull-left {\r\n float: left;\r\n margin-right: .3em;\r\n}\r\n[class^=\"md-\"].pull-right,\r\n[class*=\" md-\"].pull-right {\r\n float: right;\r\n margin-left: .3em;\r\n}\r\n.md-spin {\r\n animation: md-spin 1.5s infinite linear;\r\n}\r\n.md-spin-reverse {\r\n animation: md-spin-reverse 1.5s infinite linear;\r\n}\r\n@keyframes md-spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes md-spin-reverse {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(-359deg);\r\n }\r\n}\r\n.md-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n transform: rotate(90deg);\r\n}\r\n.md-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n transform: rotate(180deg);\r\n}\r\n.md-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n transform: rotate(270deg);\r\n}\r\n.md-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n transform: scale(-1, 1);\r\n}\r\n.md-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n transform: scale(1, -1);\r\n}\r\n:root .md-rotate-90,\r\n:root .md-rotate-180,\r\n:root .md-rotate-270,\r\n:root .md-flip-horizontal,\r\n:root .md-flip-vertical {\r\n filter: none;\r\n}\r\n/* Material Design Iconic Font uses the Unicode Private Use Area (PUA) to ensure screen\r\n readers do not read off random characters that represent icons */\r\n/* If you do not want use all icons you can disable icon set here */\r\n.md-3d-rotation:before {\r\n content: \"\\f000\";\r\n}\r\n.md-accessibility:before {\r\n content: \"\\f001\";\r\n}\r\n.md-account-balance:before {\r\n content: \"\\f002\";\r\n}\r\n.md-account-balance-wallet:before {\r\n content: \"\\f003\";\r\n}\r\n.md-account-box:before {\r\n content: \"\\f004\";\r\n}\r\n.md-account-child:before {\r\n content: \"\\f005\";\r\n}\r\n.md-account-circle:before {\r\n content: \"\\f006\";\r\n}\r\n.md-add-shopping-cart:before {\r\n content: \"\\f007\";\r\n}\r\n.md-alarm:before {\r\n content: \"\\f008\";\r\n}\r\n.md-alarm-add:before {\r\n content: \"\\f009\";\r\n}\r\n.md-alarm-off:before {\r\n content: \"\\f00a\";\r\n}\r\n.md-alarm-on:before {\r\n content: \"\\f00b\";\r\n}\r\n.md-android:before {\r\n content: \"\\f00c\";\r\n}\r\n.md-announcement:before {\r\n content: \"\\f00d\";\r\n}\r\n.md-aspect-ratio:before {\r\n content: \"\\f00e\";\r\n}\r\n.md-assessment:before {\r\n content: \"\\f00f\";\r\n}\r\n.md-assignment:before {\r\n content: \"\\f010\";\r\n}\r\n.md-assignment-ind:before {\r\n content: \"\\f011\";\r\n}\r\n.md-assignment-late:before {\r\n content: \"\\f012\";\r\n}\r\n.md-assignment-return:before {\r\n content: \"\\f013\";\r\n}\r\n.md-assignment-returned:before {\r\n content: \"\\f014\";\r\n}\r\n.md-assignment-turned-in:before {\r\n content: \"\\f015\";\r\n}\r\n.md-autorenew:before {\r\n content: \"\\f016\";\r\n}\r\n.md-backup:before {\r\n content: \"\\f017\";\r\n}\r\n.md-book:before {\r\n content: \"\\f018\";\r\n}\r\n.md-bookmark:before {\r\n content: \"\\f019\";\r\n}\r\n.md-bookmark-outline:before {\r\n content: \"\\f01a\";\r\n}\r\n.md-bug-report:before {\r\n content: \"\\f01b\";\r\n}\r\n.md-cached:before {\r\n content: \"\\f01c\";\r\n}\r\n.md-class:before {\r\n content: \"\\f01d\";\r\n}\r\n.md-credit-card:before {\r\n content: \"\\f01e\";\r\n}\r\n.md-dashboard:before {\r\n content: \"\\f01f\";\r\n}\r\n.md-delete:before {\r\n content: \"\\f020\";\r\n}\r\n.md-description:before {\r\n content: \"\\f021\";\r\n}\r\n.md-dns:before {\r\n content: \"\\f022\";\r\n}\r\n.md-done:before {\r\n content: \"\\f023\";\r\n}\r\n.md-done-all:before {\r\n content: \"\\f024\";\r\n}\r\n.md-event:before {\r\n content: \"\\f025\";\r\n}\r\n.md-exit-to-app:before {\r\n content: \"\\f026\";\r\n}\r\n.md-explore:before {\r\n content: \"\\f027\";\r\n}\r\n.md-extension:before {\r\n content: \"\\f028\";\r\n}\r\n.md-face-unlock:before {\r\n content: \"\\f029\";\r\n}\r\n.md-favorite:before {\r\n content: \"\\f02a\";\r\n}\r\n.md-favorite-outline:before {\r\n content: \"\\f02b\";\r\n}\r\n.md-find-in-page:before {\r\n content: \"\\f02c\";\r\n}\r\n.md-find-replace:before {\r\n content: \"\\f02d\";\r\n}\r\n.md-flip-to-back:before {\r\n content: \"\\f02e\";\r\n}\r\n.md-flip-to-front:before {\r\n content: \"\\f02f\";\r\n}\r\n.md-get-app:before {\r\n content: \"\\f030\";\r\n}\r\n.md-grade:before {\r\n content: \"\\f031\";\r\n}\r\n.md-group-work:before {\r\n content: \"\\f032\";\r\n}\r\n.md-help:before {\r\n content: \"\\f033\";\r\n}\r\n.md-highlight-remove:before {\r\n content: \"\\f034\";\r\n}\r\n.md-history:before {\r\n content: \"\\f035\";\r\n}\r\n.md-home:before {\r\n content: \"\\f036\";\r\n}\r\n.md-https:before {\r\n content: \"\\f037\";\r\n}\r\n.md-info:before {\r\n content: \"\\f038\";\r\n}\r\n.md-info-outline:before {\r\n content: \"\\f039\";\r\n}\r\n.md-input:before {\r\n content: \"\\f03a\";\r\n}\r\n.md-invert-colors:before {\r\n content: \"\\f03b\";\r\n}\r\n.md-label:before {\r\n content: \"\\f03c\";\r\n}\r\n.md-label-outline:before {\r\n content: \"\\f03d\";\r\n}\r\n.md-language:before {\r\n content: \"\\f03e\";\r\n}\r\n.md-launch:before {\r\n content: \"\\f03f\";\r\n}\r\n.md-list:before {\r\n content: \"\\f040\";\r\n}\r\n.md-lock:before {\r\n content: \"\\f041\";\r\n}\r\n.md-lock-open:before {\r\n content: \"\\f042\";\r\n}\r\n.md-lock-outline:before {\r\n content: \"\\f043\";\r\n}\r\n.md-loyalty:before {\r\n content: \"\\f044\";\r\n}\r\n.md-markunread-mailbox:before {\r\n content: \"\\f045\";\r\n}\r\n.md-note-add:before {\r\n content: \"\\f046\";\r\n}\r\n.md-open-in-browser:before {\r\n content: \"\\f047\";\r\n}\r\n.md-open-in-new:before {\r\n content: \"\\f048\";\r\n}\r\n.md-open-with:before {\r\n content: \"\\f049\";\r\n}\r\n.md-pageview:before {\r\n content: \"\\f04a\";\r\n}\r\n.md-payment:before {\r\n content: \"\\f04b\";\r\n}\r\n.md-perm-camera-mic:before {\r\n content: \"\\f04c\";\r\n}\r\n.md-perm-contact-cal:before {\r\n content: \"\\f04d\";\r\n}\r\n.md-perm-data-setting:before {\r\n content: \"\\f04e\";\r\n}\r\n.md-perm-device-info:before {\r\n content: \"\\f04f\";\r\n}\r\n.md-perm-identity:before {\r\n content: \"\\f050\";\r\n}\r\n.md-perm-media:before {\r\n content: \"\\f051\";\r\n}\r\n.md-perm-phone-msg:before {\r\n content: \"\\f052\";\r\n}\r\n.md-perm-scan-wifi:before {\r\n content: \"\\f053\";\r\n}\r\n.md-picture-in-picture:before {\r\n content: \"\\f054\";\r\n}\r\n.md-polymer:before {\r\n content: \"\\f055\";\r\n}\r\n.md-print:before {\r\n content: \"\\f056\";\r\n}\r\n.md-query-builder:before {\r\n content: \"\\f057\";\r\n}\r\n.md-question-answer:before {\r\n content: \"\\f058\";\r\n}\r\n.md-receipt:before {\r\n content: \"\\f059\";\r\n}\r\n.md-redeem:before {\r\n content: \"\\f05a\";\r\n}\r\n.md-report-problem:before {\r\n content: \"\\f05b\";\r\n}\r\n.md-restore:before {\r\n content: \"\\f05c\";\r\n}\r\n.md-room:before {\r\n content: \"\\f05d\";\r\n}\r\n.md-schedule:before {\r\n content: \"\\f05e\";\r\n}\r\n.md-search:before {\r\n content: \"\\f05f\";\r\n}\r\n.md-settings:before {\r\n content: \"\\f060\";\r\n}\r\n.md-settings-applications:before {\r\n content: \"\\f061\";\r\n}\r\n.md-settings-backup-restore:before {\r\n content: \"\\f062\";\r\n}\r\n.md-settings-bluetooth:before {\r\n content: \"\\f063\";\r\n}\r\n.md-settings-cell:before {\r\n content: \"\\f064\";\r\n}\r\n.md-settings-display:before {\r\n content: \"\\f065\";\r\n}\r\n.md-settings-ethernet:before {\r\n content: \"\\f066\";\r\n}\r\n.md-settings-input-antenna:before {\r\n content: \"\\f067\";\r\n}\r\n.md-settings-input-component:before {\r\n content: \"\\f068\";\r\n}\r\n.md-settings-input-composite:before {\r\n content: \"\\f069\";\r\n}\r\n.md-settings-input-hdmi:before {\r\n content: \"\\f06a\";\r\n}\r\n.md-settings-input-svideo:before {\r\n content: \"\\f06b\";\r\n}\r\n.md-settings-overscan:before {\r\n content: \"\\f06c\";\r\n}\r\n.md-settings-phone:before {\r\n content: \"\\f06d\";\r\n}\r\n.md-settings-power:before {\r\n content: \"\\f06e\";\r\n}\r\n.md-settings-remote:before {\r\n content: \"\\f06f\";\r\n}\r\n.md-settings-voice:before {\r\n content: \"\\f070\";\r\n}\r\n.md-shop:before {\r\n content: \"\\f071\";\r\n}\r\n.md-shopping-basket:before {\r\n content: \"\\f072\";\r\n}\r\n.md-shopping-cart:before {\r\n content: \"\\f073\";\r\n}\r\n.md-shop-two:before {\r\n content: \"\\f074\";\r\n}\r\n.md-speaker-notes:before {\r\n content: \"\\f075\";\r\n}\r\n.md-spellcheck:before {\r\n content: \"\\f076\";\r\n}\r\n.md-star-rate:before {\r\n content: \"\\f077\";\r\n}\r\n.md-stars:before {\r\n content: \"\\f078\";\r\n}\r\n.md-store:before {\r\n content: \"\\f079\";\r\n}\r\n.md-subject:before {\r\n content: \"\\f07a\";\r\n}\r\n.md-swap-horiz:before {\r\n content: \"\\f07b\";\r\n}\r\n.md-swap-vert:before {\r\n content: \"\\f07c\";\r\n}\r\n.md-swap-vert-circle:before {\r\n content: \"\\f07d\";\r\n}\r\n.md-system-update-tv:before {\r\n content: \"\\f07e\";\r\n}\r\n.md-tab:before {\r\n content: \"\\f07f\";\r\n}\r\n.md-tab-unselected:before {\r\n content: \"\\f080\";\r\n}\r\n.md-theaters:before {\r\n content: \"\\f081\";\r\n}\r\n.md-thumb-down:before {\r\n content: \"\\f082\";\r\n}\r\n.md-thumbs-up-down:before {\r\n content: \"\\f083\";\r\n}\r\n.md-thumb-up:before {\r\n content: \"\\f084\";\r\n}\r\n.md-toc:before {\r\n content: \"\\f085\";\r\n}\r\n.md-today:before {\r\n content: \"\\f086\";\r\n}\r\n.md-track-changes:before {\r\n content: \"\\f087\";\r\n}\r\n.md-translate:before {\r\n content: \"\\f088\";\r\n}\r\n.md-trending-down:before {\r\n content: \"\\f089\";\r\n}\r\n.md-trending-neutral:before {\r\n content: \"\\f08a\";\r\n}\r\n.md-trending-up:before {\r\n content: \"\\f08b\";\r\n}\r\n.md-turned-in:before {\r\n content: \"\\f08c\";\r\n}\r\n.md-turned-in-not:before {\r\n content: \"\\f08d\";\r\n}\r\n.md-verified-user:before {\r\n content: \"\\f08e\";\r\n}\r\n.md-view-agenda:before {\r\n content: \"\\f08f\";\r\n}\r\n.md-view-array:before {\r\n content: \"\\f090\";\r\n}\r\n.md-view-carousel:before {\r\n content: \"\\f091\";\r\n}\r\n.md-view-column:before {\r\n content: \"\\f092\";\r\n}\r\n.md-view-day:before {\r\n content: \"\\f093\";\r\n}\r\n.md-view-headline:before {\r\n content: \"\\f094\";\r\n}\r\n.md-view-list:before {\r\n content: \"\\f095\";\r\n}\r\n.md-view-module:before {\r\n content: \"\\f096\";\r\n}\r\n.md-view-quilt:before {\r\n content: \"\\f097\";\r\n}\r\n.md-view-stream:before {\r\n content: \"\\f098\";\r\n}\r\n.md-view-week:before {\r\n content: \"\\f099\";\r\n}\r\n.md-visibility:before {\r\n content: \"\\f09a\";\r\n}\r\n.md-visibility-off:before {\r\n content: \"\\f09b\";\r\n}\r\n.md-wallet-giftcard:before {\r\n content: \"\\f09c\";\r\n}\r\n.md-wallet-membership:before {\r\n content: \"\\f09d\";\r\n}\r\n.md-wallet-travel:before {\r\n content: \"\\f09e\";\r\n}\r\n.md-work:before {\r\n content: \"\\f09f\";\r\n}\r\n.md-error:before {\r\n content: \"\\f0a0\";\r\n}\r\n.md-warning:before {\r\n content: \"\\f0a1\";\r\n}\r\n.md-album:before {\r\n content: \"\\f0a2\";\r\n}\r\n.md-av-timer:before {\r\n content: \"\\f0a3\";\r\n}\r\n.md-closed-caption:before {\r\n content: \"\\f0a4\";\r\n}\r\n.md-equalizer:before {\r\n content: \"\\f0a5\";\r\n}\r\n.md-explicit:before {\r\n content: \"\\f0a6\";\r\n}\r\n.md-fast-forward:before {\r\n content: \"\\f0a7\";\r\n}\r\n.md-fast-rewind:before {\r\n content: \"\\f0a8\";\r\n}\r\n.md-games:before {\r\n content: \"\\f0a9\";\r\n}\r\n.md-hearing:before {\r\n content: \"\\f0aa\";\r\n}\r\n.md-high-quality:before {\r\n content: \"\\f0ab\";\r\n}\r\n.md-loop:before {\r\n content: \"\\f0ac\";\r\n}\r\n.md-mic:before {\r\n content: \"\\f0ad\";\r\n}\r\n.md-mic-none:before {\r\n content: \"\\f0ae\";\r\n}\r\n.md-mic-off:before {\r\n content: \"\\f0af\";\r\n}\r\n.md-movie:before {\r\n content: \"\\f0b0\";\r\n}\r\n.md-my-library-add:before {\r\n content: \"\\f0b1\";\r\n}\r\n.md-my-library-books:before {\r\n content: \"\\f0b2\";\r\n}\r\n.md-my-library-music:before {\r\n content: \"\\f0b3\";\r\n}\r\n.md-new-releases:before {\r\n content: \"\\f0b4\";\r\n}\r\n.md-not-interested:before {\r\n content: \"\\f0b5\";\r\n}\r\n.md-pause:before {\r\n content: \"\\f0b6\";\r\n}\r\n.md-pause-circle-fill:before {\r\n content: \"\\f0b7\";\r\n}\r\n.md-pause-circle-outline:before {\r\n content: \"\\f0b8\";\r\n}\r\n.md-play-arrow:before {\r\n content: \"\\f0b9\";\r\n}\r\n.md-play-circle-fill:before {\r\n content: \"\\f0ba\";\r\n}\r\n.md-play-circle-outline:before {\r\n content: \"\\f0bb\";\r\n}\r\n.md-playlist-add:before {\r\n content: \"\\f0bc\";\r\n}\r\n.md-play-shopping-bag:before {\r\n content: \"\\f0bd\";\r\n}\r\n.md-queue:before {\r\n content: \"\\f0be\";\r\n}\r\n.md-queue-music:before {\r\n content: \"\\f0bf\";\r\n}\r\n.md-radio:before {\r\n content: \"\\f0c0\";\r\n}\r\n.md-recent-actors:before {\r\n content: \"\\f0c1\";\r\n}\r\n.md-repeat:before {\r\n content: \"\\f0c2\";\r\n}\r\n.md-repeat-one:before {\r\n content: \"\\f0c3\";\r\n}\r\n.md-replay:before {\r\n content: \"\\f0c4\";\r\n}\r\n.md-shuffle:before {\r\n content: \"\\f0c5\";\r\n}\r\n.md-skip-next:before {\r\n content: \"\\f0c6\";\r\n}\r\n.md-skip-previous:before {\r\n content: \"\\f0c7\";\r\n}\r\n.md-snooze:before {\r\n content: \"\\f0c8\";\r\n}\r\n.md-stop:before {\r\n content: \"\\f0c9\";\r\n}\r\n.md-subtitles:before {\r\n content: \"\\f0ca\";\r\n}\r\n.md-surround-sound:before {\r\n content: \"\\f0cb\";\r\n}\r\n.md-videocam:before {\r\n content: \"\\f0cc\";\r\n}\r\n.md-videocam-off:before {\r\n content: \"\\f0cd\";\r\n}\r\n.md-video-collection:before {\r\n content: \"\\f0ce\";\r\n}\r\n.md-volume-down:before {\r\n content: \"\\f0cf\";\r\n}\r\n.md-volume-mute:before {\r\n content: \"\\f0d0\";\r\n}\r\n.md-volume-off:before {\r\n content: \"\\f0d1\";\r\n}\r\n.md-volume-up:before {\r\n content: \"\\f0d2\";\r\n}\r\n.md-web:before {\r\n content: \"\\f0d3\";\r\n}\r\n.md-business:before {\r\n content: \"\\f0d4\";\r\n}\r\n.md-call:before {\r\n content: \"\\f0d5\";\r\n}\r\n.md-call-end:before {\r\n content: \"\\f0d6\";\r\n}\r\n.md-call-made:before {\r\n content: \"\\f0d7\";\r\n}\r\n.md-call-merge:before {\r\n content: \"\\f0d8\";\r\n}\r\n.md-call-missed:before {\r\n content: \"\\f0d9\";\r\n}\r\n.md-call-received:before {\r\n content: \"\\f0da\";\r\n}\r\n.md-call-split:before {\r\n content: \"\\f0db\";\r\n}\r\n.md-chat:before {\r\n content: \"\\f0dc\";\r\n}\r\n.md-clear-all:before {\r\n content: \"\\f0dd\";\r\n}\r\n.md-comment:before {\r\n content: \"\\f0de\";\r\n}\r\n.md-contacts:before {\r\n content: \"\\f0df\";\r\n}\r\n.md-dialer-sip:before {\r\n content: \"\\f0e0\";\r\n}\r\n.md-dialpad:before {\r\n content: \"\\f0e1\";\r\n}\r\n.md-dnd-on:before {\r\n content: \"\\f0e2\";\r\n}\r\n.md-email:before {\r\n content: \"\\f0e3\";\r\n}\r\n.md-forum:before {\r\n content: \"\\f0e4\";\r\n}\r\n.md-import-export:before {\r\n content: \"\\f0e5\";\r\n}\r\n.md-invert-colors-off:before {\r\n content: \"\\f0e6\";\r\n}\r\n.md-invert-colors-on:before {\r\n content: \"\\f0e7\";\r\n}\r\n.md-live-help:before {\r\n content: \"\\f0e8\";\r\n}\r\n.md-location-off:before {\r\n content: \"\\f0e9\";\r\n}\r\n.md-location-on:before {\r\n content: \"\\f0ea\";\r\n}\r\n.md-message:before {\r\n content: \"\\f0eb\";\r\n}\r\n.md-messenger:before {\r\n content: \"\\f0ec\";\r\n}\r\n.md-no-sim:before {\r\n content: \"\\f0ed\";\r\n}\r\n.md-phone:before {\r\n content: \"\\f0ee\";\r\n}\r\n.md-portable-wifi-off:before {\r\n content: \"\\f0ef\";\r\n}\r\n.md-quick-contacts-dialer:before {\r\n content: \"\\f0f0\";\r\n}\r\n.md-quick-contacts-mail:before {\r\n content: \"\\f0f1\";\r\n}\r\n.md-ring-volume:before {\r\n content: \"\\f0f2\";\r\n}\r\n.md-stay-current-landscape:before {\r\n content: \"\\f0f3\";\r\n}\r\n.md-stay-current-portrait:before {\r\n content: \"\\f0f4\";\r\n}\r\n.md-stay-primary-landscape:before {\r\n content: \"\\f0f5\";\r\n}\r\n.md-stay-primary-portrait:before {\r\n content: \"\\f0f6\";\r\n}\r\n.md-swap-calls:before {\r\n content: \"\\f0f7\";\r\n}\r\n.md-textsms:before {\r\n content: \"\\f0f8\";\r\n}\r\n.md-voicemail:before {\r\n content: \"\\f0f9\";\r\n}\r\n.md-vpn-key:before {\r\n content: \"\\f0fa\";\r\n}\r\n.md-add:before {\r\n content: \"\\f0fb\";\r\n}\r\n.md-add-box:before {\r\n content: \"\\f0fc\";\r\n}\r\n.md-add-circle:before {\r\n content: \"\\f0fd\";\r\n}\r\n.md-add-circle-outline:before {\r\n content: \"\\f0fe\";\r\n}\r\n.md-archive:before {\r\n content: \"\\f0ff\";\r\n}\r\n.md-backspace:before {\r\n content: \"\\f100\";\r\n}\r\n.md-block:before {\r\n content: \"\\f101\";\r\n}\r\n.md-clear:before {\r\n content: \"\\f102\";\r\n}\r\n.md-content-copy:before {\r\n content: \"\\f103\";\r\n}\r\n.md-content-cut:before {\r\n content: \"\\f104\";\r\n}\r\n.md-content-paste:before {\r\n content: \"\\f105\";\r\n}\r\n.md-create:before {\r\n content: \"\\f106\";\r\n}\r\n.md-drafts:before {\r\n content: \"\\f107\";\r\n}\r\n.md-filter-list:before {\r\n content: \"\\f108\";\r\n}\r\n.md-flag:before {\r\n content: \"\\f109\";\r\n}\r\n.md-forward:before {\r\n content: \"\\f10a\";\r\n}\r\n.md-gesture:before {\r\n content: \"\\f10b\";\r\n}\r\n.md-inbox:before {\r\n content: \"\\f10c\";\r\n}\r\n.md-link:before {\r\n content: \"\\f10d\";\r\n}\r\n.md-mail:before {\r\n content: \"\\f10e\";\r\n}\r\n.md-markunread:before {\r\n content: \"\\f10f\";\r\n}\r\n.md-redo:before {\r\n content: \"\\f110\";\r\n}\r\n.md-remove:before {\r\n content: \"\\f111\";\r\n}\r\n.md-remove-circle:before {\r\n content: \"\\f112\";\r\n}\r\n.md-remove-circle-outline:before {\r\n content: \"\\f113\";\r\n}\r\n.md-reply:before {\r\n content: \"\\f114\";\r\n}\r\n.md-reply-all:before {\r\n content: \"\\f115\";\r\n}\r\n.md-report:before {\r\n content: \"\\f116\";\r\n}\r\n.md-save:before {\r\n content: \"\\f117\";\r\n}\r\n.md-select-all:before {\r\n content: \"\\f118\";\r\n}\r\n.md-send:before {\r\n content: \"\\f119\";\r\n}\r\n.md-sort:before {\r\n content: \"\\f11a\";\r\n}\r\n.md-text-format:before {\r\n content: \"\\f11b\";\r\n}\r\n.md-undo:before {\r\n content: \"\\f11c\";\r\n}\r\n.md-access-alarm:before {\r\n content: \"\\f11d\";\r\n}\r\n.md-access-alarms:before {\r\n content: \"\\f11e\";\r\n}\r\n.md-access-time:before {\r\n content: \"\\f11f\";\r\n}\r\n.md-add-alarm:before {\r\n content: \"\\f120\";\r\n}\r\n.md-airplanemode-off:before {\r\n content: \"\\f121\";\r\n}\r\n.md-airplanemode-on:before {\r\n content: \"\\f122\";\r\n}\r\n.md-battery-20:before {\r\n content: \"\\f123\";\r\n}\r\n.md-battery-30:before {\r\n content: \"\\f124\";\r\n}\r\n.md-battery-50:before {\r\n content: \"\\f125\";\r\n}\r\n.md-battery-60:before {\r\n content: \"\\f126\";\r\n}\r\n.md-battery-80:before {\r\n content: \"\\f127\";\r\n}\r\n.md-battery-90:before {\r\n content: \"\\f128\";\r\n}\r\n.md-battery-alert:before {\r\n content: \"\\f129\";\r\n}\r\n.md-battery-charging-20:before {\r\n content: \"\\f12a\";\r\n}\r\n.md-battery-charging-30:before {\r\n content: \"\\f12b\";\r\n}\r\n.md-battery-charging-50:before {\r\n content: \"\\f12c\";\r\n}\r\n.md-battery-charging-60:before {\r\n content: \"\\f12d\";\r\n}\r\n.md-battery-charging-80:before {\r\n content: \"\\f12e\";\r\n}\r\n.md-battery-charging-90:before {\r\n content: \"\\f12f\";\r\n}\r\n.md-battery-charging-full:before {\r\n content: \"\\f130\";\r\n}\r\n.md-battery-full:before {\r\n content: \"\\f131\";\r\n}\r\n.md-battery-std:before {\r\n content: \"\\f132\";\r\n}\r\n.md-battery-unknown:before {\r\n content: \"\\f133\";\r\n}\r\n.md-bluetooth:before {\r\n content: \"\\f134\";\r\n}\r\n.md-bluetooth-connected:before {\r\n content: \"\\f135\";\r\n}\r\n.md-bluetooth-disabled:before {\r\n content: \"\\f136\";\r\n}\r\n.md-bluetooth-searching:before {\r\n content: \"\\f137\";\r\n}\r\n.md-brightness-auto:before {\r\n content: \"\\f138\";\r\n}\r\n.md-brightness-high:before {\r\n content: \"\\f139\";\r\n}\r\n.md-brightness-low:before {\r\n content: \"\\f13a\";\r\n}\r\n.md-brightness-medium:before {\r\n content: \"\\f13b\";\r\n}\r\n.md-data-usage:before {\r\n content: \"\\f13c\";\r\n}\r\n.md-developer-mode:before {\r\n content: \"\\f13d\";\r\n}\r\n.md-devices:before {\r\n content: \"\\f13e\";\r\n}\r\n.md-dvr:before {\r\n content: \"\\f13f\";\r\n}\r\n.md-gps-fixed:before {\r\n content: \"\\f140\";\r\n}\r\n.md-gps-not-fixed:before {\r\n content: \"\\f141\";\r\n}\r\n.md-gps-off:before {\r\n content: \"\\f142\";\r\n}\r\n.md-location-disabled:before {\r\n content: \"\\f143\";\r\n}\r\n.md-location-searching:before {\r\n content: \"\\f144\";\r\n}\r\n.md-multitrack-audio:before {\r\n content: \"\\f145\";\r\n}\r\n.md-network-cell:before {\r\n content: \"\\f146\";\r\n}\r\n.md-network-wifi:before {\r\n content: \"\\f147\";\r\n}\r\n.md-nfc:before {\r\n content: \"\\f148\";\r\n}\r\n.md-now-wallpaper:before {\r\n content: \"\\f149\";\r\n}\r\n.md-now-widgets:before {\r\n content: \"\\f14a\";\r\n}\r\n.md-screen-lock-landscape:before {\r\n content: \"\\f14b\";\r\n}\r\n.md-screen-lock-portrait:before {\r\n content: \"\\f14c\";\r\n}\r\n.md-screen-lock-rotation:before {\r\n content: \"\\f14d\";\r\n}\r\n.md-screen-rotation:before {\r\n content: \"\\f14e\";\r\n}\r\n.md-sd-storage:before {\r\n content: \"\\f14f\";\r\n}\r\n.md-settings-system-daydream:before {\r\n content: \"\\f150\";\r\n}\r\n.md-signal-cellular-0-bar:before {\r\n content: \"\\f151\";\r\n}\r\n.md-signal-cellular-1-bar:before {\r\n content: \"\\f152\";\r\n}\r\n.md-signal-cellular-2-bar:before {\r\n content: \"\\f153\";\r\n}\r\n.md-signal-cellular-3-bar:before {\r\n content: \"\\f154\";\r\n}\r\n.md-signal-cellular-4-bar:before {\r\n content: \"\\f155\";\r\n}\r\n.md-signal-cellular-connected-no-internet-0-bar:before {\r\n content: \"\\f156\";\r\n}\r\n.md-signal-cellular-connected-no-internet-1-bar:before {\r\n content: \"\\f157\";\r\n}\r\n.md-signal-cellular-connected-no-internet-2-bar:before {\r\n content: \"\\f158\";\r\n}\r\n.md-signal-cellular-connected-no-internet-3-bar:before {\r\n content: \"\\f159\";\r\n}\r\n.md-signal-cellular-connected-no-internet-4-bar:before {\r\n content: \"\\f15a\";\r\n}\r\n.md-signal-cellular-no-sim:before {\r\n content: \"\\f15b\";\r\n}\r\n.md-signal-cellular-null:before {\r\n content: \"\\f15c\";\r\n}\r\n.md-signal-cellular-off:before {\r\n content: \"\\f15d\";\r\n}\r\n.md-signal-wifi-0-bar:before {\r\n content: \"\\f15e\";\r\n}\r\n.md-signal-wifi-1-bar:before {\r\n content: \"\\f15f\";\r\n}\r\n.md-signal-wifi-2-bar:before {\r\n content: \"\\f160\";\r\n}\r\n.md-signal-wifi-3-bar:before {\r\n content: \"\\f161\";\r\n}\r\n.md-signal-wifi-4-bar:before {\r\n content: \"\\f162\";\r\n}\r\n.md-signal-wifi-off:before {\r\n content: \"\\f163\";\r\n}\r\n.md-storage:before {\r\n content: \"\\f164\";\r\n}\r\n.md-usb:before {\r\n content: \"\\f165\";\r\n}\r\n.md-wifi-lock:before {\r\n content: \"\\f166\";\r\n}\r\n.md-wifi-tethering:before {\r\n content: \"\\f167\";\r\n}\r\n.md-attach-file:before {\r\n content: \"\\f168\";\r\n}\r\n.md-attach-money:before {\r\n content: \"\\f169\";\r\n}\r\n.md-border-all:before {\r\n content: \"\\f16a\";\r\n}\r\n.md-border-bottom:before {\r\n content: \"\\f16b\";\r\n}\r\n.md-border-clear:before {\r\n content: \"\\f16c\";\r\n}\r\n.md-border-color:before {\r\n content: \"\\f16d\";\r\n}\r\n.md-border-horizontal:before {\r\n content: \"\\f16e\";\r\n}\r\n.md-border-inner:before {\r\n content: \"\\f16f\";\r\n}\r\n.md-border-left:before {\r\n content: \"\\f170\";\r\n}\r\n.md-border-outer:before {\r\n content: \"\\f171\";\r\n}\r\n.md-border-right:before {\r\n content: \"\\f172\";\r\n}\r\n.md-border-style:before {\r\n content: \"\\f173\";\r\n}\r\n.md-border-top:before {\r\n content: \"\\f174\";\r\n}\r\n.md-border-vertical:before {\r\n content: \"\\f175\";\r\n}\r\n.md-format-align-center:before {\r\n content: \"\\f176\";\r\n}\r\n.md-format-align-justify:before {\r\n content: \"\\f177\";\r\n}\r\n.md-format-align-left:before {\r\n content: \"\\f178\";\r\n}\r\n.md-format-align-right:before {\r\n content: \"\\f179\";\r\n}\r\n.md-format-bold:before {\r\n content: \"\\f17a\";\r\n}\r\n.md-format-clear:before {\r\n content: \"\\f17b\";\r\n}\r\n.md-format-color-fill:before {\r\n content: \"\\f17c\";\r\n}\r\n.md-format-color-reset:before {\r\n content: \"\\f17d\";\r\n}\r\n.md-format-color-text:before {\r\n content: \"\\f17e\";\r\n}\r\n.md-format-indent-decrease:before {\r\n content: \"\\f17f\";\r\n}\r\n.md-format-indent-increase:before {\r\n content: \"\\f180\";\r\n}\r\n.md-format-italic:before {\r\n content: \"\\f181\";\r\n}\r\n.md-format-line-spacing:before {\r\n content: \"\\f182\";\r\n}\r\n.md-format-list-bulleted:before {\r\n content: \"\\f183\";\r\n}\r\n.md-format-list-numbered:before {\r\n content: \"\\f184\";\r\n}\r\n.md-format-paint:before {\r\n content: \"\\f185\";\r\n}\r\n.md-format-quote:before {\r\n content: \"\\f186\";\r\n}\r\n.md-format-size:before {\r\n content: \"\\f187\";\r\n}\r\n.md-format-strikethrough:before {\r\n content: \"\\f188\";\r\n}\r\n.md-format-textdirection-l-to-r:before {\r\n content: \"\\f189\";\r\n}\r\n.md-format-textdirection-r-to-l:before {\r\n content: \"\\f18a\";\r\n}\r\n.md-format-underline:before {\r\n content: \"\\f18b\";\r\n}\r\n.md-functions:before {\r\n content: \"\\f18c\";\r\n}\r\n.md-insert-chart:before {\r\n content: \"\\f18d\";\r\n}\r\n.md-insert-comment:before {\r\n content: \"\\f18e\";\r\n}\r\n.md-insert-drive-file:before {\r\n content: \"\\f18f\";\r\n}\r\n.md-insert-emoticon:before {\r\n content: \"\\f190\";\r\n}\r\n.md-insert-invitation:before {\r\n content: \"\\f191\";\r\n}\r\n.md-insert-link:before {\r\n content: \"\\f192\";\r\n}\r\n.md-insert-photo:before {\r\n content: \"\\f193\";\r\n}\r\n.md-merge-type:before {\r\n content: \"\\f194\";\r\n}\r\n.md-mode-comment:before {\r\n content: \"\\f195\";\r\n}\r\n.md-mode-edit:before {\r\n content: \"\\f196\";\r\n}\r\n.md-publish:before {\r\n content: \"\\f197\";\r\n}\r\n.md-vertical-align-bottom:before {\r\n content: \"\\f198\";\r\n}\r\n.md-vertical-align-center:before {\r\n content: \"\\f199\";\r\n}\r\n.md-vertical-align-top:before {\r\n content: \"\\f19a\";\r\n}\r\n.md-wrap-text:before {\r\n content: \"\\f19b\";\r\n}\r\n.md-attachment:before {\r\n content: \"\\f19c\";\r\n}\r\n.md-cloud:before {\r\n content: \"\\f19d\";\r\n}\r\n.md-cloud-circle:before {\r\n content: \"\\f19e\";\r\n}\r\n.md-cloud-done:before {\r\n content: \"\\f19f\";\r\n}\r\n.md-cloud-download:before {\r\n content: \"\\f1a0\";\r\n}\r\n.md-cloud-off:before {\r\n content: \"\\f1a1\";\r\n}\r\n.md-cloud-queue:before {\r\n content: \"\\f1a2\";\r\n}\r\n.md-cloud-upload:before {\r\n content: \"\\f1a3\";\r\n}\r\n.md-file-download:before {\r\n content: \"\\f1a4\";\r\n}\r\n.md-file-upload:before {\r\n content: \"\\f1a5\";\r\n}\r\n.md-folder:before {\r\n content: \"\\f1a6\";\r\n}\r\n.md-folder-open:before {\r\n content: \"\\f1a7\";\r\n}\r\n.md-folder-shared:before {\r\n content: \"\\f1a8\";\r\n}\r\n.md-cast:before {\r\n content: \"\\f1a9\";\r\n}\r\n.md-cast-connected:before {\r\n content: \"\\f1aa\";\r\n}\r\n.md-computer:before {\r\n content: \"\\f1ab\";\r\n}\r\n.md-desktop-mac:before {\r\n content: \"\\f1ac\";\r\n}\r\n.md-desktop-windows:before {\r\n content: \"\\f1ad\";\r\n}\r\n.md-dock:before {\r\n content: \"\\f1ae\";\r\n}\r\n.md-gamepad:before {\r\n content: \"\\f1af\";\r\n}\r\n.md-headset:before {\r\n content: \"\\f1b0\";\r\n}\r\n.md-headset-mic:before {\r\n content: \"\\f1b1\";\r\n}\r\n.md-keyboard:before {\r\n content: \"\\f1b2\";\r\n}\r\n.md-keyboard-alt:before {\r\n content: \"\\f1b3\";\r\n}\r\n.md-keyboard-arrow-down:before {\r\n content: \"\\f1b4\";\r\n}\r\n.md-keyboard-arrow-left:before {\r\n content: \"\\f1b5\";\r\n}\r\n.md-keyboard-arrow-right:before {\r\n content: \"\\f1b6\";\r\n}\r\n.md-keyboard-arrow-up:before {\r\n content: \"\\f1b7\";\r\n}\r\n.md-keyboard-backspace:before {\r\n content: \"\\f1b8\";\r\n}\r\n.md-keyboard-capslock:before {\r\n content: \"\\f1b9\";\r\n}\r\n.md-keyboard-control:before {\r\n content: \"\\f1ba\";\r\n}\r\n.md-keyboard-hide:before {\r\n content: \"\\f1bb\";\r\n}\r\n.md-keyboard-return:before {\r\n content: \"\\f1bc\";\r\n}\r\n.md-keyboard-tab:before {\r\n content: \"\\f1bd\";\r\n}\r\n.md-keyboard-voice:before {\r\n content: \"\\f1be\";\r\n}\r\n.md-laptop:before {\r\n content: \"\\f1bf\";\r\n}\r\n.md-laptop-chromebook:before {\r\n content: \"\\f1c0\";\r\n}\r\n.md-laptop-mac:before {\r\n content: \"\\f1c1\";\r\n}\r\n.md-laptop-windows:before {\r\n content: \"\\f1c2\";\r\n}\r\n.md-memory:before {\r\n content: \"\\f1c3\";\r\n}\r\n.md-mouse:before {\r\n content: \"\\f1c4\";\r\n}\r\n.md-phone-android:before {\r\n content: \"\\f1c5\";\r\n}\r\n.md-phone-iphone:before {\r\n content: \"\\f1c6\";\r\n}\r\n.md-phonelink:before {\r\n content: \"\\f1c7\";\r\n}\r\n.md-phonelink-off:before {\r\n content: \"\\f1c8\";\r\n}\r\n.md-security:before {\r\n content: \"\\f1c9\";\r\n}\r\n.md-sim-card:before {\r\n content: \"\\f1ca\";\r\n}\r\n.md-smartphone:before {\r\n content: \"\\f1cb\";\r\n}\r\n.md-speaker:before {\r\n content: \"\\f1cc\";\r\n}\r\n.md-tablet:before {\r\n content: \"\\f1cd\";\r\n}\r\n.md-tablet-android:before {\r\n content: \"\\f1ce\";\r\n}\r\n.md-tablet-mac:before {\r\n content: \"\\f1cf\";\r\n}\r\n.md-tv:before {\r\n content: \"\\f1d0\";\r\n}\r\n.md-watch:before {\r\n content: \"\\f1d1\";\r\n}\r\n.md-add-to-photos:before {\r\n content: \"\\f1d2\";\r\n}\r\n.md-adjust:before {\r\n content: \"\\f1d3\";\r\n}\r\n.md-assistant-photo:before {\r\n content: \"\\f1d4\";\r\n}\r\n.md-audiotrack:before {\r\n content: \"\\f1d5\";\r\n}\r\n.md-blur-circular:before {\r\n content: \"\\f1d6\";\r\n}\r\n.md-blur-linear:before {\r\n content: \"\\f1d7\";\r\n}\r\n.md-blur-off:before {\r\n content: \"\\f1d8\";\r\n}\r\n.md-blur-on:before {\r\n content: \"\\f1d9\";\r\n}\r\n.md-brightness-1:before {\r\n content: \"\\f1da\";\r\n}\r\n.md-brightness-2:before {\r\n content: \"\\f1db\";\r\n}\r\n.md-brightness-3:before {\r\n content: \"\\f1dc\";\r\n}\r\n.md-brightness-4:before {\r\n content: \"\\f1dd\";\r\n}\r\n.md-brightness-5:before {\r\n content: \"\\f1de\";\r\n}\r\n.md-brightness-6:before {\r\n content: \"\\f1df\";\r\n}\r\n.md-brightness-7:before {\r\n content: \"\\f1e0\";\r\n}\r\n.md-brush:before {\r\n content: \"\\f1e1\";\r\n}\r\n.md-camera:before {\r\n content: \"\\f1e2\";\r\n}\r\n.md-camera-alt:before {\r\n content: \"\\f1e3\";\r\n}\r\n.md-camera-front:before {\r\n content: \"\\f1e4\";\r\n}\r\n.md-camera-rear:before {\r\n content: \"\\f1e5\";\r\n}\r\n.md-camera-roll:before {\r\n content: \"\\f1e6\";\r\n}\r\n.md-center-focus-strong:before {\r\n content: \"\\f1e7\";\r\n}\r\n.md-center-focus-weak:before {\r\n content: \"\\f1e8\";\r\n}\r\n.md-collections:before {\r\n content: \"\\f1e9\";\r\n}\r\n.md-colorize:before {\r\n content: \"\\f1ea\";\r\n}\r\n.md-color-lens:before {\r\n content: \"\\f1eb\";\r\n}\r\n.md-compare:before {\r\n content: \"\\f1ec\";\r\n}\r\n.md-control-point:before {\r\n content: \"\\f1ed\";\r\n}\r\n.md-control-point-duplicate:before {\r\n content: \"\\f1ee\";\r\n}\r\n.md-crop:before {\r\n content: \"\\f1ef\";\r\n}\r\n.md-crop-3-2:before {\r\n content: \"\\f1f0\";\r\n}\r\n.md-crop-5-4:before {\r\n content: \"\\f1f1\";\r\n}\r\n.md-crop-7-5:before {\r\n content: \"\\f1f2\";\r\n}\r\n.md-crop-16-9:before {\r\n content: \"\\f1f3\";\r\n}\r\n.md-crop-din:before {\r\n content: \"\\f1f4\";\r\n}\r\n.md-crop-free:before {\r\n content: \"\\f1f5\";\r\n}\r\n.md-crop-landscape:before {\r\n content: \"\\f1f6\";\r\n}\r\n.md-crop-original:before {\r\n content: \"\\f1f7\";\r\n}\r\n.md-crop-portrait:before {\r\n content: \"\\f1f8\";\r\n}\r\n.md-crop-square:before {\r\n content: \"\\f1f9\";\r\n}\r\n.md-dehaze:before {\r\n content: \"\\f1fa\";\r\n}\r\n.md-details:before {\r\n content: \"\\f1fb\";\r\n}\r\n.md-edit:before {\r\n content: \"\\f1fc\";\r\n}\r\n.md-exposure:before {\r\n content: \"\\f1fd\";\r\n}\r\n.md-exposure-minus-1:before {\r\n content: \"\\f1fe\";\r\n}\r\n.md-exposure-minus-2:before {\r\n content: \"\\f1ff\";\r\n}\r\n.md-exposure-zero:before {\r\n content: \"\\f200\";\r\n}\r\n.md-exposure-plus-1:before {\r\n content: \"\\f201\";\r\n}\r\n.md-exposure-plus-2:before {\r\n content: \"\\f202\";\r\n}\r\n.md-filter:before {\r\n content: \"\\f203\";\r\n}\r\n.md-filter-1:before {\r\n content: \"\\f204\";\r\n}\r\n.md-filter-2:before {\r\n content: \"\\f205\";\r\n}\r\n.md-filter-3:before {\r\n content: \"\\f206\";\r\n}\r\n.md-filter-4:before {\r\n content: \"\\f207\";\r\n}\r\n.md-filter-5:before {\r\n content: \"\\f208\";\r\n}\r\n.md-filter-6:before {\r\n content: \"\\f209\";\r\n}\r\n.md-filter-7:before {\r\n content: \"\\f20a\";\r\n}\r\n.md-filter-8:before {\r\n content: \"\\f20b\";\r\n}\r\n.md-filter-9:before {\r\n content: \"\\f20c\";\r\n}\r\n.md-filter-9-plus:before {\r\n content: \"\\f20d\";\r\n}\r\n.md-filter-b-and-w:before {\r\n content: \"\\f20e\";\r\n}\r\n.md-filter-center-focus:before {\r\n content: \"\\f20f\";\r\n}\r\n.md-filter-drama:before {\r\n content: \"\\f210\";\r\n}\r\n.md-filter-frames:before {\r\n content: \"\\f211\";\r\n}\r\n.md-filter-hdr:before {\r\n content: \"\\f212\";\r\n}\r\n.md-filter-none:before {\r\n content: \"\\f213\";\r\n}\r\n.md-filter-tilt-shift:before {\r\n content: \"\\f214\";\r\n}\r\n.md-filter-vintage:before {\r\n content: \"\\f215\";\r\n}\r\n.md-flare:before {\r\n content: \"\\f216\";\r\n}\r\n.md-flash-auto:before {\r\n content: \"\\f217\";\r\n}\r\n.md-flash-off:before {\r\n content: \"\\f218\";\r\n}\r\n.md-flash-on:before {\r\n content: \"\\f219\";\r\n}\r\n.md-flip:before {\r\n content: \"\\f21a\";\r\n}\r\n.md-gradient:before {\r\n content: \"\\f21b\";\r\n}\r\n.md-grain:before {\r\n content: \"\\f21c\";\r\n}\r\n.md-grid-off:before {\r\n content: \"\\f21d\";\r\n}\r\n.md-grid-on:before {\r\n content: \"\\f21e\";\r\n}\r\n.md-hdr-off:before {\r\n content: \"\\f21f\";\r\n}\r\n.md-hdr-on:before {\r\n content: \"\\f220\";\r\n}\r\n.md-hdr-strong:before {\r\n content: \"\\f221\";\r\n}\r\n.md-hdr-weak:before {\r\n content: \"\\f222\";\r\n}\r\n.md-healing:before {\r\n content: \"\\f223\";\r\n}\r\n.md-image:before {\r\n content: \"\\f224\";\r\n}\r\n.md-image-aspect-ratio:before {\r\n content: \"\\f225\";\r\n}\r\n.md-iso:before {\r\n content: \"\\f226\";\r\n}\r\n.md-landscape:before {\r\n content: \"\\f227\";\r\n}\r\n.md-leak-add:before {\r\n content: \"\\f228\";\r\n}\r\n.md-leak-remove:before {\r\n content: \"\\f229\";\r\n}\r\n.md-lens:before {\r\n content: \"\\f22a\";\r\n}\r\n.md-looks:before {\r\n content: \"\\f22b\";\r\n}\r\n.md-looks-1:before {\r\n content: \"\\f22c\";\r\n}\r\n.md-looks-2:before {\r\n content: \"\\f22d\";\r\n}\r\n.md-looks-3:before {\r\n content: \"\\f22e\";\r\n}\r\n.md-looks-4:before {\r\n content: \"\\f22f\";\r\n}\r\n.md-looks-5:before {\r\n content: \"\\f230\";\r\n}\r\n.md-looks-6:before {\r\n content: \"\\f231\";\r\n}\r\n.md-loupe:before {\r\n content: \"\\f232\";\r\n}\r\n.md-movie-creation:before {\r\n content: \"\\f233\";\r\n}\r\n.md-nature:before {\r\n content: \"\\f234\";\r\n}\r\n.md-nature-people:before {\r\n content: \"\\f235\";\r\n}\r\n.md-navigate-before:before {\r\n content: \"\\f236\";\r\n}\r\n.md-navigate-next:before {\r\n content: \"\\f237\";\r\n}\r\n.md-palette:before {\r\n content: \"\\f238\";\r\n}\r\n.md-panorama:before {\r\n content: \"\\f239\";\r\n}\r\n.md-panorama-fisheye:before {\r\n content: \"\\f23a\";\r\n}\r\n.md-panorama-horizontal:before {\r\n content: \"\\f23b\";\r\n}\r\n.md-panorama-vertical:before {\r\n content: \"\\f23c\";\r\n}\r\n.md-panorama-wide-angle:before {\r\n content: \"\\f23d\";\r\n}\r\n.md-photo:before {\r\n content: \"\\f23e\";\r\n}\r\n.md-photo-album:before {\r\n content: \"\\f23f\";\r\n}\r\n.md-photo-camera:before {\r\n content: \"\\f240\";\r\n}\r\n.md-photo-library:before {\r\n content: \"\\f241\";\r\n}\r\n.md-portrait:before {\r\n content: \"\\f242\";\r\n}\r\n.md-remove-red-eye:before {\r\n content: \"\\f243\";\r\n}\r\n.md-rotate-left:before {\r\n content: \"\\f244\";\r\n}\r\n.md-rotate-right:before {\r\n content: \"\\f245\";\r\n}\r\n.md-slideshow:before {\r\n content: \"\\f246\";\r\n}\r\n.md-straighten:before {\r\n content: \"\\f247\";\r\n}\r\n.md-style:before {\r\n content: \"\\f248\";\r\n}\r\n.md-switch-camera:before {\r\n content: \"\\f249\";\r\n}\r\n.md-switch-video:before {\r\n content: \"\\f24a\";\r\n}\r\n.md-tag-faces:before {\r\n content: \"\\f24b\";\r\n}\r\n.md-texture:before {\r\n content: \"\\f24c\";\r\n}\r\n.md-timelapse:before {\r\n content: \"\\f24d\";\r\n}\r\n.md-timer:before {\r\n content: \"\\f24e\";\r\n}\r\n.md-timer-3:before {\r\n content: \"\\f24f\";\r\n}\r\n.md-timer-10:before {\r\n content: \"\\f250\";\r\n}\r\n.md-timer-auto:before {\r\n content: \"\\f251\";\r\n}\r\n.md-timer-off:before {\r\n content: \"\\f252\";\r\n}\r\n.md-tonality:before {\r\n content: \"\\f253\";\r\n}\r\n.md-transform:before {\r\n content: \"\\f254\";\r\n}\r\n.md-tune:before {\r\n content: \"\\f255\";\r\n}\r\n.md-wb-auto:before {\r\n content: \"\\f256\";\r\n}\r\n.md-wb-cloudy:before {\r\n content: \"\\f257\";\r\n}\r\n.md-wb-incandescent:before {\r\n content: \"\\f258\";\r\n}\r\n.md-wb-irradescent:before {\r\n content: \"\\f259\";\r\n}\r\n.md-wb-sunny:before {\r\n content: \"\\f25a\";\r\n}\r\n.md-beenhere:before {\r\n content: \"\\f25b\";\r\n}\r\n.md-directions:before {\r\n content: \"\\f25c\";\r\n}\r\n.md-directions-bike:before {\r\n content: \"\\f25d\";\r\n}\r\n.md-directions-bus:before {\r\n content: \"\\f25e\";\r\n}\r\n.md-directions-car:before {\r\n content: \"\\f25f\";\r\n}\r\n.md-directions-ferry:before {\r\n content: \"\\f260\";\r\n}\r\n.md-directions-subway:before {\r\n content: \"\\f261\";\r\n}\r\n.md-directions-train:before {\r\n content: \"\\f262\";\r\n}\r\n.md-directions-transit:before {\r\n content: \"\\f263\";\r\n}\r\n.md-directions-walk:before {\r\n content: \"\\f264\";\r\n}\r\n.md-flight:before {\r\n content: \"\\f265\";\r\n}\r\n.md-hotel:before {\r\n content: \"\\f266\";\r\n}\r\n.md-layers:before {\r\n content: \"\\f267\";\r\n}\r\n.md-layers-clear:before {\r\n content: \"\\f268\";\r\n}\r\n.md-local-airport:before {\r\n content: \"\\f269\";\r\n}\r\n.md-local-atm:before {\r\n content: \"\\f26a\";\r\n}\r\n.md-local-attraction:before {\r\n content: \"\\f26b\";\r\n}\r\n.md-local-bar:before {\r\n content: \"\\f26c\";\r\n}\r\n.md-local-cafe:before {\r\n content: \"\\f26d\";\r\n}\r\n.md-local-car-wash:before {\r\n content: \"\\f26e\";\r\n}\r\n.md-local-convenience-store:before {\r\n content: \"\\f26f\";\r\n}\r\n.md-local-drink:before {\r\n content: \"\\f270\";\r\n}\r\n.md-local-florist:before {\r\n content: \"\\f271\";\r\n}\r\n.md-local-gas-station:before {\r\n content: \"\\f272\";\r\n}\r\n.md-local-grocery-store:before {\r\n content: \"\\f273\";\r\n}\r\n.md-local-hospital:before {\r\n content: \"\\f274\";\r\n}\r\n.md-local-hotel:before {\r\n content: \"\\f275\";\r\n}\r\n.md-local-laundry-service:before {\r\n content: \"\\f276\";\r\n}\r\n.md-local-library:before {\r\n content: \"\\f277\";\r\n}\r\n.md-local-mall:before {\r\n content: \"\\f278\";\r\n}\r\n.md-local-movies:before {\r\n content: \"\\f279\";\r\n}\r\n.md-local-offer:before {\r\n content: \"\\f27a\";\r\n}\r\n.md-local-parking:before {\r\n content: \"\\f27b\";\r\n}\r\n.md-local-pharmacy:before {\r\n content: \"\\f27c\";\r\n}\r\n.md-local-phone:before {\r\n content: \"\\f27d\";\r\n}\r\n.md-local-pizza:before {\r\n content: \"\\f27e\";\r\n}\r\n.md-local-play:before {\r\n content: \"\\f27f\";\r\n}\r\n.md-local-post-office:before {\r\n content: \"\\f280\";\r\n}\r\n.md-local-print-shop:before {\r\n content: \"\\f281\";\r\n}\r\n.md-local-restaurant:before {\r\n content: \"\\f282\";\r\n}\r\n.md-local-see:before {\r\n content: \"\\f283\";\r\n}\r\n.md-local-shipping:before {\r\n content: \"\\f284\";\r\n}\r\n.md-local-taxi:before {\r\n content: \"\\f285\";\r\n}\r\n.md-location-history:before {\r\n content: \"\\f286\";\r\n}\r\n.md-map:before {\r\n content: \"\\f287\";\r\n}\r\n.md-my-location:before {\r\n content: \"\\f288\";\r\n}\r\n.md-navigation:before {\r\n content: \"\\f289\";\r\n}\r\n.md-pin-drop:before {\r\n content: \"\\f28a\";\r\n}\r\n.md-place:before {\r\n content: \"\\f28b\";\r\n}\r\n.md-rate-review:before {\r\n content: \"\\f28c\";\r\n}\r\n.md-restaurant-menu:before {\r\n content: \"\\f28d\";\r\n}\r\n.md-satellite:before {\r\n content: \"\\f28e\";\r\n}\r\n.md-store-mall-directory:before {\r\n content: \"\\f28f\";\r\n}\r\n.md-terrain:before {\r\n content: \"\\f290\";\r\n}\r\n.md-traffic:before {\r\n content: \"\\f291\";\r\n}\r\n.md-apps:before {\r\n content: \"\\f292\";\r\n}\r\n.md-cancel:before {\r\n content: \"\\f293\";\r\n}\r\n.md-arrow-drop-down-circle:before {\r\n content: \"\\f294\";\r\n}\r\n.md-arrow-drop-down:before {\r\n content: \"\\f295\";\r\n}\r\n.md-arrow-drop-up:before {\r\n content: \"\\f296\";\r\n}\r\n.md-arrow-back:before {\r\n content: \"\\f297\";\r\n}\r\n.md-arrow-forward:before {\r\n content: \"\\f298\";\r\n}\r\n.md-check:before {\r\n content: \"\\f299\";\r\n}\r\n.md-close:before {\r\n content: \"\\f29a\";\r\n}\r\n.md-chevron-left:before {\r\n content: \"\\f29b\";\r\n}\r\n.md-chevron-right:before {\r\n content: \"\\f29c\";\r\n}\r\n.md-expand-less:before {\r\n content: \"\\f29d\";\r\n}\r\n.md-expand-more:before {\r\n content: \"\\f29e\";\r\n}\r\n.md-fullscreen:before {\r\n content: \"\\f29f\";\r\n}\r\n.md-fullscreen-exit:before {\r\n content: \"\\f2a0\";\r\n}\r\n.md-menu:before {\r\n content: \"\\f2a1\";\r\n}\r\n.md-more-horiz:before {\r\n content: \"\\f2a2\";\r\n}\r\n.md-more-vert:before {\r\n content: \"\\f2a3\";\r\n}\r\n.md-refresh:before {\r\n content: \"\\f2a4\";\r\n}\r\n.md-unfold-less:before {\r\n content: \"\\f2a5\";\r\n}\r\n.md-unfold-more:before {\r\n content: \"\\f2a6\";\r\n}\r\n.md-adb:before {\r\n content: \"\\f2a7\";\r\n}\r\n.md-bluetooth-audio:before {\r\n content: \"\\f2a8\";\r\n}\r\n.md-disc-full:before {\r\n content: \"\\f2a9\";\r\n}\r\n.md-dnd-forwardslash:before {\r\n content: \"\\f2aa\";\r\n}\r\n.md-do-not-disturb:before {\r\n content: \"\\f2ab\";\r\n}\r\n.md-drive-eta:before {\r\n content: \"\\f2ac\";\r\n}\r\n.md-event-available:before {\r\n content: \"\\f2ad\";\r\n}\r\n.md-event-busy:before {\r\n content: \"\\f2ae\";\r\n}\r\n.md-event-note:before {\r\n content: \"\\f2af\";\r\n}\r\n.md-folder-special:before {\r\n content: \"\\f2b0\";\r\n}\r\n.md-mms:before {\r\n content: \"\\f2b1\";\r\n}\r\n.md-more:before {\r\n content: \"\\f2b2\";\r\n}\r\n.md-network-locked:before {\r\n content: \"\\f2b3\";\r\n}\r\n.md-phone-bluetooth-speaker:before {\r\n content: \"\\f2b4\";\r\n}\r\n.md-phone-forwarded:before {\r\n content: \"\\f2b5\";\r\n}\r\n.md-phone-in-talk:before {\r\n content: \"\\f2b6\";\r\n}\r\n.md-phone-locked:before {\r\n content: \"\\f2b7\";\r\n}\r\n.md-phone-missed:before {\r\n content: \"\\f2b8\";\r\n}\r\n.md-phone-paused:before {\r\n content: \"\\f2b9\";\r\n}\r\n.md-play-download:before {\r\n content: \"\\f2ba\";\r\n}\r\n.md-play-install:before {\r\n content: \"\\f2bb\";\r\n}\r\n.md-sd-card:before {\r\n content: \"\\f2bc\";\r\n}\r\n.md-sim-card-alert:before {\r\n content: \"\\f2bd\";\r\n}\r\n.md-sms:before {\r\n content: \"\\f2be\";\r\n}\r\n.md-sms-failed:before {\r\n content: \"\\f2bf\";\r\n}\r\n.md-sync:before {\r\n content: \"\\f2c0\";\r\n}\r\n.md-sync-disabled:before {\r\n content: \"\\f2c1\";\r\n}\r\n.md-sync-problem:before {\r\n content: \"\\f2c2\";\r\n}\r\n.md-system-update:before {\r\n content: \"\\f2c3\";\r\n}\r\n.md-tap-and-play:before {\r\n content: \"\\f2c4\";\r\n}\r\n.md-time-to-leave:before {\r\n content: \"\\f2c5\";\r\n}\r\n.md-vibration:before {\r\n content: \"\\f2c6\";\r\n}\r\n.md-voice-chat:before {\r\n content: \"\\f2c7\";\r\n}\r\n.md-vpn-lock:before {\r\n content: \"\\f2c8\";\r\n}\r\n.md-cake:before {\r\n content: \"\\f2c9\";\r\n}\r\n.md-domain:before {\r\n content: \"\\f2ca\";\r\n}\r\n.md-location-city:before {\r\n content: \"\\f2cb\";\r\n}\r\n.md-mood:before {\r\n content: \"\\f2cc\";\r\n}\r\n.md-notifications-none:before {\r\n content: \"\\f2cd\";\r\n}\r\n.md-notifications:before {\r\n content: \"\\f2ce\";\r\n}\r\n.md-notifications-off:before {\r\n content: \"\\f2cf\";\r\n}\r\n.md-notifications-on:before {\r\n content: \"\\f2d0\";\r\n}\r\n.md-notifications-paused:before {\r\n content: \"\\f2d1\";\r\n}\r\n.md-pages:before {\r\n content: \"\\f2d2\";\r\n}\r\n.md-party-mode:before {\r\n content: \"\\f2d3\";\r\n}\r\n.md-group:before {\r\n content: \"\\f2d4\";\r\n}\r\n.md-group-add:before {\r\n content: \"\\f2d5\";\r\n}\r\n.md-people:before {\r\n content: \"\\f2d6\";\r\n}\r\n.md-people-outline:before {\r\n content: \"\\f2d7\";\r\n}\r\n.md-person:before {\r\n content: \"\\f2d8\";\r\n}\r\n.md-person-add:before {\r\n content: \"\\f2d9\";\r\n}\r\n.md-person-outline:before {\r\n content: \"\\f2da\";\r\n}\r\n.md-plus-one:before {\r\n content: \"\\f2db\";\r\n}\r\n.md-poll:before {\r\n content: \"\\f2dc\";\r\n}\r\n.md-public:before {\r\n content: \"\\f2dd\";\r\n}\r\n.md-school:before {\r\n content: \"\\f2de\";\r\n}\r\n.md-share:before {\r\n content: \"\\f2df\";\r\n}\r\n.md-whatshot:before {\r\n content: \"\\f2e0\";\r\n}\r\n.md-check-box:before {\r\n content: \"\\f2e1\";\r\n}\r\n.md-check-box-outline-blank:before {\r\n content: \"\\f2e2\";\r\n}\r\n.md-radio-button-off:before {\r\n content: \"\\f2e3\";\r\n}\r\n.md-radio-button-on:before {\r\n content: \"\\f2e4\";\r\n}\r\n.md-star:before {\r\n content: \"\\f2e5\";\r\n}\r\n.md-star-half:before {\r\n content: \"\\f2e6\";\r\n}\r\n.md-star-outline:before {\r\n content: \"\\f2e7\";\r\n}\r\n/*!\r\nIonicons, v1.5.0\r\nCreated by Ben Sperry for the Ionic Framework, http://ionicons.com/\r\nhttps://twitter.com/benjsperry https://twitter.com/ionicframework\r\nMIT License: https://github.com/driftyco/ionicons\r\n*/\r\n@font-face {\r\n font-family: \"Ionicons\";\r\n src: url(\"../fonts/ionicons.eot?v=1.5.0\");\r\n src: url(\"../fonts/ionicons.eot?v=1.5.0#iefix\") format(\"embedded-opentype\"), url(\"../fonts/ionicons.ttf?v=1.5.0\") format(\"truetype\"), url(\"../fonts/ionicons.woff?v=1.5.0\") format(\"woff\"), url(\"../fonts/ionicons.svg?v=1.5.0#Ionicons\") format(\"svg\");\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.ion,\r\n.ion-loading-a,\r\n.ion-loading-b,\r\n.ion-loading-c,\r\n.ion-loading-d,\r\n.ion-looping,\r\n.ion-refreshing,\r\n.ion-ios7-reloading,\r\n.ionicons,\r\n.ion-alert,\r\n.ion-alert-circled,\r\n.ion-android-add,\r\n.ion-android-add-contact,\r\n.ion-android-alarm,\r\n.ion-android-archive,\r\n.ion-android-arrow-back,\r\n.ion-android-arrow-down-left,\r\n.ion-android-arrow-down-right,\r\n.ion-android-arrow-forward,\r\n.ion-android-arrow-up-left,\r\n.ion-android-arrow-up-right,\r\n.ion-android-battery,\r\n.ion-android-book,\r\n.ion-android-calendar,\r\n.ion-android-call,\r\n.ion-android-camera,\r\n.ion-android-chat,\r\n.ion-android-checkmark,\r\n.ion-android-clock,\r\n.ion-android-close,\r\n.ion-android-contact,\r\n.ion-android-contacts,\r\n.ion-android-data,\r\n.ion-android-developer,\r\n.ion-android-display,\r\n.ion-android-download,\r\n.ion-android-drawer,\r\n.ion-android-dropdown,\r\n.ion-android-earth,\r\n.ion-android-folder,\r\n.ion-android-forums,\r\n.ion-android-friends,\r\n.ion-android-hand,\r\n.ion-android-image,\r\n.ion-android-inbox,\r\n.ion-android-information,\r\n.ion-android-keypad,\r\n.ion-android-lightbulb,\r\n.ion-android-locate,\r\n.ion-android-location,\r\n.ion-android-mail,\r\n.ion-android-microphone,\r\n.ion-android-mixer,\r\n.ion-android-more,\r\n.ion-android-note,\r\n.ion-android-playstore,\r\n.ion-android-printer,\r\n.ion-android-promotion,\r\n.ion-android-reminder,\r\n.ion-android-remove,\r\n.ion-android-search,\r\n.ion-android-send,\r\n.ion-android-settings,\r\n.ion-android-share,\r\n.ion-android-social,\r\n.ion-android-social-user,\r\n.ion-android-sort,\r\n.ion-android-stair-drawer,\r\n.ion-android-star,\r\n.ion-android-stopwatch,\r\n.ion-android-storage,\r\n.ion-android-system-back,\r\n.ion-android-system-home,\r\n.ion-android-system-windows,\r\n.ion-android-timer,\r\n.ion-android-trash,\r\n.ion-android-user-menu,\r\n.ion-android-volume,\r\n.ion-android-wifi,\r\n.ion-aperture,\r\n.ion-archive,\r\n.ion-arrow-down-a,\r\n.ion-arrow-down-b,\r\n.ion-arrow-down-c,\r\n.ion-arrow-expand,\r\n.ion-arrow-graph-down-left,\r\n.ion-arrow-graph-down-right,\r\n.ion-arrow-graph-up-left,\r\n.ion-arrow-graph-up-right,\r\n.ion-arrow-left-a,\r\n.ion-arrow-left-b,\r\n.ion-arrow-left-c,\r\n.ion-arrow-move,\r\n.ion-arrow-resize,\r\n.ion-arrow-return-left,\r\n.ion-arrow-return-right,\r\n.ion-arrow-right-a,\r\n.ion-arrow-right-b,\r\n.ion-arrow-right-c,\r\n.ion-arrow-shrink,\r\n.ion-arrow-swap,\r\n.ion-arrow-up-a,\r\n.ion-arrow-up-b,\r\n.ion-arrow-up-c,\r\n.ion-asterisk,\r\n.ion-at,\r\n.ion-bag,\r\n.ion-battery-charging,\r\n.ion-battery-empty,\r\n.ion-battery-full,\r\n.ion-battery-half,\r\n.ion-battery-low,\r\n.ion-beaker,\r\n.ion-beer,\r\n.ion-bluetooth,\r\n.ion-bonfire,\r\n.ion-bookmark,\r\n.ion-briefcase,\r\n.ion-bug,\r\n.ion-calculator,\r\n.ion-calendar,\r\n.ion-camera,\r\n.ion-card,\r\n.ion-cash,\r\n.ion-chatbox,\r\n.ion-chatbox-working,\r\n.ion-chatboxes,\r\n.ion-chatbubble,\r\n.ion-chatbubble-working,\r\n.ion-chatbubbles,\r\n.ion-checkmark,\r\n.ion-checkmark-circled,\r\n.ion-checkmark-round,\r\n.ion-chevron-down,\r\n.ion-chevron-left,\r\n.ion-chevron-right,\r\n.ion-chevron-up,\r\n.ion-clipboard,\r\n.ion-clock,\r\n.ion-close,\r\n.ion-close-circled,\r\n.ion-close-round,\r\n.ion-closed-captioning,\r\n.ion-cloud,\r\n.ion-code,\r\n.ion-code-download,\r\n.ion-code-working,\r\n.ion-coffee,\r\n.ion-compass,\r\n.ion-compose,\r\n.ion-connection-bars,\r\n.ion-contrast,\r\n.ion-cube,\r\n.ion-disc,\r\n.ion-document,\r\n.ion-document-text,\r\n.ion-drag,\r\n.ion-earth,\r\n.ion-edit,\r\n.ion-egg,\r\n.ion-eject,\r\n.ion-email,\r\n.ion-eye,\r\n.ion-eye-disabled,\r\n.ion-female,\r\n.ion-filing,\r\n.ion-film-marker,\r\n.ion-fireball,\r\n.ion-flag,\r\n.ion-flame,\r\n.ion-flash,\r\n.ion-flash-off,\r\n.ion-flask,\r\n.ion-folder,\r\n.ion-fork,\r\n.ion-fork-repo,\r\n.ion-forward,\r\n.ion-funnel,\r\n.ion-game-controller-a,\r\n.ion-game-controller-b,\r\n.ion-gear-a,\r\n.ion-gear-b,\r\n.ion-grid,\r\n.ion-hammer,\r\n.ion-happy,\r\n.ion-headphone,\r\n.ion-heart,\r\n.ion-heart-broken,\r\n.ion-help,\r\n.ion-help-buoy,\r\n.ion-help-circled,\r\n.ion-home,\r\n.ion-icecream,\r\n.ion-icon-social-google-plus,\r\n.ion-icon-social-google-plus-outline,\r\n.ion-image,\r\n.ion-images,\r\n.ion-information,\r\n.ion-information-circled,\r\n.ion-ionic,\r\n.ion-ios7-alarm,\r\n.ion-ios7-alarm-outline,\r\n.ion-ios7-albums,\r\n.ion-ios7-albums-outline,\r\n.ion-ios7-americanfootball,\r\n.ion-ios7-americanfootball-outline,\r\n.ion-ios7-analytics,\r\n.ion-ios7-analytics-outline,\r\n.ion-ios7-arrow-back,\r\n.ion-ios7-arrow-down,\r\n.ion-ios7-arrow-forward,\r\n.ion-ios7-arrow-left,\r\n.ion-ios7-arrow-right,\r\n.ion-ios7-arrow-thin-down,\r\n.ion-ios7-arrow-thin-left,\r\n.ion-ios7-arrow-thin-right,\r\n.ion-ios7-arrow-thin-up,\r\n.ion-ios7-arrow-up,\r\n.ion-ios7-at,\r\n.ion-ios7-at-outline,\r\n.ion-ios7-barcode,\r\n.ion-ios7-barcode-outline,\r\n.ion-ios7-baseball,\r\n.ion-ios7-baseball-outline,\r\n.ion-ios7-basketball,\r\n.ion-ios7-basketball-outline,\r\n.ion-ios7-bell,\r\n.ion-ios7-bell-outline,\r\n.ion-ios7-bolt,\r\n.ion-ios7-bolt-outline,\r\n.ion-ios7-bookmarks,\r\n.ion-ios7-bookmarks-outline,\r\n.ion-ios7-box,\r\n.ion-ios7-box-outline,\r\n.ion-ios7-briefcase,\r\n.ion-ios7-briefcase-outline,\r\n.ion-ios7-browsers,\r\n.ion-ios7-browsers-outline,\r\n.ion-ios7-calculator,\r\n.ion-ios7-calculator-outline,\r\n.ion-ios7-calendar,\r\n.ion-ios7-calendar-outline,\r\n.ion-ios7-camera,\r\n.ion-ios7-camera-outline,\r\n.ion-ios7-cart,\r\n.ion-ios7-cart-outline,\r\n.ion-ios7-chatboxes,\r\n.ion-ios7-chatboxes-outline,\r\n.ion-ios7-chatbubble,\r\n.ion-ios7-chatbubble-outline,\r\n.ion-ios7-checkmark,\r\n.ion-ios7-checkmark-empty,\r\n.ion-ios7-checkmark-outline,\r\n.ion-ios7-circle-filled,\r\n.ion-ios7-circle-outline,\r\n.ion-ios7-clock,\r\n.ion-ios7-clock-outline,\r\n.ion-ios7-close,\r\n.ion-ios7-close-empty,\r\n.ion-ios7-close-outline,\r\n.ion-ios7-cloud,\r\n.ion-ios7-cloud-download,\r\n.ion-ios7-cloud-download-outline,\r\n.ion-ios7-cloud-outline,\r\n.ion-ios7-cloud-upload,\r\n.ion-ios7-cloud-upload-outline,\r\n.ion-ios7-cloudy,\r\n.ion-ios7-cloudy-night,\r\n.ion-ios7-cloudy-night-outline,\r\n.ion-ios7-cloudy-outline,\r\n.ion-ios7-cog,\r\n.ion-ios7-cog-outline,\r\n.ion-ios7-compose,\r\n.ion-ios7-compose-outline,\r\n.ion-ios7-contact,\r\n.ion-ios7-contact-outline,\r\n.ion-ios7-copy,\r\n.ion-ios7-copy-outline,\r\n.ion-ios7-download,\r\n.ion-ios7-download-outline,\r\n.ion-ios7-drag,\r\n.ion-ios7-email,\r\n.ion-ios7-email-outline,\r\n.ion-ios7-expand,\r\n.ion-ios7-eye,\r\n.ion-ios7-eye-outline,\r\n.ion-ios7-fastforward,\r\n.ion-ios7-fastforward-outline,\r\n.ion-ios7-filing,\r\n.ion-ios7-filing-outline,\r\n.ion-ios7-film,\r\n.ion-ios7-film-outline,\r\n.ion-ios7-flag,\r\n.ion-ios7-flag-outline,\r\n.ion-ios7-folder,\r\n.ion-ios7-folder-outline,\r\n.ion-ios7-football,\r\n.ion-ios7-football-outline,\r\n.ion-ios7-gear,\r\n.ion-ios7-gear-outline,\r\n.ion-ios7-glasses,\r\n.ion-ios7-glasses-outline,\r\n.ion-ios7-heart,\r\n.ion-ios7-heart-outline,\r\n.ion-ios7-help,\r\n.ion-ios7-help-empty,\r\n.ion-ios7-help-outline,\r\n.ion-ios7-home,\r\n.ion-ios7-home-outline,\r\n.ion-ios7-infinite,\r\n.ion-ios7-infinite-outline,\r\n.ion-ios7-information,\r\n.ion-ios7-information-empty,\r\n.ion-ios7-information-outline,\r\n.ion-ios7-ionic-outline,\r\n.ion-ios7-keypad,\r\n.ion-ios7-keypad-outline,\r\n.ion-ios7-lightbulb,\r\n.ion-ios7-lightbulb-outline,\r\n.ion-ios7-location,\r\n.ion-ios7-location-outline,\r\n.ion-ios7-locked,\r\n.ion-ios7-locked-outline,\r\n.ion-ios7-loop,\r\n.ion-ios7-loop-strong,\r\n.ion-ios7-medkit,\r\n.ion-ios7-medkit-outline,\r\n.ion-ios7-mic,\r\n.ion-ios7-mic-off,\r\n.ion-ios7-mic-outline,\r\n.ion-ios7-minus,\r\n.ion-ios7-minus-empty,\r\n.ion-ios7-minus-outline,\r\n.ion-ios7-monitor,\r\n.ion-ios7-monitor-outline,\r\n.ion-ios7-moon,\r\n.ion-ios7-moon-outline,\r\n.ion-ios7-more,\r\n.ion-ios7-more-outline,\r\n.ion-ios7-musical-note,\r\n.ion-ios7-musical-notes,\r\n.ion-ios7-navigate,\r\n.ion-ios7-navigate-outline,\r\n.ion-ios7-paper,\r\n.ion-ios7-paper-outline,\r\n.ion-ios7-paperplane,\r\n.ion-ios7-paperplane-outline,\r\n.ion-ios7-partlysunny,\r\n.ion-ios7-partlysunny-outline,\r\n.ion-ios7-pause,\r\n.ion-ios7-pause-outline,\r\n.ion-ios7-paw,\r\n.ion-ios7-paw-outline,\r\n.ion-ios7-people,\r\n.ion-ios7-people-outline,\r\n.ion-ios7-person,\r\n.ion-ios7-person-outline,\r\n.ion-ios7-personadd,\r\n.ion-ios7-personadd-outline,\r\n.ion-ios7-photos,\r\n.ion-ios7-photos-outline,\r\n.ion-ios7-pie,\r\n.ion-ios7-pie-outline,\r\n.ion-ios7-play,\r\n.ion-ios7-play-outline,\r\n.ion-ios7-plus,\r\n.ion-ios7-plus-empty,\r\n.ion-ios7-plus-outline,\r\n.ion-ios7-pricetag,\r\n.ion-ios7-pricetag-outline,\r\n.ion-ios7-pricetags,\r\n.ion-ios7-pricetags-outline,\r\n.ion-ios7-printer,\r\n.ion-ios7-printer-outline,\r\n.ion-ios7-pulse,\r\n.ion-ios7-pulse-strong,\r\n.ion-ios7-rainy,\r\n.ion-ios7-rainy-outline,\r\n.ion-ios7-recording,\r\n.ion-ios7-recording-outline,\r\n.ion-ios7-redo,\r\n.ion-ios7-redo-outline,\r\n.ion-ios7-refresh,\r\n.ion-ios7-refresh-empty,\r\n.ion-ios7-refresh-outline,\r\n.ion-ios7-reload,\r\n.ion-ios7-reverse-camera,\r\n.ion-ios7-reverse-camera-outline,\r\n.ion-ios7-rewind,\r\n.ion-ios7-rewind-outline,\r\n.ion-ios7-search,\r\n.ion-ios7-search-strong,\r\n.ion-ios7-settings,\r\n.ion-ios7-settings-strong,\r\n.ion-ios7-shrink,\r\n.ion-ios7-skipbackward,\r\n.ion-ios7-skipbackward-outline,\r\n.ion-ios7-skipforward,\r\n.ion-ios7-skipforward-outline,\r\n.ion-ios7-snowy,\r\n.ion-ios7-speedometer,\r\n.ion-ios7-speedometer-outline,\r\n.ion-ios7-star,\r\n.ion-ios7-star-half,\r\n.ion-ios7-star-outline,\r\n.ion-ios7-stopwatch,\r\n.ion-ios7-stopwatch-outline,\r\n.ion-ios7-sunny,\r\n.ion-ios7-sunny-outline,\r\n.ion-ios7-telephone,\r\n.ion-ios7-telephone-outline,\r\n.ion-ios7-tennisball,\r\n.ion-ios7-tennisball-outline,\r\n.ion-ios7-thunderstorm,\r\n.ion-ios7-thunderstorm-outline,\r\n.ion-ios7-time,\r\n.ion-ios7-time-outline,\r\n.ion-ios7-timer,\r\n.ion-ios7-timer-outline,\r\n.ion-ios7-toggle,\r\n.ion-ios7-toggle-outline,\r\n.ion-ios7-trash,\r\n.ion-ios7-trash-outline,\r\n.ion-ios7-undo,\r\n.ion-ios7-undo-outline,\r\n.ion-ios7-unlocked,\r\n.ion-ios7-unlocked-outline,\r\n.ion-ios7-upload,\r\n.ion-ios7-upload-outline,\r\n.ion-ios7-videocam,\r\n.ion-ios7-videocam-outline,\r\n.ion-ios7-volume-high,\r\n.ion-ios7-volume-low,\r\n.ion-ios7-wineglass,\r\n.ion-ios7-wineglass-outline,\r\n.ion-ios7-world,\r\n.ion-ios7-world-outline,\r\n.ion-ipad,\r\n.ion-iphone,\r\n.ion-ipod,\r\n.ion-jet,\r\n.ion-key,\r\n.ion-knife,\r\n.ion-laptop,\r\n.ion-leaf,\r\n.ion-levels,\r\n.ion-lightbulb,\r\n.ion-link,\r\n.ion-load-a,\r\n.ion-load-b,\r\n.ion-load-c,\r\n.ion-load-d,\r\n.ion-location,\r\n.ion-locked,\r\n.ion-log-in,\r\n.ion-log-out,\r\n.ion-loop,\r\n.ion-magnet,\r\n.ion-male,\r\n.ion-man,\r\n.ion-map,\r\n.ion-medkit,\r\n.ion-merge,\r\n.ion-mic-a,\r\n.ion-mic-b,\r\n.ion-mic-c,\r\n.ion-minus,\r\n.ion-minus-circled,\r\n.ion-minus-round,\r\n.ion-model-s,\r\n.ion-monitor,\r\n.ion-more,\r\n.ion-mouse,\r\n.ion-music-note,\r\n.ion-navicon,\r\n.ion-navicon-round,\r\n.ion-navigate,\r\n.ion-network,\r\n.ion-no-smoking,\r\n.ion-nuclear,\r\n.ion-outlet,\r\n.ion-paper-airplane,\r\n.ion-paperclip,\r\n.ion-pause,\r\n.ion-person,\r\n.ion-person-add,\r\n.ion-person-stalker,\r\n.ion-pie-graph,\r\n.ion-pin,\r\n.ion-pinpoint,\r\n.ion-pizza,\r\n.ion-plane,\r\n.ion-planet,\r\n.ion-play,\r\n.ion-playstation,\r\n.ion-plus,\r\n.ion-plus-circled,\r\n.ion-plus-round,\r\n.ion-podium,\r\n.ion-pound,\r\n.ion-power,\r\n.ion-pricetag,\r\n.ion-pricetags,\r\n.ion-printer,\r\n.ion-pull-request,\r\n.ion-qr-scanner,\r\n.ion-quote,\r\n.ion-radio-waves,\r\n.ion-record,\r\n.ion-refresh,\r\n.ion-reply,\r\n.ion-reply-all,\r\n.ion-ribbon-a,\r\n.ion-ribbon-b,\r\n.ion-sad,\r\n.ion-scissors,\r\n.ion-search,\r\n.ion-settings,\r\n.ion-share,\r\n.ion-shuffle,\r\n.ion-skip-backward,\r\n.ion-skip-forward,\r\n.ion-social-android,\r\n.ion-social-android-outline,\r\n.ion-social-apple,\r\n.ion-social-apple-outline,\r\n.ion-social-bitcoin,\r\n.ion-social-bitcoin-outline,\r\n.ion-social-buffer,\r\n.ion-social-buffer-outline,\r\n.ion-social-designernews,\r\n.ion-social-designernews-outline,\r\n.ion-social-dribbble,\r\n.ion-social-dribbble-outline,\r\n.ion-social-dropbox,\r\n.ion-social-dropbox-outline,\r\n.ion-social-facebook,\r\n.ion-social-facebook-outline,\r\n.ion-social-foursquare,\r\n.ion-social-foursquare-outline,\r\n.ion-social-freebsd-devil,\r\n.ion-social-github,\r\n.ion-social-github-outline,\r\n.ion-social-google,\r\n.ion-social-google-outline,\r\n.ion-social-googleplus,\r\n.ion-social-googleplus-outline,\r\n.ion-social-hackernews,\r\n.ion-social-hackernews-outline,\r\n.ion-social-instagram,\r\n.ion-social-instagram-outline,\r\n.ion-social-linkedin,\r\n.ion-social-linkedin-outline,\r\n.ion-social-pinterest,\r\n.ion-social-pinterest-outline,\r\n.ion-social-reddit,\r\n.ion-social-reddit-outline,\r\n.ion-social-rss,\r\n.ion-social-rss-outline,\r\n.ion-social-skype,\r\n.ion-social-skype-outline,\r\n.ion-social-tumblr,\r\n.ion-social-tumblr-outline,\r\n.ion-social-tux,\r\n.ion-social-twitter,\r\n.ion-social-twitter-outline,\r\n.ion-social-usd,\r\n.ion-social-usd-outline,\r\n.ion-social-vimeo,\r\n.ion-social-vimeo-outline,\r\n.ion-social-windows,\r\n.ion-social-windows-outline,\r\n.ion-social-wordpress,\r\n.ion-social-wordpress-outline,\r\n.ion-social-yahoo,\r\n.ion-social-yahoo-outline,\r\n.ion-social-youtube,\r\n.ion-social-youtube-outline,\r\n.ion-speakerphone,\r\n.ion-speedometer,\r\n.ion-spoon,\r\n.ion-star,\r\n.ion-stats-bars,\r\n.ion-steam,\r\n.ion-stop,\r\n.ion-thermometer,\r\n.ion-thumbsdown,\r\n.ion-thumbsup,\r\n.ion-toggle,\r\n.ion-toggle-filled,\r\n.ion-trash-a,\r\n.ion-trash-b,\r\n.ion-trophy,\r\n.ion-umbrella,\r\n.ion-university,\r\n.ion-unlocked,\r\n.ion-upload,\r\n.ion-usb,\r\n.ion-videocamera,\r\n.ion-volume-high,\r\n.ion-volume-low,\r\n.ion-volume-medium,\r\n.ion-volume-mute,\r\n.ion-wand,\r\n.ion-waterdrop,\r\n.ion-wifi,\r\n.ion-wineglass,\r\n.ion-woman,\r\n.ion-wrench,\r\n.ion-xbox {\r\n display: inline-block;\r\n font-family: \"Ionicons\";\r\n speak: none;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n text-rendering: auto;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.ion-spin,\r\n.ion-loading-a,\r\n.ion-loading-b,\r\n.ion-loading-c,\r\n.ion-loading-d,\r\n.ion-looping,\r\n.ion-refreshing,\r\n.ion-ios7-reloading {\r\n animation: spin 1s infinite linear;\r\n}\r\n@keyframes spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(359deg);\r\n }\r\n}\r\n.ion-loading-a {\r\n animation-timing-function: steps(8, start);\r\n}\r\n.ion-alert:before {\r\n content: \"\\f101\";\r\n}\r\n.ion-alert-circled:before {\r\n content: \"\\f100\";\r\n}\r\n.ion-android-add:before {\r\n content: \"\\f2c7\";\r\n}\r\n.ion-android-add-contact:before {\r\n content: \"\\f2c6\";\r\n}\r\n.ion-android-alarm:before {\r\n content: \"\\f2c8\";\r\n}\r\n.ion-android-archive:before {\r\n content: \"\\f2c9\";\r\n}\r\n.ion-android-arrow-back:before {\r\n content: \"\\f2ca\";\r\n}\r\n.ion-android-arrow-down-left:before {\r\n content: \"\\f2cb\";\r\n}\r\n.ion-android-arrow-down-right:before {\r\n content: \"\\f2cc\";\r\n}\r\n.ion-android-arrow-forward:before {\r\n content: \"\\f30f\";\r\n}\r\n.ion-android-arrow-up-left:before {\r\n content: \"\\f2cd\";\r\n}\r\n.ion-android-arrow-up-right:before {\r\n content: \"\\f2ce\";\r\n}\r\n.ion-android-battery:before {\r\n content: \"\\f2cf\";\r\n}\r\n.ion-android-book:before {\r\n content: \"\\f2d0\";\r\n}\r\n.ion-android-calendar:before {\r\n content: \"\\f2d1\";\r\n}\r\n.ion-android-call:before {\r\n content: \"\\f2d2\";\r\n}\r\n.ion-android-camera:before {\r\n content: \"\\f2d3\";\r\n}\r\n.ion-android-chat:before {\r\n content: \"\\f2d4\";\r\n}\r\n.ion-android-checkmark:before {\r\n content: \"\\f2d5\";\r\n}\r\n.ion-android-clock:before {\r\n content: \"\\f2d6\";\r\n}\r\n.ion-android-close:before {\r\n content: \"\\f2d7\";\r\n}\r\n.ion-android-contact:before {\r\n content: \"\\f2d8\";\r\n}\r\n.ion-android-contacts:before {\r\n content: \"\\f2d9\";\r\n}\r\n.ion-android-data:before {\r\n content: \"\\f2da\";\r\n}\r\n.ion-android-developer:before {\r\n content: \"\\f2db\";\r\n}\r\n.ion-android-display:before {\r\n content: \"\\f2dc\";\r\n}\r\n.ion-android-download:before {\r\n content: \"\\f2dd\";\r\n}\r\n.ion-android-drawer:before {\r\n content: \"\\f310\";\r\n}\r\n.ion-android-dropdown:before {\r\n content: \"\\f2de\";\r\n}\r\n.ion-android-earth:before {\r\n content: \"\\f2df\";\r\n}\r\n.ion-android-folder:before {\r\n content: \"\\f2e0\";\r\n}\r\n.ion-android-forums:before {\r\n content: \"\\f2e1\";\r\n}\r\n.ion-android-friends:before {\r\n content: \"\\f2e2\";\r\n}\r\n.ion-android-hand:before {\r\n content: \"\\f2e3\";\r\n}\r\n.ion-android-image:before {\r\n content: \"\\f2e4\";\r\n}\r\n.ion-android-inbox:before {\r\n content: \"\\f2e5\";\r\n}\r\n.ion-android-information:before {\r\n content: \"\\f2e6\";\r\n}\r\n.ion-android-keypad:before {\r\n content: \"\\f2e7\";\r\n}\r\n.ion-android-lightbulb:before {\r\n content: \"\\f2e8\";\r\n}\r\n.ion-android-locate:before {\r\n content: \"\\f2e9\";\r\n}\r\n.ion-android-location:before {\r\n content: \"\\f2ea\";\r\n}\r\n.ion-android-mail:before {\r\n content: \"\\f2eb\";\r\n}\r\n.ion-android-microphone:before {\r\n content: \"\\f2ec\";\r\n}\r\n.ion-android-mixer:before {\r\n content: \"\\f2ed\";\r\n}\r\n.ion-android-more:before {\r\n content: \"\\f2ee\";\r\n}\r\n.ion-android-note:before {\r\n content: \"\\f2ef\";\r\n}\r\n.ion-android-playstore:before {\r\n content: \"\\f2f0\";\r\n}\r\n.ion-android-printer:before {\r\n content: \"\\f2f1\";\r\n}\r\n.ion-android-promotion:before {\r\n content: \"\\f2f2\";\r\n}\r\n.ion-android-reminder:before {\r\n content: \"\\f2f3\";\r\n}\r\n.ion-android-remove:before {\r\n content: \"\\f2f4\";\r\n}\r\n.ion-android-search:before {\r\n content: \"\\f2f5\";\r\n}\r\n.ion-android-send:before {\r\n content: \"\\f2f6\";\r\n}\r\n.ion-android-settings:before {\r\n content: \"\\f2f7\";\r\n}\r\n.ion-android-share:before {\r\n content: \"\\f2f8\";\r\n}\r\n.ion-android-social:before {\r\n content: \"\\f2fa\";\r\n}\r\n.ion-android-social-user:before {\r\n content: \"\\f2f9\";\r\n}\r\n.ion-android-sort:before {\r\n content: \"\\f2fb\";\r\n}\r\n.ion-android-stair-drawer:before {\r\n content: \"\\f311\";\r\n}\r\n.ion-android-star:before {\r\n content: \"\\f2fc\";\r\n}\r\n.ion-android-stopwatch:before {\r\n content: \"\\f2fd\";\r\n}\r\n.ion-android-storage:before {\r\n content: \"\\f2fe\";\r\n}\r\n.ion-android-system-back:before {\r\n content: \"\\f2ff\";\r\n}\r\n.ion-android-system-home:before {\r\n content: \"\\f300\";\r\n}\r\n.ion-android-system-windows:before {\r\n content: \"\\f301\";\r\n}\r\n.ion-android-timer:before {\r\n content: \"\\f302\";\r\n}\r\n.ion-android-trash:before {\r\n content: \"\\f303\";\r\n}\r\n.ion-android-user-menu:before {\r\n content: \"\\f312\";\r\n}\r\n.ion-android-volume:before {\r\n content: \"\\f304\";\r\n}\r\n.ion-android-wifi:before {\r\n content: \"\\f305\";\r\n}\r\n.ion-aperture:before {\r\n content: \"\\f313\";\r\n}\r\n.ion-archive:before {\r\n content: \"\\f102\";\r\n}\r\n.ion-arrow-down-a:before {\r\n content: \"\\f103\";\r\n}\r\n.ion-arrow-down-b:before {\r\n content: \"\\f104\";\r\n}\r\n.ion-arrow-down-c:before {\r\n content: \"\\f105\";\r\n}\r\n.ion-arrow-expand:before {\r\n content: \"\\f25e\";\r\n}\r\n.ion-arrow-graph-down-left:before {\r\n content: \"\\f25f\";\r\n}\r\n.ion-arrow-graph-down-right:before {\r\n content: \"\\f260\";\r\n}\r\n.ion-arrow-graph-up-left:before {\r\n content: \"\\f261\";\r\n}\r\n.ion-arrow-graph-up-right:before {\r\n content: \"\\f262\";\r\n}\r\n.ion-arrow-left-a:before {\r\n content: \"\\f106\";\r\n}\r\n.ion-arrow-left-b:before {\r\n content: \"\\f107\";\r\n}\r\n.ion-arrow-left-c:before {\r\n content: \"\\f108\";\r\n}\r\n.ion-arrow-move:before {\r\n content: \"\\f263\";\r\n}\r\n.ion-arrow-resize:before {\r\n content: \"\\f264\";\r\n}\r\n.ion-arrow-return-left:before {\r\n content: \"\\f265\";\r\n}\r\n.ion-arrow-return-right:before {\r\n content: \"\\f266\";\r\n}\r\n.ion-arrow-right-a:before {\r\n content: \"\\f109\";\r\n}\r\n.ion-arrow-right-b:before {\r\n content: \"\\f10a\";\r\n}\r\n.ion-arrow-right-c:before {\r\n content: \"\\f10b\";\r\n}\r\n.ion-arrow-shrink:before {\r\n content: \"\\f267\";\r\n}\r\n.ion-arrow-swap:before {\r\n content: \"\\f268\";\r\n}\r\n.ion-arrow-up-a:before {\r\n content: \"\\f10c\";\r\n}\r\n.ion-arrow-up-b:before {\r\n content: \"\\f10d\";\r\n}\r\n.ion-arrow-up-c:before {\r\n content: \"\\f10e\";\r\n}\r\n.ion-asterisk:before {\r\n content: \"\\f314\";\r\n}\r\n.ion-at:before {\r\n content: \"\\f10f\";\r\n}\r\n.ion-bag:before {\r\n content: \"\\f110\";\r\n}\r\n.ion-battery-charging:before {\r\n content: \"\\f111\";\r\n}\r\n.ion-battery-empty:before {\r\n content: \"\\f112\";\r\n}\r\n.ion-battery-full:before {\r\n content: \"\\f113\";\r\n}\r\n.ion-battery-half:before {\r\n content: \"\\f114\";\r\n}\r\n.ion-battery-low:before {\r\n content: \"\\f115\";\r\n}\r\n.ion-beaker:before {\r\n content: \"\\f269\";\r\n}\r\n.ion-beer:before {\r\n content: \"\\f26a\";\r\n}\r\n.ion-bluetooth:before {\r\n content: \"\\f116\";\r\n}\r\n.ion-bonfire:before {\r\n content: \"\\f315\";\r\n}\r\n.ion-bookmark:before {\r\n content: \"\\f26b\";\r\n}\r\n.ion-briefcase:before {\r\n content: \"\\f26c\";\r\n}\r\n.ion-bug:before {\r\n content: \"\\f2be\";\r\n}\r\n.ion-calculator:before {\r\n content: \"\\f26d\";\r\n}\r\n.ion-calendar:before {\r\n content: \"\\f117\";\r\n}\r\n.ion-camera:before {\r\n content: \"\\f118\";\r\n}\r\n.ion-card:before {\r\n content: \"\\f119\";\r\n}\r\n.ion-cash:before {\r\n content: \"\\f316\";\r\n}\r\n.ion-chatbox:before {\r\n content: \"\\f11b\";\r\n}\r\n.ion-chatbox-working:before {\r\n content: \"\\f11a\";\r\n}\r\n.ion-chatboxes:before {\r\n content: \"\\f11c\";\r\n}\r\n.ion-chatbubble:before {\r\n content: \"\\f11e\";\r\n}\r\n.ion-chatbubble-working:before {\r\n content: \"\\f11d\";\r\n}\r\n.ion-chatbubbles:before {\r\n content: \"\\f11f\";\r\n}\r\n.ion-checkmark:before {\r\n content: \"\\f122\";\r\n}\r\n.ion-checkmark-circled:before {\r\n content: \"\\f120\";\r\n}\r\n.ion-checkmark-round:before {\r\n content: \"\\f121\";\r\n}\r\n.ion-chevron-down:before {\r\n content: \"\\f123\";\r\n}\r\n.ion-chevron-left:before {\r\n content: \"\\f124\";\r\n}\r\n.ion-chevron-right:before {\r\n content: \"\\f125\";\r\n}\r\n.ion-chevron-up:before {\r\n content: \"\\f126\";\r\n}\r\n.ion-clipboard:before {\r\n content: \"\\f127\";\r\n}\r\n.ion-clock:before {\r\n content: \"\\f26e\";\r\n}\r\n.ion-close:before {\r\n content: \"\\f12a\";\r\n}\r\n.ion-close-circled:before {\r\n content: \"\\f128\";\r\n}\r\n.ion-close-round:before {\r\n content: \"\\f129\";\r\n}\r\n.ion-closed-captioning:before {\r\n content: \"\\f317\";\r\n}\r\n.ion-cloud:before {\r\n content: \"\\f12b\";\r\n}\r\n.ion-code:before {\r\n content: \"\\f271\";\r\n}\r\n.ion-code-download:before {\r\n content: \"\\f26f\";\r\n}\r\n.ion-code-working:before {\r\n content: \"\\f270\";\r\n}\r\n.ion-coffee:before {\r\n content: \"\\f272\";\r\n}\r\n.ion-compass:before {\r\n content: \"\\f273\";\r\n}\r\n.ion-compose:before {\r\n content: \"\\f12c\";\r\n}\r\n.ion-connection-bars:before {\r\n content: \"\\f274\";\r\n}\r\n.ion-contrast:before {\r\n content: \"\\f275\";\r\n}\r\n.ion-cube:before {\r\n content: \"\\f318\";\r\n}\r\n.ion-disc:before {\r\n content: \"\\f12d\";\r\n}\r\n.ion-document:before {\r\n content: \"\\f12f\";\r\n}\r\n.ion-document-text:before {\r\n content: \"\\f12e\";\r\n}\r\n.ion-drag:before {\r\n content: \"\\f130\";\r\n}\r\n.ion-earth:before {\r\n content: \"\\f276\";\r\n}\r\n.ion-edit:before {\r\n content: \"\\f2bf\";\r\n}\r\n.ion-egg:before {\r\n content: \"\\f277\";\r\n}\r\n.ion-eject:before {\r\n content: \"\\f131\";\r\n}\r\n.ion-email:before {\r\n content: \"\\f132\";\r\n}\r\n.ion-eye:before {\r\n content: \"\\f133\";\r\n}\r\n.ion-eye-disabled:before {\r\n content: \"\\f306\";\r\n}\r\n.ion-female:before {\r\n content: \"\\f278\";\r\n}\r\n.ion-filing:before {\r\n content: \"\\f134\";\r\n}\r\n.ion-film-marker:before {\r\n content: \"\\f135\";\r\n}\r\n.ion-fireball:before {\r\n content: \"\\f319\";\r\n}\r\n.ion-flag:before {\r\n content: \"\\f279\";\r\n}\r\n.ion-flame:before {\r\n content: \"\\f31a\";\r\n}\r\n.ion-flash:before {\r\n content: \"\\f137\";\r\n}\r\n.ion-flash-off:before {\r\n content: \"\\f136\";\r\n}\r\n.ion-flask:before {\r\n content: \"\\f138\";\r\n}\r\n.ion-folder:before {\r\n content: \"\\f139\";\r\n}\r\n.ion-fork:before {\r\n content: \"\\f27a\";\r\n}\r\n.ion-fork-repo:before {\r\n content: \"\\f2c0\";\r\n}\r\n.ion-forward:before {\r\n content: \"\\f13a\";\r\n}\r\n.ion-funnel:before {\r\n content: \"\\f31b\";\r\n}\r\n.ion-game-controller-a:before {\r\n content: \"\\f13b\";\r\n}\r\n.ion-game-controller-b:before {\r\n content: \"\\f13c\";\r\n}\r\n.ion-gear-a:before {\r\n content: \"\\f13d\";\r\n}\r\n.ion-gear-b:before {\r\n content: \"\\f13e\";\r\n}\r\n.ion-grid:before {\r\n content: \"\\f13f\";\r\n}\r\n.ion-hammer:before {\r\n content: \"\\f27b\";\r\n}\r\n.ion-happy:before {\r\n content: \"\\f31c\";\r\n}\r\n.ion-headphone:before {\r\n content: \"\\f140\";\r\n}\r\n.ion-heart:before {\r\n content: \"\\f141\";\r\n}\r\n.ion-heart-broken:before {\r\n content: \"\\f31d\";\r\n}\r\n.ion-help:before {\r\n content: \"\\f143\";\r\n}\r\n.ion-help-buoy:before {\r\n content: \"\\f27c\";\r\n}\r\n.ion-help-circled:before {\r\n content: \"\\f142\";\r\n}\r\n.ion-home:before {\r\n content: \"\\f144\";\r\n}\r\n.ion-icecream:before {\r\n content: \"\\f27d\";\r\n}\r\n.ion-icon-social-google-plus:before {\r\n content: \"\\f146\";\r\n}\r\n.ion-icon-social-google-plus-outline:before {\r\n content: \"\\f145\";\r\n}\r\n.ion-image:before {\r\n content: \"\\f147\";\r\n}\r\n.ion-images:before {\r\n content: \"\\f148\";\r\n}\r\n.ion-information:before {\r\n content: \"\\f14a\";\r\n}\r\n.ion-information-circled:before {\r\n content: \"\\f149\";\r\n}\r\n.ion-ionic:before {\r\n content: \"\\f14b\";\r\n}\r\n.ion-ios7-alarm:before {\r\n content: \"\\f14d\";\r\n}\r\n.ion-ios7-alarm-outline:before {\r\n content: \"\\f14c\";\r\n}\r\n.ion-ios7-albums:before {\r\n content: \"\\f14f\";\r\n}\r\n.ion-ios7-albums-outline:before {\r\n content: \"\\f14e\";\r\n}\r\n.ion-ios7-americanfootball:before {\r\n content: \"\\f31f\";\r\n}\r\n.ion-ios7-americanfootball-outline:before {\r\n content: \"\\f31e\";\r\n}\r\n.ion-ios7-analytics:before {\r\n content: \"\\f321\";\r\n}\r\n.ion-ios7-analytics-outline:before {\r\n content: \"\\f320\";\r\n}\r\n.ion-ios7-arrow-back:before {\r\n content: \"\\f150\";\r\n}\r\n.ion-ios7-arrow-down:before {\r\n content: \"\\f151\";\r\n}\r\n.ion-ios7-arrow-forward:before {\r\n content: \"\\f152\";\r\n}\r\n.ion-ios7-arrow-left:before {\r\n content: \"\\f153\";\r\n}\r\n.ion-ios7-arrow-right:before {\r\n content: \"\\f154\";\r\n}\r\n.ion-ios7-arrow-thin-down:before {\r\n content: \"\\f27e\";\r\n}\r\n.ion-ios7-arrow-thin-left:before {\r\n content: \"\\f27f\";\r\n}\r\n.ion-ios7-arrow-thin-right:before {\r\n content: \"\\f280\";\r\n}\r\n.ion-ios7-arrow-thin-up:before {\r\n content: \"\\f281\";\r\n}\r\n.ion-ios7-arrow-up:before {\r\n content: \"\\f155\";\r\n}\r\n.ion-ios7-at:before {\r\n content: \"\\f157\";\r\n}\r\n.ion-ios7-at-outline:before {\r\n content: \"\\f156\";\r\n}\r\n.ion-ios7-barcode:before {\r\n content: \"\\f323\";\r\n}\r\n.ion-ios7-barcode-outline:before {\r\n content: \"\\f322\";\r\n}\r\n.ion-ios7-baseball:before {\r\n content: \"\\f325\";\r\n}\r\n.ion-ios7-baseball-outline:before {\r\n content: \"\\f324\";\r\n}\r\n.ion-ios7-basketball:before {\r\n content: \"\\f327\";\r\n}\r\n.ion-ios7-basketball-outline:before {\r\n content: \"\\f326\";\r\n}\r\n.ion-ios7-bell:before {\r\n content: \"\\f159\";\r\n}\r\n.ion-ios7-bell-outline:before {\r\n content: \"\\f158\";\r\n}\r\n.ion-ios7-bolt:before {\r\n content: \"\\f15b\";\r\n}\r\n.ion-ios7-bolt-outline:before {\r\n content: \"\\f15a\";\r\n}\r\n.ion-ios7-bookmarks:before {\r\n content: \"\\f15d\";\r\n}\r\n.ion-ios7-bookmarks-outline:before {\r\n content: \"\\f15c\";\r\n}\r\n.ion-ios7-box:before {\r\n content: \"\\f15f\";\r\n}\r\n.ion-ios7-box-outline:before {\r\n content: \"\\f15e\";\r\n}\r\n.ion-ios7-briefcase:before {\r\n content: \"\\f283\";\r\n}\r\n.ion-ios7-briefcase-outline:before {\r\n content: \"\\f282\";\r\n}\r\n.ion-ios7-browsers:before {\r\n content: \"\\f161\";\r\n}\r\n.ion-ios7-browsers-outline:before {\r\n content: \"\\f160\";\r\n}\r\n.ion-ios7-calculator:before {\r\n content: \"\\f285\";\r\n}\r\n.ion-ios7-calculator-outline:before {\r\n content: \"\\f284\";\r\n}\r\n.ion-ios7-calendar:before {\r\n content: \"\\f163\";\r\n}\r\n.ion-ios7-calendar-outline:before {\r\n content: \"\\f162\";\r\n}\r\n.ion-ios7-camera:before {\r\n content: \"\\f165\";\r\n}\r\n.ion-ios7-camera-outline:before {\r\n content: \"\\f164\";\r\n}\r\n.ion-ios7-cart:before {\r\n content: \"\\f167\";\r\n}\r\n.ion-ios7-cart-outline:before {\r\n content: \"\\f166\";\r\n}\r\n.ion-ios7-chatboxes:before {\r\n content: \"\\f169\";\r\n}\r\n.ion-ios7-chatboxes-outline:before {\r\n content: \"\\f168\";\r\n}\r\n.ion-ios7-chatbubble:before {\r\n content: \"\\f16b\";\r\n}\r\n.ion-ios7-chatbubble-outline:before {\r\n content: \"\\f16a\";\r\n}\r\n.ion-ios7-checkmark:before {\r\n content: \"\\f16e\";\r\n}\r\n.ion-ios7-checkmark-empty:before {\r\n content: \"\\f16c\";\r\n}\r\n.ion-ios7-checkmark-outline:before {\r\n content: \"\\f16d\";\r\n}\r\n.ion-ios7-circle-filled:before {\r\n content: \"\\f16f\";\r\n}\r\n.ion-ios7-circle-outline:before {\r\n content: \"\\f170\";\r\n}\r\n.ion-ios7-clock:before {\r\n content: \"\\f172\";\r\n}\r\n.ion-ios7-clock-outline:before {\r\n content: \"\\f171\";\r\n}\r\n.ion-ios7-close:before {\r\n content: \"\\f2bc\";\r\n}\r\n.ion-ios7-close-empty:before {\r\n content: \"\\f2bd\";\r\n}\r\n.ion-ios7-close-outline:before {\r\n content: \"\\f2bb\";\r\n}\r\n.ion-ios7-cloud:before {\r\n content: \"\\f178\";\r\n}\r\n.ion-ios7-cloud-download:before {\r\n content: \"\\f174\";\r\n}\r\n.ion-ios7-cloud-download-outline:before {\r\n content: \"\\f173\";\r\n}\r\n.ion-ios7-cloud-outline:before {\r\n content: \"\\f175\";\r\n}\r\n.ion-ios7-cloud-upload:before {\r\n content: \"\\f177\";\r\n}\r\n.ion-ios7-cloud-upload-outline:before {\r\n content: \"\\f176\";\r\n}\r\n.ion-ios7-cloudy:before {\r\n content: \"\\f17a\";\r\n}\r\n.ion-ios7-cloudy-night:before {\r\n content: \"\\f308\";\r\n}\r\n.ion-ios7-cloudy-night-outline:before {\r\n content: \"\\f307\";\r\n}\r\n.ion-ios7-cloudy-outline:before {\r\n content: \"\\f179\";\r\n}\r\n.ion-ios7-cog:before {\r\n content: \"\\f17c\";\r\n}\r\n.ion-ios7-cog-outline:before {\r\n content: \"\\f17b\";\r\n}\r\n.ion-ios7-compose:before {\r\n content: \"\\f17e\";\r\n}\r\n.ion-ios7-compose-outline:before {\r\n content: \"\\f17d\";\r\n}\r\n.ion-ios7-contact:before {\r\n content: \"\\f180\";\r\n}\r\n.ion-ios7-contact-outline:before {\r\n content: \"\\f17f\";\r\n}\r\n.ion-ios7-copy:before {\r\n content: \"\\f182\";\r\n}\r\n.ion-ios7-copy-outline:before {\r\n content: \"\\f181\";\r\n}\r\n.ion-ios7-download:before {\r\n content: \"\\f184\";\r\n}\r\n.ion-ios7-download-outline:before {\r\n content: \"\\f183\";\r\n}\r\n.ion-ios7-drag:before {\r\n content: \"\\f185\";\r\n}\r\n.ion-ios7-email:before {\r\n content: \"\\f187\";\r\n}\r\n.ion-ios7-email-outline:before {\r\n content: \"\\f186\";\r\n}\r\n.ion-ios7-expand:before {\r\n content: \"\\f30d\";\r\n}\r\n.ion-ios7-eye:before {\r\n content: \"\\f189\";\r\n}\r\n.ion-ios7-eye-outline:before {\r\n content: \"\\f188\";\r\n}\r\n.ion-ios7-fastforward:before {\r\n content: \"\\f18b\";\r\n}\r\n.ion-ios7-fastforward-outline:before {\r\n content: \"\\f18a\";\r\n}\r\n.ion-ios7-filing:before {\r\n content: \"\\f18d\";\r\n}\r\n.ion-ios7-filing-outline:before {\r\n content: \"\\f18c\";\r\n}\r\n.ion-ios7-film:before {\r\n content: \"\\f18f\";\r\n}\r\n.ion-ios7-film-outline:before {\r\n content: \"\\f18e\";\r\n}\r\n.ion-ios7-flag:before {\r\n content: \"\\f191\";\r\n}\r\n.ion-ios7-flag-outline:before {\r\n content: \"\\f190\";\r\n}\r\n.ion-ios7-folder:before {\r\n content: \"\\f193\";\r\n}\r\n.ion-ios7-folder-outline:before {\r\n content: \"\\f192\";\r\n}\r\n.ion-ios7-football:before {\r\n content: \"\\f329\";\r\n}\r\n.ion-ios7-football-outline:before {\r\n content: \"\\f328\";\r\n}\r\n.ion-ios7-gear:before {\r\n content: \"\\f195\";\r\n}\r\n.ion-ios7-gear-outline:before {\r\n content: \"\\f194\";\r\n}\r\n.ion-ios7-glasses:before {\r\n content: \"\\f197\";\r\n}\r\n.ion-ios7-glasses-outline:before {\r\n content: \"\\f196\";\r\n}\r\n.ion-ios7-heart:before {\r\n content: \"\\f199\";\r\n}\r\n.ion-ios7-heart-outline:before {\r\n content: \"\\f198\";\r\n}\r\n.ion-ios7-help:before {\r\n content: \"\\f19c\";\r\n}\r\n.ion-ios7-help-empty:before {\r\n content: \"\\f19a\";\r\n}\r\n.ion-ios7-help-outline:before {\r\n content: \"\\f19b\";\r\n}\r\n.ion-ios7-home:before {\r\n content: \"\\f32b\";\r\n}\r\n.ion-ios7-home-outline:before {\r\n content: \"\\f32a\";\r\n}\r\n.ion-ios7-infinite:before {\r\n content: \"\\f19e\";\r\n}\r\n.ion-ios7-infinite-outline:before {\r\n content: \"\\f19d\";\r\n}\r\n.ion-ios7-information:before {\r\n content: \"\\f1a1\";\r\n}\r\n.ion-ios7-information-empty:before {\r\n content: \"\\f19f\";\r\n}\r\n.ion-ios7-information-outline:before {\r\n content: \"\\f1a0\";\r\n}\r\n.ion-ios7-ionic-outline:before {\r\n content: \"\\f1a2\";\r\n}\r\n.ion-ios7-keypad:before {\r\n content: \"\\f1a4\";\r\n}\r\n.ion-ios7-keypad-outline:before {\r\n content: \"\\f1a3\";\r\n}\r\n.ion-ios7-lightbulb:before {\r\n content: \"\\f287\";\r\n}\r\n.ion-ios7-lightbulb-outline:before {\r\n content: \"\\f286\";\r\n}\r\n.ion-ios7-location:before {\r\n content: \"\\f1a6\";\r\n}\r\n.ion-ios7-location-outline:before {\r\n content: \"\\f1a5\";\r\n}\r\n.ion-ios7-locked:before {\r\n content: \"\\f1a8\";\r\n}\r\n.ion-ios7-locked-outline:before {\r\n content: \"\\f1a7\";\r\n}\r\n.ion-ios7-loop:before {\r\n content: \"\\f32d\";\r\n}\r\n.ion-ios7-loop-strong:before {\r\n content: \"\\f32c\";\r\n}\r\n.ion-ios7-medkit:before {\r\n content: \"\\f289\";\r\n}\r\n.ion-ios7-medkit-outline:before {\r\n content: \"\\f288\";\r\n}\r\n.ion-ios7-mic:before {\r\n content: \"\\f1ab\";\r\n}\r\n.ion-ios7-mic-off:before {\r\n content: \"\\f1a9\";\r\n}\r\n.ion-ios7-mic-outline:before {\r\n content: \"\\f1aa\";\r\n}\r\n.ion-ios7-minus:before {\r\n content: \"\\f1ae\";\r\n}\r\n.ion-ios7-minus-empty:before {\r\n content: \"\\f1ac\";\r\n}\r\n.ion-ios7-minus-outline:before {\r\n content: \"\\f1ad\";\r\n}\r\n.ion-ios7-monitor:before {\r\n content: \"\\f1b0\";\r\n}\r\n.ion-ios7-monitor-outline:before {\r\n content: \"\\f1af\";\r\n}\r\n.ion-ios7-moon:before {\r\n content: \"\\f1b2\";\r\n}\r\n.ion-ios7-moon-outline:before {\r\n content: \"\\f1b1\";\r\n}\r\n.ion-ios7-more:before {\r\n content: \"\\f1b4\";\r\n}\r\n.ion-ios7-more-outline:before {\r\n content: \"\\f1b3\";\r\n}\r\n.ion-ios7-musical-note:before {\r\n content: \"\\f1b5\";\r\n}\r\n.ion-ios7-musical-notes:before {\r\n content: \"\\f1b6\";\r\n}\r\n.ion-ios7-navigate:before {\r\n content: \"\\f1b8\";\r\n}\r\n.ion-ios7-navigate-outline:before {\r\n content: \"\\f1b7\";\r\n}\r\n.ion-ios7-paper:before {\r\n content: \"\\f32f\";\r\n}\r\n.ion-ios7-paper-outline:before {\r\n content: \"\\f32e\";\r\n}\r\n.ion-ios7-paperplane:before {\r\n content: \"\\f1ba\";\r\n}\r\n.ion-ios7-paperplane-outline:before {\r\n content: \"\\f1b9\";\r\n}\r\n.ion-ios7-partlysunny:before {\r\n content: \"\\f1bc\";\r\n}\r\n.ion-ios7-partlysunny-outline:before {\r\n content: \"\\f1bb\";\r\n}\r\n.ion-ios7-pause:before {\r\n content: \"\\f1be\";\r\n}\r\n.ion-ios7-pause-outline:before {\r\n content: \"\\f1bd\";\r\n}\r\n.ion-ios7-paw:before {\r\n content: \"\\f331\";\r\n}\r\n.ion-ios7-paw-outline:before {\r\n content: \"\\f330\";\r\n}\r\n.ion-ios7-people:before {\r\n content: \"\\f1c0\";\r\n}\r\n.ion-ios7-people-outline:before {\r\n content: \"\\f1bf\";\r\n}\r\n.ion-ios7-person:before {\r\n content: \"\\f1c2\";\r\n}\r\n.ion-ios7-person-outline:before {\r\n content: \"\\f1c1\";\r\n}\r\n.ion-ios7-personadd:before {\r\n content: \"\\f1c4\";\r\n}\r\n.ion-ios7-personadd-outline:before {\r\n content: \"\\f1c3\";\r\n}\r\n.ion-ios7-photos:before {\r\n content: \"\\f1c6\";\r\n}\r\n.ion-ios7-photos-outline:before {\r\n content: \"\\f1c5\";\r\n}\r\n.ion-ios7-pie:before {\r\n content: \"\\f28b\";\r\n}\r\n.ion-ios7-pie-outline:before {\r\n content: \"\\f28a\";\r\n}\r\n.ion-ios7-play:before {\r\n content: \"\\f1c8\";\r\n}\r\n.ion-ios7-play-outline:before {\r\n content: \"\\f1c7\";\r\n}\r\n.ion-ios7-plus:before {\r\n content: \"\\f1cb\";\r\n}\r\n.ion-ios7-plus-empty:before {\r\n content: \"\\f1c9\";\r\n}\r\n.ion-ios7-plus-outline:before {\r\n content: \"\\f1ca\";\r\n}\r\n.ion-ios7-pricetag:before {\r\n content: \"\\f28d\";\r\n}\r\n.ion-ios7-pricetag-outline:before {\r\n content: \"\\f28c\";\r\n}\r\n.ion-ios7-pricetags:before {\r\n content: \"\\f333\";\r\n}\r\n.ion-ios7-pricetags-outline:before {\r\n content: \"\\f332\";\r\n}\r\n.ion-ios7-printer:before {\r\n content: \"\\f1cd\";\r\n}\r\n.ion-ios7-printer-outline:before {\r\n content: \"\\f1cc\";\r\n}\r\n.ion-ios7-pulse:before {\r\n content: \"\\f335\";\r\n}\r\n.ion-ios7-pulse-strong:before {\r\n content: \"\\f334\";\r\n}\r\n.ion-ios7-rainy:before {\r\n content: \"\\f1cf\";\r\n}\r\n.ion-ios7-rainy-outline:before {\r\n content: \"\\f1ce\";\r\n}\r\n.ion-ios7-recording:before {\r\n content: \"\\f1d1\";\r\n}\r\n.ion-ios7-recording-outline:before {\r\n content: \"\\f1d0\";\r\n}\r\n.ion-ios7-redo:before {\r\n content: \"\\f1d3\";\r\n}\r\n.ion-ios7-redo-outline:before {\r\n content: \"\\f1d2\";\r\n}\r\n.ion-ios7-refresh:before {\r\n content: \"\\f1d6\";\r\n}\r\n.ion-ios7-refresh-empty:before {\r\n content: \"\\f1d4\";\r\n}\r\n.ion-ios7-refresh-outline:before {\r\n content: \"\\f1d5\";\r\n}\r\n.ion-ios7-reload:before {\r\n content: \"\\f28e\";\r\n}\r\n.ion-ios7-reverse-camera:before {\r\n content: \"\\f337\";\r\n}\r\n.ion-ios7-reverse-camera-outline:before {\r\n content: \"\\f336\";\r\n}\r\n.ion-ios7-rewind:before {\r\n content: \"\\f1d8\";\r\n}\r\n.ion-ios7-rewind-outline:before {\r\n content: \"\\f1d7\";\r\n}\r\n.ion-ios7-search:before {\r\n content: \"\\f1da\";\r\n}\r\n.ion-ios7-search-strong:before {\r\n content: \"\\f1d9\";\r\n}\r\n.ion-ios7-settings:before {\r\n content: \"\\f339\";\r\n}\r\n.ion-ios7-settings-strong:before {\r\n content: \"\\f338\";\r\n}\r\n.ion-ios7-shrink:before {\r\n content: \"\\f30e\";\r\n}\r\n.ion-ios7-skipbackward:before {\r\n content: \"\\f1dc\";\r\n}\r\n.ion-ios7-skipbackward-outline:before {\r\n content: \"\\f1db\";\r\n}\r\n.ion-ios7-skipforward:before {\r\n content: \"\\f1de\";\r\n}\r\n.ion-ios7-skipforward-outline:before {\r\n content: \"\\f1dd\";\r\n}\r\n.ion-ios7-snowy:before {\r\n content: \"\\f309\";\r\n}\r\n.ion-ios7-speedometer:before {\r\n content: \"\\f290\";\r\n}\r\n.ion-ios7-speedometer-outline:before {\r\n content: \"\\f28f\";\r\n}\r\n.ion-ios7-star:before {\r\n content: \"\\f1e0\";\r\n}\r\n.ion-ios7-star-half:before {\r\n content: \"\\f33a\";\r\n}\r\n.ion-ios7-star-outline:before {\r\n content: \"\\f1df\";\r\n}\r\n.ion-ios7-stopwatch:before {\r\n content: \"\\f1e2\";\r\n}\r\n.ion-ios7-stopwatch-outline:before {\r\n content: \"\\f1e1\";\r\n}\r\n.ion-ios7-sunny:before {\r\n content: \"\\f1e4\";\r\n}\r\n.ion-ios7-sunny-outline:before {\r\n content: \"\\f1e3\";\r\n}\r\n.ion-ios7-telephone:before {\r\n content: \"\\f1e6\";\r\n}\r\n.ion-ios7-telephone-outline:before {\r\n content: \"\\f1e5\";\r\n}\r\n.ion-ios7-tennisball:before {\r\n content: \"\\f33c\";\r\n}\r\n.ion-ios7-tennisball-outline:before {\r\n content: \"\\f33b\";\r\n}\r\n.ion-ios7-thunderstorm:before {\r\n content: \"\\f1e8\";\r\n}\r\n.ion-ios7-thunderstorm-outline:before {\r\n content: \"\\f1e7\";\r\n}\r\n.ion-ios7-time:before {\r\n content: \"\\f292\";\r\n}\r\n.ion-ios7-time-outline:before {\r\n content: \"\\f291\";\r\n}\r\n.ion-ios7-timer:before {\r\n content: \"\\f1ea\";\r\n}\r\n.ion-ios7-timer-outline:before {\r\n content: \"\\f1e9\";\r\n}\r\n.ion-ios7-toggle:before {\r\n content: \"\\f33e\";\r\n}\r\n.ion-ios7-toggle-outline:before {\r\n content: \"\\f33d\";\r\n}\r\n.ion-ios7-trash:before {\r\n content: \"\\f1ec\";\r\n}\r\n.ion-ios7-trash-outline:before {\r\n content: \"\\f1eb\";\r\n}\r\n.ion-ios7-undo:before {\r\n content: \"\\f1ee\";\r\n}\r\n.ion-ios7-undo-outline:before {\r\n content: \"\\f1ed\";\r\n}\r\n.ion-ios7-unlocked:before {\r\n content: \"\\f1f0\";\r\n}\r\n.ion-ios7-unlocked-outline:before {\r\n content: \"\\f1ef\";\r\n}\r\n.ion-ios7-upload:before {\r\n content: \"\\f1f2\";\r\n}\r\n.ion-ios7-upload-outline:before {\r\n content: \"\\f1f1\";\r\n}\r\n.ion-ios7-videocam:before {\r\n content: \"\\f1f4\";\r\n}\r\n.ion-ios7-videocam-outline:before {\r\n content: \"\\f1f3\";\r\n}\r\n.ion-ios7-volume-high:before {\r\n content: \"\\f1f5\";\r\n}\r\n.ion-ios7-volume-low:before {\r\n content: \"\\f1f6\";\r\n}\r\n.ion-ios7-wineglass:before {\r\n content: \"\\f294\";\r\n}\r\n.ion-ios7-wineglass-outline:before {\r\n content: \"\\f293\";\r\n}\r\n.ion-ios7-world:before {\r\n content: \"\\f1f8\";\r\n}\r\n.ion-ios7-world-outline:before {\r\n content: \"\\f1f7\";\r\n}\r\n.ion-ipad:before {\r\n content: \"\\f1f9\";\r\n}\r\n.ion-iphone:before {\r\n content: \"\\f1fa\";\r\n}\r\n.ion-ipod:before {\r\n content: \"\\f1fb\";\r\n}\r\n.ion-jet:before {\r\n content: \"\\f295\";\r\n}\r\n.ion-key:before {\r\n content: \"\\f296\";\r\n}\r\n.ion-knife:before {\r\n content: \"\\f297\";\r\n}\r\n.ion-laptop:before {\r\n content: \"\\f1fc\";\r\n}\r\n.ion-leaf:before {\r\n content: \"\\f1fd\";\r\n}\r\n.ion-levels:before {\r\n content: \"\\f298\";\r\n}\r\n.ion-lightbulb:before {\r\n content: \"\\f299\";\r\n}\r\n.ion-link:before {\r\n content: \"\\f1fe\";\r\n}\r\n.ion-load-a:before {\r\n content: \"\\f29a\";\r\n}\r\n.ion-load-b:before {\r\n content: \"\\f29b\";\r\n}\r\n.ion-load-c:before {\r\n content: \"\\f29c\";\r\n}\r\n.ion-load-d:before {\r\n content: \"\\f29d\";\r\n}\r\n.ion-location:before {\r\n content: \"\\f1ff\";\r\n}\r\n.ion-locked:before {\r\n content: \"\\f200\";\r\n}\r\n.ion-log-in:before {\r\n content: \"\\f29e\";\r\n}\r\n.ion-log-out:before {\r\n content: \"\\f29f\";\r\n}\r\n.ion-loop:before {\r\n content: \"\\f201\";\r\n}\r\n.ion-magnet:before {\r\n content: \"\\f2a0\";\r\n}\r\n.ion-male:before {\r\n content: \"\\f2a1\";\r\n}\r\n.ion-man:before {\r\n content: \"\\f202\";\r\n}\r\n.ion-map:before {\r\n content: \"\\f203\";\r\n}\r\n.ion-medkit:before {\r\n content: \"\\f2a2\";\r\n}\r\n.ion-merge:before {\r\n content: \"\\f33f\";\r\n}\r\n.ion-mic-a:before {\r\n content: \"\\f204\";\r\n}\r\n.ion-mic-b:before {\r\n content: \"\\f205\";\r\n}\r\n.ion-mic-c:before {\r\n content: \"\\f206\";\r\n}\r\n.ion-minus:before {\r\n content: \"\\f209\";\r\n}\r\n.ion-minus-circled:before {\r\n content: \"\\f207\";\r\n}\r\n.ion-minus-round:before {\r\n content: \"\\f208\";\r\n}\r\n.ion-model-s:before {\r\n content: \"\\f2c1\";\r\n}\r\n.ion-monitor:before {\r\n content: \"\\f20a\";\r\n}\r\n.ion-more:before {\r\n content: \"\\f20b\";\r\n}\r\n.ion-mouse:before {\r\n content: \"\\f340\";\r\n}\r\n.ion-music-note:before {\r\n content: \"\\f20c\";\r\n}\r\n.ion-navicon:before {\r\n content: \"\\f20e\";\r\n}\r\n.ion-navicon-round:before {\r\n content: \"\\f20d\";\r\n}\r\n.ion-navigate:before {\r\n content: \"\\f2a3\";\r\n}\r\n.ion-network:before {\r\n content: \"\\f341\";\r\n}\r\n.ion-no-smoking:before {\r\n content: \"\\f2c2\";\r\n}\r\n.ion-nuclear:before {\r\n content: \"\\f2a4\";\r\n}\r\n.ion-outlet:before {\r\n content: \"\\f342\";\r\n}\r\n.ion-paper-airplane:before {\r\n content: \"\\f2c3\";\r\n}\r\n.ion-paperclip:before {\r\n content: \"\\f20f\";\r\n}\r\n.ion-pause:before {\r\n content: \"\\f210\";\r\n}\r\n.ion-person:before {\r\n content: \"\\f213\";\r\n}\r\n.ion-person-add:before {\r\n content: \"\\f211\";\r\n}\r\n.ion-person-stalker:before {\r\n content: \"\\f212\";\r\n}\r\n.ion-pie-graph:before {\r\n content: \"\\f2a5\";\r\n}\r\n.ion-pin:before {\r\n content: \"\\f2a6\";\r\n}\r\n.ion-pinpoint:before {\r\n content: \"\\f2a7\";\r\n}\r\n.ion-pizza:before {\r\n content: \"\\f2a8\";\r\n}\r\n.ion-plane:before {\r\n content: \"\\f214\";\r\n}\r\n.ion-planet:before {\r\n content: \"\\f343\";\r\n}\r\n.ion-play:before {\r\n content: \"\\f215\";\r\n}\r\n.ion-playstation:before {\r\n content: \"\\f30a\";\r\n}\r\n.ion-plus:before {\r\n content: \"\\f218\";\r\n}\r\n.ion-plus-circled:before {\r\n content: \"\\f216\";\r\n}\r\n.ion-plus-round:before {\r\n content: \"\\f217\";\r\n}\r\n.ion-podium:before {\r\n content: \"\\f344\";\r\n}\r\n.ion-pound:before {\r\n content: \"\\f219\";\r\n}\r\n.ion-power:before {\r\n content: \"\\f2a9\";\r\n}\r\n.ion-pricetag:before {\r\n content: \"\\f2aa\";\r\n}\r\n.ion-pricetags:before {\r\n content: \"\\f2ab\";\r\n}\r\n.ion-printer:before {\r\n content: \"\\f21a\";\r\n}\r\n.ion-pull-request:before {\r\n content: \"\\f345\";\r\n}\r\n.ion-qr-scanner:before {\r\n content: \"\\f346\";\r\n}\r\n.ion-quote:before {\r\n content: \"\\f347\";\r\n}\r\n.ion-radio-waves:before {\r\n content: \"\\f2ac\";\r\n}\r\n.ion-record:before {\r\n content: \"\\f21b\";\r\n}\r\n.ion-refresh:before {\r\n content: \"\\f21c\";\r\n}\r\n.ion-reply:before {\r\n content: \"\\f21e\";\r\n}\r\n.ion-reply-all:before {\r\n content: \"\\f21d\";\r\n}\r\n.ion-ribbon-a:before {\r\n content: \"\\f348\";\r\n}\r\n.ion-ribbon-b:before {\r\n content: \"\\f349\";\r\n}\r\n.ion-sad:before {\r\n content: \"\\f34a\";\r\n}\r\n.ion-scissors:before {\r\n content: \"\\f34b\";\r\n}\r\n.ion-search:before {\r\n content: \"\\f21f\";\r\n}\r\n.ion-settings:before {\r\n content: \"\\f2ad\";\r\n}\r\n.ion-share:before {\r\n content: \"\\f220\";\r\n}\r\n.ion-shuffle:before {\r\n content: \"\\f221\";\r\n}\r\n.ion-skip-backward:before {\r\n content: \"\\f222\";\r\n}\r\n.ion-skip-forward:before {\r\n content: \"\\f223\";\r\n}\r\n.ion-social-android:before {\r\n content: \"\\f225\";\r\n}\r\n.ion-social-android-outline:before {\r\n content: \"\\f224\";\r\n}\r\n.ion-social-apple:before {\r\n content: \"\\f227\";\r\n}\r\n.ion-social-apple-outline:before {\r\n content: \"\\f226\";\r\n}\r\n.ion-social-bitcoin:before {\r\n content: \"\\f2af\";\r\n}\r\n.ion-social-bitcoin-outline:before {\r\n content: \"\\f2ae\";\r\n}\r\n.ion-social-buffer:before {\r\n content: \"\\f229\";\r\n}\r\n.ion-social-buffer-outline:before {\r\n content: \"\\f228\";\r\n}\r\n.ion-social-designernews:before {\r\n content: \"\\f22b\";\r\n}\r\n.ion-social-designernews-outline:before {\r\n content: \"\\f22a\";\r\n}\r\n.ion-social-dribbble:before {\r\n content: \"\\f22d\";\r\n}\r\n.ion-social-dribbble-outline:before {\r\n content: \"\\f22c\";\r\n}\r\n.ion-social-dropbox:before {\r\n content: \"\\f22f\";\r\n}\r\n.ion-social-dropbox-outline:before {\r\n content: \"\\f22e\";\r\n}\r\n.ion-social-facebook:before {\r\n content: \"\\f231\";\r\n}\r\n.ion-social-facebook-outline:before {\r\n content: \"\\f230\";\r\n}\r\n.ion-social-foursquare:before {\r\n content: \"\\f34d\";\r\n}\r\n.ion-social-foursquare-outline:before {\r\n content: \"\\f34c\";\r\n}\r\n.ion-social-freebsd-devil:before {\r\n content: \"\\f2c4\";\r\n}\r\n.ion-social-github:before {\r\n content: \"\\f233\";\r\n}\r\n.ion-social-github-outline:before {\r\n content: \"\\f232\";\r\n}\r\n.ion-social-google:before {\r\n content: \"\\f34f\";\r\n}\r\n.ion-social-google-outline:before {\r\n content: \"\\f34e\";\r\n}\r\n.ion-social-googleplus:before {\r\n content: \"\\f235\";\r\n}\r\n.ion-social-googleplus-outline:before {\r\n content: \"\\f234\";\r\n}\r\n.ion-social-hackernews:before {\r\n content: \"\\f237\";\r\n}\r\n.ion-social-hackernews-outline:before {\r\n content: \"\\f236\";\r\n}\r\n.ion-social-instagram:before {\r\n content: \"\\f351\";\r\n}\r\n.ion-social-instagram-outline:before {\r\n content: \"\\f350\";\r\n}\r\n.ion-social-linkedin:before {\r\n content: \"\\f239\";\r\n}\r\n.ion-social-linkedin-outline:before {\r\n content: \"\\f238\";\r\n}\r\n.ion-social-pinterest:before {\r\n content: \"\\f2b1\";\r\n}\r\n.ion-social-pinterest-outline:before {\r\n content: \"\\f2b0\";\r\n}\r\n.ion-social-reddit:before {\r\n content: \"\\f23b\";\r\n}\r\n.ion-social-reddit-outline:before {\r\n content: \"\\f23a\";\r\n}\r\n.ion-social-rss:before {\r\n content: \"\\f23d\";\r\n}\r\n.ion-social-rss-outline:before {\r\n content: \"\\f23c\";\r\n}\r\n.ion-social-skype:before {\r\n content: \"\\f23f\";\r\n}\r\n.ion-social-skype-outline:before {\r\n content: \"\\f23e\";\r\n}\r\n.ion-social-tumblr:before {\r\n content: \"\\f241\";\r\n}\r\n.ion-social-tumblr-outline:before {\r\n content: \"\\f240\";\r\n}\r\n.ion-social-tux:before {\r\n content: \"\\f2c5\";\r\n}\r\n.ion-social-twitter:before {\r\n content: \"\\f243\";\r\n}\r\n.ion-social-twitter-outline:before {\r\n content: \"\\f242\";\r\n}\r\n.ion-social-usd:before {\r\n content: \"\\f353\";\r\n}\r\n.ion-social-usd-outline:before {\r\n content: \"\\f352\";\r\n}\r\n.ion-social-vimeo:before {\r\n content: \"\\f245\";\r\n}\r\n.ion-social-vimeo-outline:before {\r\n content: \"\\f244\";\r\n}\r\n.ion-social-windows:before {\r\n content: \"\\f247\";\r\n}\r\n.ion-social-windows-outline:before {\r\n content: \"\\f246\";\r\n}\r\n.ion-social-wordpress:before {\r\n content: \"\\f249\";\r\n}\r\n.ion-social-wordpress-outline:before {\r\n content: \"\\f248\";\r\n}\r\n.ion-social-yahoo:before {\r\n content: \"\\f24b\";\r\n}\r\n.ion-social-yahoo-outline:before {\r\n content: \"\\f24a\";\r\n}\r\n.ion-social-youtube:before {\r\n content: \"\\f24d\";\r\n}\r\n.ion-social-youtube-outline:before {\r\n content: \"\\f24c\";\r\n}\r\n.ion-speakerphone:before {\r\n content: \"\\f2b2\";\r\n}\r\n.ion-speedometer:before {\r\n content: \"\\f2b3\";\r\n}\r\n.ion-spoon:before {\r\n content: \"\\f2b4\";\r\n}\r\n.ion-star:before {\r\n content: \"\\f24e\";\r\n}\r\n.ion-stats-bars:before {\r\n content: \"\\f2b5\";\r\n}\r\n.ion-steam:before {\r\n content: \"\\f30b\";\r\n}\r\n.ion-stop:before {\r\n content: \"\\f24f\";\r\n}\r\n.ion-thermometer:before {\r\n content: \"\\f2b6\";\r\n}\r\n.ion-thumbsdown:before {\r\n content: \"\\f250\";\r\n}\r\n.ion-thumbsup:before {\r\n content: \"\\f251\";\r\n}\r\n.ion-toggle:before {\r\n content: \"\\f355\";\r\n}\r\n.ion-toggle-filled:before {\r\n content: \"\\f354\";\r\n}\r\n.ion-trash-a:before {\r\n content: \"\\f252\";\r\n}\r\n.ion-trash-b:before {\r\n content: \"\\f253\";\r\n}\r\n.ion-trophy:before {\r\n content: \"\\f356\";\r\n}\r\n.ion-umbrella:before {\r\n content: \"\\f2b7\";\r\n}\r\n.ion-university:before {\r\n content: \"\\f357\";\r\n}\r\n.ion-unlocked:before {\r\n content: \"\\f254\";\r\n}\r\n.ion-upload:before {\r\n content: \"\\f255\";\r\n}\r\n.ion-usb:before {\r\n content: \"\\f2b8\";\r\n}\r\n.ion-videocamera:before {\r\n content: \"\\f256\";\r\n}\r\n.ion-volume-high:before {\r\n content: \"\\f257\";\r\n}\r\n.ion-volume-low:before {\r\n content: \"\\f258\";\r\n}\r\n.ion-volume-medium:before {\r\n content: \"\\f259\";\r\n}\r\n.ion-volume-mute:before {\r\n content: \"\\f25a\";\r\n}\r\n.ion-wand:before {\r\n content: \"\\f358\";\r\n}\r\n.ion-waterdrop:before {\r\n content: \"\\f25b\";\r\n}\r\n.ion-wifi:before {\r\n content: \"\\f25c\";\r\n}\r\n.ion-wineglass:before {\r\n content: \"\\f2b9\";\r\n}\r\n.ion-woman:before {\r\n content: \"\\f25d\";\r\n}\r\n.ion-wrench:before {\r\n content: \"\\f2ba\";\r\n}\r\n.ion-xbox:before {\r\n content: \"\\f30c\";\r\n}\r\n@font-face {\r\n font-family: 'themify';\r\n src: url('../fonts/themify.eot?-fvbane');\r\n src: url('../fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'), url('../fonts/themify.woff?-fvbane') format('woff'), url('../fonts/themify.ttf?-fvbane') format('truetype'), url('../fonts/themify.svg?-fvbane#themify') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n[class^=\"ti-\"],\r\n[class*=\" ti-\"] {\r\n font-family: 'themify';\r\n speak: none;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n line-height: 1;\r\n /* Better Font Rendering =========== */\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.ti-wand:before {\r\n content: \"\\e600\";\r\n}\r\n.ti-volume:before {\r\n content: \"\\e601\";\r\n}\r\n.ti-user:before {\r\n content: \"\\e602\";\r\n}\r\n.ti-unlock:before {\r\n content: \"\\e603\";\r\n}\r\n.ti-unlink:before {\r\n content: \"\\e604\";\r\n}\r\n.ti-trash:before {\r\n content: \"\\e605\";\r\n}\r\n.ti-thought:before {\r\n content: \"\\e606\";\r\n}\r\n.ti-target:before {\r\n content: \"\\e607\";\r\n}\r\n.ti-tag:before {\r\n content: \"\\e608\";\r\n}\r\n.ti-tablet:before {\r\n content: \"\\e609\";\r\n}\r\n.ti-star:before {\r\n content: \"\\e60a\";\r\n}\r\n.ti-spray:before {\r\n content: \"\\e60b\";\r\n}\r\n.ti-signal:before {\r\n content: \"\\e60c\";\r\n}\r\n.ti-shopping-cart:before {\r\n content: \"\\e60d\";\r\n}\r\n.ti-shopping-cart-full:before {\r\n content: \"\\e60e\";\r\n}\r\n.ti-settings:before {\r\n content: \"\\e60f\";\r\n}\r\n.ti-search:before {\r\n content: \"\\e610\";\r\n}\r\n.ti-zoom-in:before {\r\n content: \"\\e611\";\r\n}\r\n.ti-zoom-out:before {\r\n content: \"\\e612\";\r\n}\r\n.ti-cut:before {\r\n content: \"\\e613\";\r\n}\r\n.ti-ruler:before {\r\n content: \"\\e614\";\r\n}\r\n.ti-ruler-pencil:before {\r\n content: \"\\e615\";\r\n}\r\n.ti-ruler-alt:before {\r\n content: \"\\e616\";\r\n}\r\n.ti-bookmark:before {\r\n content: \"\\e617\";\r\n}\r\n.ti-bookmark-alt:before {\r\n content: \"\\e618\";\r\n}\r\n.ti-reload:before {\r\n content: \"\\e619\";\r\n}\r\n.ti-plus:before {\r\n content: \"\\e61a\";\r\n}\r\n.ti-pin:before {\r\n content: \"\\e61b\";\r\n}\r\n.ti-pencil:before {\r\n content: \"\\e61c\";\r\n}\r\n.ti-pencil-alt:before {\r\n content: \"\\e61d\";\r\n}\r\n.ti-paint-roller:before {\r\n content: \"\\e61e\";\r\n}\r\n.ti-paint-bucket:before {\r\n content: \"\\e61f\";\r\n}\r\n.ti-na:before {\r\n content: \"\\e620\";\r\n}\r\n.ti-mobile:before {\r\n content: \"\\e621\";\r\n}\r\n.ti-minus:before {\r\n content: \"\\e622\";\r\n}\r\n.ti-medall:before {\r\n content: \"\\e623\";\r\n}\r\n.ti-medall-alt:before {\r\n content: \"\\e624\";\r\n}\r\n.ti-marker:before {\r\n content: \"\\e625\";\r\n}\r\n.ti-marker-alt:before {\r\n content: \"\\e626\";\r\n}\r\n.ti-arrow-up:before {\r\n content: \"\\e627\";\r\n}\r\n.ti-arrow-right:before {\r\n content: \"\\e628\";\r\n}\r\n.ti-arrow-left:before {\r\n content: \"\\e629\";\r\n}\r\n.ti-arrow-down:before {\r\n content: \"\\e62a\";\r\n}\r\n.ti-lock:before {\r\n content: \"\\e62b\";\r\n}\r\n.ti-location-arrow:before {\r\n content: \"\\e62c\";\r\n}\r\n.ti-link:before {\r\n content: \"\\e62d\";\r\n}\r\n.ti-layout:before {\r\n content: \"\\e62e\";\r\n}\r\n.ti-layers:before {\r\n content: \"\\e62f\";\r\n}\r\n.ti-layers-alt:before {\r\n content: \"\\e630\";\r\n}\r\n.ti-key:before {\r\n content: \"\\e631\";\r\n}\r\n.ti-import:before {\r\n content: \"\\e632\";\r\n}\r\n.ti-image:before {\r\n content: \"\\e633\";\r\n}\r\n.ti-heart:before {\r\n content: \"\\e634\";\r\n}\r\n.ti-heart-broken:before {\r\n content: \"\\e635\";\r\n}\r\n.ti-hand-stop:before {\r\n content: \"\\e636\";\r\n}\r\n.ti-hand-open:before {\r\n content: \"\\e637\";\r\n}\r\n.ti-hand-drag:before {\r\n content: \"\\e638\";\r\n}\r\n.ti-folder:before {\r\n content: \"\\e639\";\r\n}\r\n.ti-flag:before {\r\n content: \"\\e63a\";\r\n}\r\n.ti-flag-alt:before {\r\n content: \"\\e63b\";\r\n}\r\n.ti-flag-alt-2:before {\r\n content: \"\\e63c\";\r\n}\r\n.ti-eye:before {\r\n content: \"\\e63d\";\r\n}\r\n.ti-export:before {\r\n content: \"\\e63e\";\r\n}\r\n.ti-exchange-vertical:before {\r\n content: \"\\e63f\";\r\n}\r\n.ti-desktop:before {\r\n content: \"\\e640\";\r\n}\r\n.ti-cup:before {\r\n content: \"\\e641\";\r\n}\r\n.ti-crown:before {\r\n content: \"\\e642\";\r\n}\r\n.ti-comments:before {\r\n content: \"\\e643\";\r\n}\r\n.ti-comment:before {\r\n content: \"\\e644\";\r\n}\r\n.ti-comment-alt:before {\r\n content: \"\\e645\";\r\n}\r\n.ti-close:before {\r\n content: \"\\e646\";\r\n}\r\n.ti-clip:before {\r\n content: \"\\e647\";\r\n}\r\n.ti-angle-up:before {\r\n content: \"\\e648\";\r\n}\r\n.ti-angle-right:before {\r\n content: \"\\e649\";\r\n}\r\n.ti-angle-left:before {\r\n content: \"\\e64a\";\r\n}\r\n.ti-angle-down:before {\r\n content: \"\\e64b\";\r\n}\r\n.ti-check:before {\r\n content: \"\\e64c\";\r\n}\r\n.ti-check-box:before {\r\n content: \"\\e64d\";\r\n}\r\n.ti-camera:before {\r\n content: \"\\e64e\";\r\n}\r\n.ti-announcement:before {\r\n content: \"\\e64f\";\r\n}\r\n.ti-brush:before {\r\n content: \"\\e650\";\r\n}\r\n.ti-briefcase:before {\r\n content: \"\\e651\";\r\n}\r\n.ti-bolt:before {\r\n content: \"\\e652\";\r\n}\r\n.ti-bolt-alt:before {\r\n content: \"\\e653\";\r\n}\r\n.ti-blackboard:before {\r\n content: \"\\e654\";\r\n}\r\n.ti-bag:before {\r\n content: \"\\e655\";\r\n}\r\n.ti-move:before {\r\n content: \"\\e656\";\r\n}\r\n.ti-arrows-vertical:before {\r\n content: \"\\e657\";\r\n}\r\n.ti-arrows-horizontal:before {\r\n content: \"\\e658\";\r\n}\r\n.ti-fullscreen:before {\r\n content: \"\\e659\";\r\n}\r\n.ti-arrow-top-right:before {\r\n content: \"\\e65a\";\r\n}\r\n.ti-arrow-top-left:before {\r\n content: \"\\e65b\";\r\n}\r\n.ti-arrow-circle-up:before {\r\n content: \"\\e65c\";\r\n}\r\n.ti-arrow-circle-right:before {\r\n content: \"\\e65d\";\r\n}\r\n.ti-arrow-circle-left:before {\r\n content: \"\\e65e\";\r\n}\r\n.ti-arrow-circle-down:before {\r\n content: \"\\e65f\";\r\n}\r\n.ti-angle-double-up:before {\r\n content: \"\\e660\";\r\n}\r\n.ti-angle-double-right:before {\r\n content: \"\\e661\";\r\n}\r\n.ti-angle-double-left:before {\r\n content: \"\\e662\";\r\n}\r\n.ti-angle-double-down:before {\r\n content: \"\\e663\";\r\n}\r\n.ti-zip:before {\r\n content: \"\\e664\";\r\n}\r\n.ti-world:before {\r\n content: \"\\e665\";\r\n}\r\n.ti-wheelchair:before {\r\n content: \"\\e666\";\r\n}\r\n.ti-view-list:before {\r\n content: \"\\e667\";\r\n}\r\n.ti-view-list-alt:before {\r\n content: \"\\e668\";\r\n}\r\n.ti-view-grid:before {\r\n content: \"\\e669\";\r\n}\r\n.ti-uppercase:before {\r\n content: \"\\e66a\";\r\n}\r\n.ti-upload:before {\r\n content: \"\\e66b\";\r\n}\r\n.ti-underline:before {\r\n content: \"\\e66c\";\r\n}\r\n.ti-truck:before {\r\n content: \"\\e66d\";\r\n}\r\n.ti-timer:before {\r\n content: \"\\e66e\";\r\n}\r\n.ti-ticket:before {\r\n content: \"\\e66f\";\r\n}\r\n.ti-thumb-up:before {\r\n content: \"\\e670\";\r\n}\r\n.ti-thumb-down:before {\r\n content: \"\\e671\";\r\n}\r\n.ti-text:before {\r\n content: \"\\e672\";\r\n}\r\n.ti-stats-up:before {\r\n content: \"\\e673\";\r\n}\r\n.ti-stats-down:before {\r\n content: \"\\e674\";\r\n}\r\n.ti-split-v:before {\r\n content: \"\\e675\";\r\n}\r\n.ti-split-h:before {\r\n content: \"\\e676\";\r\n}\r\n.ti-smallcap:before {\r\n content: \"\\e677\";\r\n}\r\n.ti-shine:before {\r\n content: \"\\e678\";\r\n}\r\n.ti-shift-right:before {\r\n content: \"\\e679\";\r\n}\r\n.ti-shift-left:before {\r\n content: \"\\e67a\";\r\n}\r\n.ti-shield:before {\r\n content: \"\\e67b\";\r\n}\r\n.ti-notepad:before {\r\n content: \"\\e67c\";\r\n}\r\n.ti-server:before {\r\n content: \"\\e67d\";\r\n}\r\n.ti-quote-right:before {\r\n content: \"\\e67e\";\r\n}\r\n.ti-quote-left:before {\r\n content: \"\\e67f\";\r\n}\r\n.ti-pulse:before {\r\n content: \"\\e680\";\r\n}\r\n.ti-printer:before {\r\n content: \"\\e681\";\r\n}\r\n.ti-power-off:before {\r\n content: \"\\e682\";\r\n}\r\n.ti-plug:before {\r\n content: \"\\e683\";\r\n}\r\n.ti-pie-chart:before {\r\n content: \"\\e684\";\r\n}\r\n.ti-paragraph:before {\r\n content: \"\\e685\";\r\n}\r\n.ti-panel:before {\r\n content: \"\\e686\";\r\n}\r\n.ti-package:before {\r\n content: \"\\e687\";\r\n}\r\n.ti-music:before {\r\n content: \"\\e688\";\r\n}\r\n.ti-music-alt:before {\r\n content: \"\\e689\";\r\n}\r\n.ti-mouse:before {\r\n content: \"\\e68a\";\r\n}\r\n.ti-mouse-alt:before {\r\n content: \"\\e68b\";\r\n}\r\n.ti-money:before {\r\n content: \"\\e68c\";\r\n}\r\n.ti-microphone:before {\r\n content: \"\\e68d\";\r\n}\r\n.ti-menu:before {\r\n content: \"\\e68e\";\r\n}\r\n.ti-menu-alt:before {\r\n content: \"\\e68f\";\r\n}\r\n.ti-map:before {\r\n content: \"\\e690\";\r\n}\r\n.ti-map-alt:before {\r\n content: \"\\e691\";\r\n}\r\n.ti-loop:before {\r\n content: \"\\e692\";\r\n}\r\n.ti-location-pin:before {\r\n content: \"\\e693\";\r\n}\r\n.ti-list:before {\r\n content: \"\\e694\";\r\n}\r\n.ti-light-bulb:before {\r\n content: \"\\e695\";\r\n}\r\n.ti-Italic:before {\r\n content: \"\\e696\";\r\n}\r\n.ti-info:before {\r\n content: \"\\e697\";\r\n}\r\n.ti-infinite:before {\r\n content: \"\\e698\";\r\n}\r\n.ti-id-badge:before {\r\n content: \"\\e699\";\r\n}\r\n.ti-hummer:before {\r\n content: \"\\e69a\";\r\n}\r\n.ti-home:before {\r\n content: \"\\e69b\";\r\n}\r\n.ti-help:before {\r\n content: \"\\e69c\";\r\n}\r\n.ti-headphone:before {\r\n content: \"\\e69d\";\r\n}\r\n.ti-harddrives:before {\r\n content: \"\\e69e\";\r\n}\r\n.ti-harddrive:before {\r\n content: \"\\e69f\";\r\n}\r\n.ti-gift:before {\r\n content: \"\\e6a0\";\r\n}\r\n.ti-game:before {\r\n content: \"\\e6a1\";\r\n}\r\n.ti-filter:before {\r\n content: \"\\e6a2\";\r\n}\r\n.ti-files:before {\r\n content: \"\\e6a3\";\r\n}\r\n.ti-file:before {\r\n content: \"\\e6a4\";\r\n}\r\n.ti-eraser:before {\r\n content: \"\\e6a5\";\r\n}\r\n.ti-envelope:before {\r\n content: \"\\e6a6\";\r\n}\r\n.ti-download:before {\r\n content: \"\\e6a7\";\r\n}\r\n.ti-direction:before {\r\n content: \"\\e6a8\";\r\n}\r\n.ti-direction-alt:before {\r\n content: \"\\e6a9\";\r\n}\r\n.ti-dashboard:before {\r\n content: \"\\e6aa\";\r\n}\r\n.ti-control-stop:before {\r\n content: \"\\e6ab\";\r\n}\r\n.ti-control-shuffle:before {\r\n content: \"\\e6ac\";\r\n}\r\n.ti-control-play:before {\r\n content: \"\\e6ad\";\r\n}\r\n.ti-control-pause:before {\r\n content: \"\\e6ae\";\r\n}\r\n.ti-control-forward:before {\r\n content: \"\\e6af\";\r\n}\r\n.ti-control-backward:before {\r\n content: \"\\e6b0\";\r\n}\r\n.ti-cloud:before {\r\n content: \"\\e6b1\";\r\n}\r\n.ti-cloud-up:before {\r\n content: \"\\e6b2\";\r\n}\r\n.ti-cloud-down:before {\r\n content: \"\\e6b3\";\r\n}\r\n.ti-clipboard:before {\r\n content: \"\\e6b4\";\r\n}\r\n.ti-car:before {\r\n content: \"\\e6b5\";\r\n}\r\n.ti-calendar:before {\r\n content: \"\\e6b6\";\r\n}\r\n.ti-book:before {\r\n content: \"\\e6b7\";\r\n}\r\n.ti-bell:before {\r\n content: \"\\e6b8\";\r\n}\r\n.ti-basketball:before {\r\n content: \"\\e6b9\";\r\n}\r\n.ti-bar-chart:before {\r\n content: \"\\e6ba\";\r\n}\r\n.ti-bar-chart-alt:before {\r\n content: \"\\e6bb\";\r\n}\r\n.ti-back-right:before {\r\n content: \"\\e6bc\";\r\n}\r\n.ti-back-left:before {\r\n content: \"\\e6bd\";\r\n}\r\n.ti-arrows-corner:before {\r\n content: \"\\e6be\";\r\n}\r\n.ti-archive:before {\r\n content: \"\\e6bf\";\r\n}\r\n.ti-anchor:before {\r\n content: \"\\e6c0\";\r\n}\r\n.ti-align-right:before {\r\n content: \"\\e6c1\";\r\n}\r\n.ti-align-left:before {\r\n content: \"\\e6c2\";\r\n}\r\n.ti-align-justify:before {\r\n content: \"\\e6c3\";\r\n}\r\n.ti-align-center:before {\r\n content: \"\\e6c4\";\r\n}\r\n.ti-alert:before {\r\n content: \"\\e6c5\";\r\n}\r\n.ti-alarm-clock:before {\r\n content: \"\\e6c6\";\r\n}\r\n.ti-agenda:before {\r\n content: \"\\e6c7\";\r\n}\r\n.ti-write:before {\r\n content: \"\\e6c8\";\r\n}\r\n.ti-window:before {\r\n content: \"\\e6c9\";\r\n}\r\n.ti-widgetized:before {\r\n content: \"\\e6ca\";\r\n}\r\n.ti-widget:before {\r\n content: \"\\e6cb\";\r\n}\r\n.ti-widget-alt:before {\r\n content: \"\\e6cc\";\r\n}\r\n.ti-wallet:before {\r\n content: \"\\e6cd\";\r\n}\r\n.ti-video-clapper:before {\r\n content: \"\\e6ce\";\r\n}\r\n.ti-video-camera:before {\r\n content: \"\\e6cf\";\r\n}\r\n.ti-vector:before {\r\n content: \"\\e6d0\";\r\n}\r\n.ti-themify-logo:before {\r\n content: \"\\e6d1\";\r\n}\r\n.ti-themify-favicon:before {\r\n content: \"\\e6d2\";\r\n}\r\n.ti-themify-favicon-alt:before {\r\n content: \"\\e6d3\";\r\n}\r\n.ti-support:before {\r\n content: \"\\e6d4\";\r\n}\r\n.ti-stamp:before {\r\n content: \"\\e6d5\";\r\n}\r\n.ti-split-v-alt:before {\r\n content: \"\\e6d6\";\r\n}\r\n.ti-slice:before {\r\n content: \"\\e6d7\";\r\n}\r\n.ti-shortcode:before {\r\n content: \"\\e6d8\";\r\n}\r\n.ti-shift-right-alt:before {\r\n content: \"\\e6d9\";\r\n}\r\n.ti-shift-left-alt:before {\r\n content: \"\\e6da\";\r\n}\r\n.ti-ruler-alt-2:before {\r\n content: \"\\e6db\";\r\n}\r\n.ti-receipt:before {\r\n content: \"\\e6dc\";\r\n}\r\n.ti-pin2:before {\r\n content: \"\\e6dd\";\r\n}\r\n.ti-pin-alt:before {\r\n content: \"\\e6de\";\r\n}\r\n.ti-pencil-alt2:before {\r\n content: \"\\e6df\";\r\n}\r\n.ti-palette:before {\r\n content: \"\\e6e0\";\r\n}\r\n.ti-more:before {\r\n content: \"\\e6e1\";\r\n}\r\n.ti-more-alt:before {\r\n content: \"\\e6e2\";\r\n}\r\n.ti-microphone-alt:before {\r\n content: \"\\e6e3\";\r\n}\r\n.ti-magnet:before {\r\n content: \"\\e6e4\";\r\n}\r\n.ti-line-double:before {\r\n content: \"\\e6e5\";\r\n}\r\n.ti-line-dotted:before {\r\n content: \"\\e6e6\";\r\n}\r\n.ti-line-dashed:before {\r\n content: \"\\e6e7\";\r\n}\r\n.ti-layout-width-full:before {\r\n content: \"\\e6e8\";\r\n}\r\n.ti-layout-width-default:before {\r\n content: \"\\e6e9\";\r\n}\r\n.ti-layout-width-default-alt:before {\r\n content: \"\\e6ea\";\r\n}\r\n.ti-layout-tab:before {\r\n content: \"\\e6eb\";\r\n}\r\n.ti-layout-tab-window:before {\r\n content: \"\\e6ec\";\r\n}\r\n.ti-layout-tab-v:before {\r\n content: \"\\e6ed\";\r\n}\r\n.ti-layout-tab-min:before {\r\n content: \"\\e6ee\";\r\n}\r\n.ti-layout-slider:before {\r\n content: \"\\e6ef\";\r\n}\r\n.ti-layout-slider-alt:before {\r\n content: \"\\e6f0\";\r\n}\r\n.ti-layout-sidebar-right:before {\r\n content: \"\\e6f1\";\r\n}\r\n.ti-layout-sidebar-none:before {\r\n content: \"\\e6f2\";\r\n}\r\n.ti-layout-sidebar-left:before {\r\n content: \"\\e6f3\";\r\n}\r\n.ti-layout-placeholder:before {\r\n content: \"\\e6f4\";\r\n}\r\n.ti-layout-menu:before {\r\n content: \"\\e6f5\";\r\n}\r\n.ti-layout-menu-v:before {\r\n content: \"\\e6f6\";\r\n}\r\n.ti-layout-menu-separated:before {\r\n content: \"\\e6f7\";\r\n}\r\n.ti-layout-menu-full:before {\r\n content: \"\\e6f8\";\r\n}\r\n.ti-layout-media-right-alt:before {\r\n content: \"\\e6f9\";\r\n}\r\n.ti-layout-media-right:before {\r\n content: \"\\e6fa\";\r\n}\r\n.ti-layout-media-overlay:before {\r\n content: \"\\e6fb\";\r\n}\r\n.ti-layout-media-overlay-alt:before {\r\n content: \"\\e6fc\";\r\n}\r\n.ti-layout-media-overlay-alt-2:before {\r\n content: \"\\e6fd\";\r\n}\r\n.ti-layout-media-left-alt:before {\r\n content: \"\\e6fe\";\r\n}\r\n.ti-layout-media-left:before {\r\n content: \"\\e6ff\";\r\n}\r\n.ti-layout-media-center-alt:before {\r\n content: \"\\e700\";\r\n}\r\n.ti-layout-media-center:before {\r\n content: \"\\e701\";\r\n}\r\n.ti-layout-list-thumb:before {\r\n content: \"\\e702\";\r\n}\r\n.ti-layout-list-thumb-alt:before {\r\n content: \"\\e703\";\r\n}\r\n.ti-layout-list-post:before {\r\n content: \"\\e704\";\r\n}\r\n.ti-layout-list-large-image:before {\r\n content: \"\\e705\";\r\n}\r\n.ti-layout-line-solid:before {\r\n content: \"\\e706\";\r\n}\r\n.ti-layout-grid4:before {\r\n content: \"\\e707\";\r\n}\r\n.ti-layout-grid3:before {\r\n content: \"\\e708\";\r\n}\r\n.ti-layout-grid2:before {\r\n content: \"\\e709\";\r\n}\r\n.ti-layout-grid2-thumb:before {\r\n content: \"\\e70a\";\r\n}\r\n.ti-layout-cta-right:before {\r\n content: \"\\e70b\";\r\n}\r\n.ti-layout-cta-left:before {\r\n content: \"\\e70c\";\r\n}\r\n.ti-layout-cta-center:before {\r\n content: \"\\e70d\";\r\n}\r\n.ti-layout-cta-btn-right:before {\r\n content: \"\\e70e\";\r\n}\r\n.ti-layout-cta-btn-left:before {\r\n content: \"\\e70f\";\r\n}\r\n.ti-layout-column4:before {\r\n content: \"\\e710\";\r\n}\r\n.ti-layout-column3:before {\r\n content: \"\\e711\";\r\n}\r\n.ti-layout-column2:before {\r\n content: \"\\e712\";\r\n}\r\n.ti-layout-accordion-separated:before {\r\n content: \"\\e713\";\r\n}\r\n.ti-layout-accordion-merged:before {\r\n content: \"\\e714\";\r\n}\r\n.ti-layout-accordion-list:before {\r\n content: \"\\e715\";\r\n}\r\n.ti-ink-pen:before {\r\n content: \"\\e716\";\r\n}\r\n.ti-info-alt:before {\r\n content: \"\\e717\";\r\n}\r\n.ti-help-alt:before {\r\n content: \"\\e718\";\r\n}\r\n.ti-headphone-alt:before {\r\n content: \"\\e719\";\r\n}\r\n.ti-hand-point-up:before {\r\n content: \"\\e71a\";\r\n}\r\n.ti-hand-point-right:before {\r\n content: \"\\e71b\";\r\n}\r\n.ti-hand-point-left:before {\r\n content: \"\\e71c\";\r\n}\r\n.ti-hand-point-down:before {\r\n content: \"\\e71d\";\r\n}\r\n.ti-gallery:before {\r\n content: \"\\e71e\";\r\n}\r\n.ti-face-smile:before {\r\n content: \"\\e71f\";\r\n}\r\n.ti-face-sad:before {\r\n content: \"\\e720\";\r\n}\r\n.ti-credit-card:before {\r\n content: \"\\e721\";\r\n}\r\n.ti-control-skip-forward:before {\r\n content: \"\\e722\";\r\n}\r\n.ti-control-skip-backward:before {\r\n content: \"\\e723\";\r\n}\r\n.ti-control-record:before {\r\n content: \"\\e724\";\r\n}\r\n.ti-control-eject:before {\r\n content: \"\\e725\";\r\n}\r\n.ti-comments-smiley:before {\r\n content: \"\\e726\";\r\n}\r\n.ti-brush-alt:before {\r\n content: \"\\e727\";\r\n}\r\n.ti-youtube:before {\r\n content: \"\\e728\";\r\n}\r\n.ti-vimeo:before {\r\n content: \"\\e729\";\r\n}\r\n.ti-twitter:before {\r\n content: \"\\e72a\";\r\n}\r\n.ti-time:before {\r\n content: \"\\e72b\";\r\n}\r\n.ti-tumblr:before {\r\n content: \"\\e72c\";\r\n}\r\n.ti-skype:before {\r\n content: \"\\e72d\";\r\n}\r\n.ti-share:before {\r\n content: \"\\e72e\";\r\n}\r\n.ti-share-alt:before {\r\n content: \"\\e72f\";\r\n}\r\n.ti-rocket:before {\r\n content: \"\\e730\";\r\n}\r\n.ti-pinterest:before {\r\n content: \"\\e731\";\r\n}\r\n.ti-new-window:before {\r\n content: \"\\e732\";\r\n}\r\n.ti-microsoft:before {\r\n content: \"\\e733\";\r\n}\r\n.ti-list-ol:before {\r\n content: \"\\e734\";\r\n}\r\n.ti-linkedin:before {\r\n content: \"\\e735\";\r\n}\r\n.ti-layout-sidebar-2:before {\r\n content: \"\\e736\";\r\n}\r\n.ti-layout-grid4-alt:before {\r\n content: \"\\e737\";\r\n}\r\n.ti-layout-grid3-alt:before {\r\n content: \"\\e738\";\r\n}\r\n.ti-layout-grid2-alt:before {\r\n content: \"\\e739\";\r\n}\r\n.ti-layout-column4-alt:before {\r\n content: \"\\e73a\";\r\n}\r\n.ti-layout-column3-alt:before {\r\n content: \"\\e73b\";\r\n}\r\n.ti-layout-column2-alt:before {\r\n content: \"\\e73c\";\r\n}\r\n.ti-instagram:before {\r\n content: \"\\e73d\";\r\n}\r\n.ti-google:before {\r\n content: \"\\e73e\";\r\n}\r\n.ti-github:before {\r\n content: \"\\e73f\";\r\n}\r\n.ti-flickr:before {\r\n content: \"\\e740\";\r\n}\r\n.ti-facebook:before {\r\n content: \"\\e741\";\r\n}\r\n.ti-dropbox:before {\r\n content: \"\\e742\";\r\n}\r\n.ti-dribbble:before {\r\n content: \"\\e743\";\r\n}\r\n.ti-apple:before {\r\n content: \"\\e744\";\r\n}\r\n.ti-android:before {\r\n content: \"\\e745\";\r\n}\r\n.ti-save:before {\r\n content: \"\\e746\";\r\n}\r\n.ti-save-alt:before {\r\n content: \"\\e747\";\r\n}\r\n.ti-yahoo:before {\r\n content: \"\\e748\";\r\n}\r\n.ti-wordpress:before {\r\n content: \"\\e749\";\r\n}\r\n.ti-vimeo-alt:before {\r\n content: \"\\e74a\";\r\n}\r\n.ti-twitter-alt:before {\r\n content: \"\\e74b\";\r\n}\r\n.ti-tumblr-alt:before {\r\n content: \"\\e74c\";\r\n}\r\n.ti-trello:before {\r\n content: \"\\e74d\";\r\n}\r\n.ti-stack-overflow:before {\r\n content: \"\\e74e\";\r\n}\r\n.ti-soundcloud:before {\r\n content: \"\\e74f\";\r\n}\r\n.ti-sharethis:before {\r\n content: \"\\e750\";\r\n}\r\n.ti-sharethis-alt:before {\r\n content: \"\\e751\";\r\n}\r\n.ti-reddit:before {\r\n content: \"\\e752\";\r\n}\r\n.ti-pinterest-alt:before {\r\n content: \"\\e753\";\r\n}\r\n.ti-microsoft-alt:before {\r\n content: \"\\e754\";\r\n}\r\n.ti-linux:before {\r\n content: \"\\e755\";\r\n}\r\n.ti-jsfiddle:before {\r\n content: \"\\e756\";\r\n}\r\n.ti-joomla:before {\r\n content: \"\\e757\";\r\n}\r\n.ti-html5:before {\r\n content: \"\\e758\";\r\n}\r\n.ti-flickr-alt:before {\r\n content: \"\\e759\";\r\n}\r\n.ti-email:before {\r\n content: \"\\e75a\";\r\n}\r\n.ti-drupal:before {\r\n content: \"\\e75b\";\r\n}\r\n.ti-dropbox-alt:before {\r\n content: \"\\e75c\";\r\n}\r\n.ti-css3:before {\r\n content: \"\\e75d\";\r\n}\r\n.ti-rss:before {\r\n content: \"\\e75e\";\r\n}\r\n.ti-rss-alt:before {\r\n content: \"\\e75f\";\r\n}\r\n/*!\r\n * Weather Icons 2.0\r\n * Updated August 1, 2015\r\n * Weather themed icons for Bootstrap\r\n * Author - Erik Flowers - erik@helloerik.com\r\n * Email: erik@helloerik.com\r\n * Twitter: http://twitter.com/Erik_UX\r\n * ------------------------------------------------------------------------------\r\n * Maintained at http://erikflowers.github.io/weather-icons\r\n *\r\n * License\r\n * ------------------------------------------------------------------------------\r\n * - Font licensed under SIL OFL 1.1 -\r\n * http://scripts.sil.org/OFL\r\n * - CSS, SCSS and LESS are licensed under MIT License -\r\n * http://opensource.org/licenses/mit-license.html\r\n * - Documentation licensed under CC BY 3.0 -\r\n * http://creativecommons.org/licenses/by/3.0/\r\n * - Inspired by and works great as a companion with Font Awesome\r\n * \"Font Awesome by Dave Gandy - http://fontawesome.io\"\r\n */\r\n@font-face {\r\n font-family: 'weathericons';\r\n src: url('../fonts/weathericons-regular-webfont.eot');\r\n src: url('../fonts/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/weathericons-regular-webfont.woff2') format('woff2'), url('../fonts/weathericons-regular-webfont.woff') format('woff'), url('../fonts/weathericons-regular-webfont.ttf') format('truetype'), url('../fonts/weathericons-regular-webfont.svg#weather_iconsregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.wi {\r\n display: inline-block;\r\n font-family: 'weathericons';\r\n font-style: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.wi-fw {\r\n text-align: center;\r\n width: 1.4em;\r\n}\r\n.wi-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n transform: rotate(90deg);\r\n}\r\n.wi-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n transform: rotate(180deg);\r\n}\r\n.wi-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n transform: rotate(270deg);\r\n}\r\n.wi-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n transform: scale(-1, 1);\r\n}\r\n.wi-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n transform: scale(1, -1);\r\n}\r\n.wi-day-sunny:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-day-cloudy:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-day-cloudy-gusts:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-day-cloudy-windy:before {\r\n content: \"\\f001\";\r\n}\r\n.wi-day-fog:before {\r\n content: \"\\f003\";\r\n}\r\n.wi-day-hail:before {\r\n content: \"\\f004\";\r\n}\r\n.wi-day-haze:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-day-lightning:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-day-rain:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-day-rain-mix:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-day-rain-wind:before {\r\n content: \"\\f007\";\r\n}\r\n.wi-day-showers:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-day-sleet:before {\r\n content: \"\\f0b2\";\r\n}\r\n.wi-day-sleet-storm:before {\r\n content: \"\\f068\";\r\n}\r\n.wi-day-snow:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-day-snow-thunderstorm:before {\r\n content: \"\\f06b\";\r\n}\r\n.wi-day-snow-wind:before {\r\n content: \"\\f065\";\r\n}\r\n.wi-day-sprinkle:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-day-storm-showers:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-day-sunny-overcast:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-day-thunderstorm:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-day-windy:before {\r\n content: \"\\f085\";\r\n}\r\n.wi-solar-eclipse:before {\r\n content: \"\\f06e\";\r\n}\r\n.wi-hot:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-day-cloudy-high:before {\r\n content: \"\\f07d\";\r\n}\r\n.wi-day-light-wind:before {\r\n content: \"\\f0c4\";\r\n}\r\n.wi-night-clear:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-night-alt-cloudy:before {\r\n content: \"\\f086\";\r\n}\r\n.wi-night-alt-cloudy-gusts:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-night-alt-cloudy-windy:before {\r\n content: \"\\f023\";\r\n}\r\n.wi-night-alt-hail:before {\r\n content: \"\\f024\";\r\n}\r\n.wi-night-alt-lightning:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-night-alt-rain:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-night-alt-rain-mix:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-night-alt-rain-wind:before {\r\n content: \"\\f027\";\r\n}\r\n.wi-night-alt-showers:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-night-alt-sleet:before {\r\n content: \"\\f0b4\";\r\n}\r\n.wi-night-alt-sleet-storm:before {\r\n content: \"\\f06a\";\r\n}\r\n.wi-night-alt-snow:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-night-alt-snow-thunderstorm:before {\r\n content: \"\\f06d\";\r\n}\r\n.wi-night-alt-snow-wind:before {\r\n content: \"\\f067\";\r\n}\r\n.wi-night-alt-sprinkle:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-night-alt-storm-showers:before {\r\n content: \"\\f02c\";\r\n}\r\n.wi-night-alt-thunderstorm:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-night-cloudy:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-night-cloudy-gusts:before {\r\n content: \"\\f02f\";\r\n}\r\n.wi-night-cloudy-windy:before {\r\n content: \"\\f030\";\r\n}\r\n.wi-night-fog:before {\r\n content: \"\\f04a\";\r\n}\r\n.wi-night-hail:before {\r\n content: \"\\f032\";\r\n}\r\n.wi-night-lightning:before {\r\n content: \"\\f033\";\r\n}\r\n.wi-night-partly-cloudy:before {\r\n content: \"\\f083\";\r\n}\r\n.wi-night-rain:before {\r\n content: \"\\f036\";\r\n}\r\n.wi-night-rain-mix:before {\r\n content: \"\\f034\";\r\n}\r\n.wi-night-rain-wind:before {\r\n content: \"\\f035\";\r\n}\r\n.wi-night-showers:before {\r\n content: \"\\f037\";\r\n}\r\n.wi-night-sleet:before {\r\n content: \"\\f0b3\";\r\n}\r\n.wi-night-sleet-storm:before {\r\n content: \"\\f069\";\r\n}\r\n.wi-night-snow:before {\r\n content: \"\\f038\";\r\n}\r\n.wi-night-snow-thunderstorm:before {\r\n content: \"\\f06c\";\r\n}\r\n.wi-night-snow-wind:before {\r\n content: \"\\f066\";\r\n}\r\n.wi-night-sprinkle:before {\r\n content: \"\\f039\";\r\n}\r\n.wi-night-storm-showers:before {\r\n content: \"\\f03a\";\r\n}\r\n.wi-night-thunderstorm:before {\r\n content: \"\\f03b\";\r\n}\r\n.wi-lunar-eclipse:before {\r\n content: \"\\f070\";\r\n}\r\n.wi-stars:before {\r\n content: \"\\f077\";\r\n}\r\n.wi-storm-showers:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-night-alt-cloudy-high:before {\r\n content: \"\\f07e\";\r\n}\r\n.wi-night-cloudy-high:before {\r\n content: \"\\f080\";\r\n}\r\n.wi-night-alt-partly-cloudy:before {\r\n content: \"\\f081\";\r\n}\r\n.wi-cloud:before {\r\n content: \"\\f041\";\r\n}\r\n.wi-cloudy:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-cloudy-gusts:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-cloudy-windy:before {\r\n content: \"\\f012\";\r\n}\r\n.wi-fog:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-hail:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-rain:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-rain-mix:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-rain-wind:before {\r\n content: \"\\f018\";\r\n}\r\n.wi-showers:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-sleet:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-sprinkle:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-storm-showers:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-snow-wind:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-smog:before {\r\n content: \"\\f074\";\r\n}\r\n.wi-smoke:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-lightning:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-raindrops:before {\r\n content: \"\\f04e\";\r\n}\r\n.wi-raindrop:before {\r\n content: \"\\f078\";\r\n}\r\n.wi-dust:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-snowflake-cold:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-windy:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-strong-wind:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-sandstorm:before {\r\n content: \"\\f082\";\r\n}\r\n.wi-earthquake:before {\r\n content: \"\\f0c6\";\r\n}\r\n.wi-fire:before {\r\n content: \"\\f0c7\";\r\n}\r\n.wi-flood:before {\r\n content: \"\\f07c\";\r\n}\r\n.wi-meteor:before {\r\n content: \"\\f071\";\r\n}\r\n.wi-tsunami:before {\r\n content: \"\\f0c5\";\r\n}\r\n.wi-volcano:before {\r\n content: \"\\f0c8\";\r\n}\r\n.wi-hurricane:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-tornado:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-small-craft-advisory:before {\r\n content: \"\\f0cc\";\r\n}\r\n.wi-gale-warning:before {\r\n content: \"\\f0cd\";\r\n}\r\n.wi-storm-warning:before {\r\n content: \"\\f0ce\";\r\n}\r\n.wi-hurricane-warning:before {\r\n content: \"\\f0cf\";\r\n}\r\n.wi-wind-direction:before {\r\n content: \"\\f0b1\";\r\n}\r\n.wi-alien:before {\r\n content: \"\\f075\";\r\n}\r\n.wi-celsius:before {\r\n content: \"\\f03c\";\r\n}\r\n.wi-fahrenheit:before {\r\n content: \"\\f045\";\r\n}\r\n.wi-degrees:before {\r\n content: \"\\f042\";\r\n}\r\n.wi-thermometer:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-thermometer-exterior:before {\r\n content: \"\\f053\";\r\n}\r\n.wi-thermometer-internal:before {\r\n content: \"\\f054\";\r\n}\r\n.wi-cloud-down:before {\r\n content: \"\\f03d\";\r\n}\r\n.wi-cloud-up:before {\r\n content: \"\\f040\";\r\n}\r\n.wi-cloud-refresh:before {\r\n content: \"\\f03e\";\r\n}\r\n.wi-horizon:before {\r\n content: \"\\f047\";\r\n}\r\n.wi-horizon-alt:before {\r\n content: \"\\f046\";\r\n}\r\n.wi-sunrise:before {\r\n content: \"\\f051\";\r\n}\r\n.wi-sunset:before {\r\n content: \"\\f052\";\r\n}\r\n.wi-moonrise:before {\r\n content: \"\\f0c9\";\r\n}\r\n.wi-moonset:before {\r\n content: \"\\f0ca\";\r\n}\r\n.wi-refresh:before {\r\n content: \"\\f04c\";\r\n}\r\n.wi-refresh-alt:before {\r\n content: \"\\f04b\";\r\n}\r\n.wi-umbrella:before {\r\n content: \"\\f084\";\r\n}\r\n.wi-barometer:before {\r\n content: \"\\f079\";\r\n}\r\n.wi-humidity:before {\r\n content: \"\\f07a\";\r\n}\r\n.wi-na:before {\r\n content: \"\\f07b\";\r\n}\r\n.wi-train:before {\r\n content: \"\\f0cb\";\r\n}\r\n.wi-moon-new:before {\r\n content: \"\\f095\";\r\n}\r\n.wi-moon-waxing-cresent-1:before {\r\n content: \"\\f096\";\r\n}\r\n.wi-moon-waxing-cresent-2:before {\r\n content: \"\\f097\";\r\n}\r\n.wi-moon-waxing-cresent-3:before {\r\n content: \"\\f098\";\r\n}\r\n.wi-moon-waxing-cresent-4:before {\r\n content: \"\\f099\";\r\n}\r\n.wi-moon-waxing-cresent-5:before {\r\n content: \"\\f09a\";\r\n}\r\n.wi-moon-waxing-cresent-6:before {\r\n content: \"\\f09b\";\r\n}\r\n.wi-moon-first-quarter:before {\r\n content: \"\\f09c\";\r\n}\r\n.wi-moon-waxing-gibbous-1:before {\r\n content: \"\\f09d\";\r\n}\r\n.wi-moon-waxing-gibbous-2:before {\r\n content: \"\\f09e\";\r\n}\r\n.wi-moon-waxing-gibbous-3:before {\r\n content: \"\\f09f\";\r\n}\r\n.wi-moon-waxing-gibbous-4:before {\r\n content: \"\\f0a0\";\r\n}\r\n.wi-moon-waxing-gibbous-5:before {\r\n content: \"\\f0a1\";\r\n}\r\n.wi-moon-waxing-gibbous-6:before {\r\n content: \"\\f0a2\";\r\n}\r\n.wi-moon-full:before {\r\n content: \"\\f0a3\";\r\n}\r\n.wi-moon-waning-gibbous-1:before {\r\n content: \"\\f0a4\";\r\n}\r\n.wi-moon-waning-gibbous-2:before {\r\n content: \"\\f0a5\";\r\n}\r\n.wi-moon-waning-gibbous-3:before {\r\n content: \"\\f0a6\";\r\n}\r\n.wi-moon-waning-gibbous-4:before {\r\n content: \"\\f0a7\";\r\n}\r\n.wi-moon-waning-gibbous-5:before {\r\n content: \"\\f0a8\";\r\n}\r\n.wi-moon-waning-gibbous-6:before {\r\n content: \"\\f0a9\";\r\n}\r\n.wi-moon-third-quarter:before {\r\n content: \"\\f0aa\";\r\n}\r\n.wi-moon-waning-crescent-1:before {\r\n content: \"\\f0ab\";\r\n}\r\n.wi-moon-waning-crescent-2:before {\r\n content: \"\\f0ac\";\r\n}\r\n.wi-moon-waning-crescent-3:before {\r\n content: \"\\f0ad\";\r\n}\r\n.wi-moon-waning-crescent-4:before {\r\n content: \"\\f0ae\";\r\n}\r\n.wi-moon-waning-crescent-5:before {\r\n content: \"\\f0af\";\r\n}\r\n.wi-moon-waning-crescent-6:before {\r\n content: \"\\f0b0\";\r\n}\r\n.wi-moon-alt-new:before {\r\n content: \"\\f0eb\";\r\n}\r\n.wi-moon-alt-waxing-cresent-1:before {\r\n content: \"\\f0d0\";\r\n}\r\n.wi-moon-alt-waxing-cresent-2:before {\r\n content: \"\\f0d1\";\r\n}\r\n.wi-moon-alt-waxing-cresent-3:before {\r\n content: \"\\f0d2\";\r\n}\r\n.wi-moon-alt-waxing-cresent-4:before {\r\n content: \"\\f0d3\";\r\n}\r\n.wi-moon-alt-waxing-cresent-5:before {\r\n content: \"\\f0d4\";\r\n}\r\n.wi-moon-alt-waxing-cresent-6:before {\r\n content: \"\\f0d5\";\r\n}\r\n.wi-moon-alt-first-quarter:before {\r\n content: \"\\f0d6\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-1:before {\r\n content: \"\\f0d7\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-2:before {\r\n content: \"\\f0d8\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-3:before {\r\n content: \"\\f0d9\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-4:before {\r\n content: \"\\f0da\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-5:before {\r\n content: \"\\f0db\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-6:before {\r\n content: \"\\f0dc\";\r\n}\r\n.wi-moon-alt-full:before {\r\n content: \"\\f0dd\";\r\n}\r\n.wi-moon-alt-waning-gibbous-1:before {\r\n content: \"\\f0de\";\r\n}\r\n.wi-moon-alt-waning-gibbous-2:before {\r\n content: \"\\f0df\";\r\n}\r\n.wi-moon-alt-waning-gibbous-3:before {\r\n content: \"\\f0e0\";\r\n}\r\n.wi-moon-alt-waning-gibbous-4:before {\r\n content: \"\\f0e1\";\r\n}\r\n.wi-moon-alt-waning-gibbous-5:before {\r\n content: \"\\f0e2\";\r\n}\r\n.wi-moon-alt-waning-gibbous-6:before {\r\n content: \"\\f0e3\";\r\n}\r\n.wi-moon-alt-third-quarter:before {\r\n content: \"\\f0e4\";\r\n}\r\n.wi-moon-alt-waning-crescent-1:before {\r\n content: \"\\f0e5\";\r\n}\r\n.wi-moon-alt-waning-crescent-2:before {\r\n content: \"\\f0e6\";\r\n}\r\n.wi-moon-alt-waning-crescent-3:before {\r\n content: \"\\f0e7\";\r\n}\r\n.wi-moon-alt-waning-crescent-4:before {\r\n content: \"\\f0e8\";\r\n}\r\n.wi-moon-alt-waning-crescent-5:before {\r\n content: \"\\f0e9\";\r\n}\r\n.wi-moon-alt-waning-crescent-6:before {\r\n content: \"\\f0ea\";\r\n}\r\n.wi-moon-0:before {\r\n content: \"\\f095\";\r\n}\r\n.wi-moon-1:before {\r\n content: \"\\f096\";\r\n}\r\n.wi-moon-2:before {\r\n content: \"\\f097\";\r\n}\r\n.wi-moon-3:before {\r\n content: \"\\f098\";\r\n}\r\n.wi-moon-4:before {\r\n content: \"\\f099\";\r\n}\r\n.wi-moon-5:before {\r\n content: \"\\f09a\";\r\n}\r\n.wi-moon-6:before {\r\n content: \"\\f09b\";\r\n}\r\n.wi-moon-7:before {\r\n content: \"\\f09c\";\r\n}\r\n.wi-moon-8:before {\r\n content: \"\\f09d\";\r\n}\r\n.wi-moon-9:before {\r\n content: \"\\f09e\";\r\n}\r\n.wi-moon-10:before {\r\n content: \"\\f09f\";\r\n}\r\n.wi-moon-11:before {\r\n content: \"\\f0a0\";\r\n}\r\n.wi-moon-12:before {\r\n content: \"\\f0a1\";\r\n}\r\n.wi-moon-13:before {\r\n content: \"\\f0a2\";\r\n}\r\n.wi-moon-14:before {\r\n content: \"\\f0a3\";\r\n}\r\n.wi-moon-15:before {\r\n content: \"\\f0a4\";\r\n}\r\n.wi-moon-16:before {\r\n content: \"\\f0a5\";\r\n}\r\n.wi-moon-17:before {\r\n content: \"\\f0a6\";\r\n}\r\n.wi-moon-18:before {\r\n content: \"\\f0a7\";\r\n}\r\n.wi-moon-19:before {\r\n content: \"\\f0a8\";\r\n}\r\n.wi-moon-20:before {\r\n content: \"\\f0a9\";\r\n}\r\n.wi-moon-21:before {\r\n content: \"\\f0aa\";\r\n}\r\n.wi-moon-22:before {\r\n content: \"\\f0ab\";\r\n}\r\n.wi-moon-23:before {\r\n content: \"\\f0ac\";\r\n}\r\n.wi-moon-24:before {\r\n content: \"\\f0ad\";\r\n}\r\n.wi-moon-25:before {\r\n content: \"\\f0ae\";\r\n}\r\n.wi-moon-26:before {\r\n content: \"\\f0af\";\r\n}\r\n.wi-moon-27:before {\r\n content: \"\\f0b0\";\r\n}\r\n.wi-time-1:before {\r\n content: \"\\f08a\";\r\n}\r\n.wi-time-2:before {\r\n content: \"\\f08b\";\r\n}\r\n.wi-time-3:before {\r\n content: \"\\f08c\";\r\n}\r\n.wi-time-4:before {\r\n content: \"\\f08d\";\r\n}\r\n.wi-time-5:before {\r\n content: \"\\f08e\";\r\n}\r\n.wi-time-6:before {\r\n content: \"\\f08f\";\r\n}\r\n.wi-time-7:before {\r\n content: \"\\f090\";\r\n}\r\n.wi-time-8:before {\r\n content: \"\\f091\";\r\n}\r\n.wi-time-9:before {\r\n content: \"\\f092\";\r\n}\r\n.wi-time-10:before {\r\n content: \"\\f093\";\r\n}\r\n.wi-time-11:before {\r\n content: \"\\f094\";\r\n}\r\n.wi-time-12:before {\r\n content: \"\\f089\";\r\n}\r\n.wi-direction-up:before {\r\n content: \"\\f058\";\r\n}\r\n.wi-direction-up-right:before {\r\n content: \"\\f057\";\r\n}\r\n.wi-direction-right:before {\r\n content: \"\\f04d\";\r\n}\r\n.wi-direction-down-right:before {\r\n content: \"\\f088\";\r\n}\r\n.wi-direction-down:before {\r\n content: \"\\f044\";\r\n}\r\n.wi-direction-down-left:before {\r\n content: \"\\f043\";\r\n}\r\n.wi-direction-left:before {\r\n content: \"\\f048\";\r\n}\r\n.wi-direction-up-left:before {\r\n content: \"\\f087\";\r\n}\r\n.wi-wind-beaufort-0:before {\r\n content: \"\\f0b7\";\r\n}\r\n.wi-wind-beaufort-1:before {\r\n content: \"\\f0b8\";\r\n}\r\n.wi-wind-beaufort-2:before {\r\n content: \"\\f0b9\";\r\n}\r\n.wi-wind-beaufort-3:before {\r\n content: \"\\f0ba\";\r\n}\r\n.wi-wind-beaufort-4:before {\r\n content: \"\\f0bb\";\r\n}\r\n.wi-wind-beaufort-5:before {\r\n content: \"\\f0bc\";\r\n}\r\n.wi-wind-beaufort-6:before {\r\n content: \"\\f0bd\";\r\n}\r\n.wi-wind-beaufort-7:before {\r\n content: \"\\f0be\";\r\n}\r\n.wi-wind-beaufort-8:before {\r\n content: \"\\f0bf\";\r\n}\r\n.wi-wind-beaufort-9:before {\r\n content: \"\\f0c0\";\r\n}\r\n.wi-wind-beaufort-10:before {\r\n content: \"\\f0c1\";\r\n}\r\n.wi-wind-beaufort-11:before {\r\n content: \"\\f0c2\";\r\n}\r\n.wi-wind-beaufort-12:before {\r\n content: \"\\f0c3\";\r\n}\r\n.wi-yahoo-0:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-yahoo-1:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-2:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-yahoo-3:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-yahoo-4:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-yahoo-5:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-6:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-7:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-8:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-9:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-10:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-11:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-12:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-13:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-14:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-yahoo-15:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-16:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-17:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-18:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-19:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-yahoo-20:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-yahoo-21:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-yahoo-22:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-yahoo-23:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-yahoo-24:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-yahoo-25:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-yahoo-26:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-yahoo-27:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-yahoo-28:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-yahoo-29:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-yahoo-30:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-yahoo-31:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-yahoo-32:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-yahoo-33:before {\r\n content: \"\\f083\";\r\n}\r\n.wi-yahoo-34:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-yahoo-35:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-36:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-yahoo-37:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-38:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-39:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-40:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-41:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-42:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-43:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-44:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-yahoo-45:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-46:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-47:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-3200:before {\r\n content: \"\\f077\";\r\n}\r\n.wi-forecast-io-clear-day:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-forecast-io-clear-night:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-forecast-io-rain:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-forecast-io-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-forecast-io-sleet:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-forecast-io-wind:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-forecast-io-fog:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-forecast-io-cloudy:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-forecast-io-partly-cloudy-day:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-forecast-io-partly-cloudy-night:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-forecast-io-hail:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-forecast-io-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-forecast-io-tornado:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-wmo4680-0:before,\r\n.wi-wmo4680-00:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-wmo4680-1:before,\r\n.wi-wmo4680-01:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-wmo4680-2:before,\r\n.wi-wmo4680-02:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-wmo4680-3:before,\r\n.wi-wmo4680-03:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-wmo4680-4:before,\r\n.wi-wmo4680-04:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-5:before,\r\n.wi-wmo4680-05:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-10:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-11:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-12:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-18:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-wmo4680-20:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-21:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-22:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-23:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-24:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-25:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-26:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-27:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-28:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-29:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-30:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-31:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-32:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-33:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-34:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-35:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-40:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-41:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-42:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-43:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-44:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-45:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-46:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-47:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-48:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-50:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-51:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-52:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-53:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-54:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-55:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-56:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-57:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-58:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-60:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-61:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-62:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-63:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-64:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-65:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-66:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-67:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-68:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-70:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-71:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-72:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-73:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-74:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-75:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-76:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-77:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-78:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-80:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-81:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-82:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-83:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-84:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-wmo4680-85:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-86:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-87:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-89:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-90:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-91:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-wmo4680-92:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-93:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-94:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-95:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-96:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-99:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-200:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-201:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-202:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-210:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-211:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-212:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-221:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-230:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-231:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-232:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-300:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-301:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-302:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-310:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-311:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-312:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-313:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-314:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-321:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-500:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-501:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-502:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-503:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-504:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-511:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-520:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-521:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-522:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-531:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-owm-600:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-601:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-602:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-owm-611:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-612:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-615:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-616:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-620:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-621:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-622:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-701:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-741:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-owm-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-771:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-800:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-owm-801:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-802:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-803:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-803:before {\r\n content: \"\\f012\";\r\n}\r\n.wi-owm-804:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-owm-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-901:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-owm-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-905:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-owm-906:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-owm-957:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-owm-day-200:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-201:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-202:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-210:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-211:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-212:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-221:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-230:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-231:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-232:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-300:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-301:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-302:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-310:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-311:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-312:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-313:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-314:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-321:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-500:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-501:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-502:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-503:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-504:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-511:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-520:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-521:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-522:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-531:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-owm-day-600:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-601:before {\r\n content: \"\\f0b2\";\r\n}\r\n.wi-owm-day-602:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-611:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-612:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-615:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-616:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-620:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-621:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-622:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-701:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-day-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-day-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-741:before {\r\n content: \"\\f003\";\r\n}\r\n.wi-owm-day-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-day-800:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-owm-day-801:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-802:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-803:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-804:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-owm-day-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-day-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-day-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-day-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-day-906:before {\r\n content: \"\\f004\";\r\n}\r\n.wi-owm-day-957:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-owm-night-200:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-201:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-202:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-210:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-211:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-212:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-221:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-230:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-231:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-232:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-300:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-301:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-302:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-310:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-311:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-312:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-313:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-314:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-321:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-500:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-501:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-502:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-503:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-504:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-511:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-520:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-521:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-522:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-531:before {\r\n content: \"\\f02c\";\r\n}\r\n.wi-owm-night-600:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-601:before {\r\n content: \"\\f0b4\";\r\n}\r\n.wi-owm-night-602:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-611:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-612:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-615:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-616:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-620:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-621:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-622:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-701:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-night-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-night-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-741:before {\r\n content: \"\\f04a\";\r\n}\r\n.wi-owm-night-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-night-800:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-owm-night-801:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-802:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-803:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-804:before {\r\n content: \"\\f086\";\r\n}\r\n.wi-owm-night-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-night-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-night-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-night-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-night-906:before {\r\n content: \"\\f024\";\r\n}\r\n.wi-owm-night-957:before {\r\n content: \"\\f050\";\r\n}\r\n"; }); -define('text!microservices/stats/current/current-course.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/auth/login.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/menu.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Menu\r\n*/\r\nbody {\r\n padding-bottom: 61px;\r\n}\r\n.wrapper {\r\n margin-top: 145px;\r\n}\r\n.container {\r\n width: 95%;\r\n}\r\n.page-title {\r\n margin-bottom: 20px;\r\n margin-top: 0;\r\n}\r\n#topnav {\r\n position: fixed;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n z-index: 1030;\r\n background-color: transparent;\r\n border: 0;\r\n transition: all .5s ease;\r\n min-height: 62px;\r\n}\r\n#topnav .has-submenu.active a {\r\n color: #3bafda;\r\n}\r\n#topnav .has-submenu.active a i {\r\n color: #3bafda;\r\n}\r\n#topnav .has-submenu.active .submenu li.active > a {\r\n color: #3bafda;\r\n}\r\n#topnav .topbar-main {\r\n background-color: #3bafda;\r\n}\r\n#topnav .topbar-main .logo {\r\n color: #ffffff !important;\r\n font-size: 18px;\r\n font-weight: 700;\r\n letter-spacing: .05em;\r\n margin-top: 9px;\r\n float: left;\r\n}\r\n#topnav .topbar-main .logo h1 {\r\n margin: 0px auto;\r\n text-align: center;\r\n}\r\n#topnav .topbar-main .logo i {\r\n color: #ffffff;\r\n}\r\n#topnav .topbar-main .badge {\r\n position: absolute;\r\n top: 12px;\r\n right: 7px;\r\n}\r\n#topnav .topbar-main .nav > li > a {\r\n color: #ffffff !important;\r\n line-height: 60px;\r\n padding: 0px 15px !important;\r\n position: relative;\r\n background: transparent !important;\r\n}\r\n#topnav .topbar-main .nav > li > a i {\r\n font-size: 16px;\r\n}\r\n#topnav .topbar-main .nav > li > a {\r\n padding: 0px 15px !important;\r\n}\r\n#topnav .topbar-main .navbar-nav > .open > a {\r\n background-color: rgba(255, 255, 255, 0.1) !important;\r\n}\r\n#topnav .topbar-main .profile img {\r\n border: 2px solid #edf0f0;\r\n height: 36px;\r\n width: 36px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg {\r\n width: 300px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .list-group {\r\n margin-bottom: 0px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .list-group-item {\r\n border: none;\r\n padding: 10px 20px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .media-heading {\r\n margin-bottom: 0px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .media-body p {\r\n color: #828282;\r\n}\r\n#topnav .topbar-main .notification-list {\r\n max-height: 230px;\r\n}\r\n#topnav .topbar-main .notification-list em {\r\n width: 34px;\r\n text-align: center;\r\n}\r\n#topnav .topbar-main .notification-list .media-body {\r\n display: inherit;\r\n width: auto;\r\n overflow: hidden;\r\n margin-left: 50px;\r\n}\r\n#topnav .topbar-main .notification-list .media-body h5 {\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n width: 100%;\r\n font-weight: normal;\r\n overflow: hidden;\r\n}\r\n#topnav .topbar-main .notifi-title {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n font-size: 15px;\r\n text-transform: uppercase;\r\n font-weight: 600;\r\n padding: 11px 20px 15px;\r\n font-family: 'Source Sans Pro', sans-serif;\r\n}\r\n#topnav .topbar-main .navbar-nav {\r\n margin: 0;\r\n}\r\n#topnav .app-search {\r\n position: relative;\r\n margin: 14px 20px 14px 10px;\r\n}\r\n#topnav .app-search a {\r\n position: absolute;\r\n top: 6px;\r\n right: 20px;\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search .form-control,\r\n#topnav .app-search .form-control:focus {\r\n border: none;\r\n font-size: 13px;\r\n color: #ffffff;\r\n padding-left: 20px;\r\n padding-right: 40px;\r\n background: rgba(255, 255, 255, 0.2);\r\n box-shadow: none;\r\n border-radius: 30px;\r\n height: 34px;\r\n width: 180px;\r\n}\r\n#topnav .app-search input::-webkit-input-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n font-weight: normal;\r\n}\r\n#topnav .app-search input:-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search input::-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search input:-ms-input-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .notifi-title {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n color: #ffffff;\r\n font-size: 16px;\r\n font-weight: 400;\r\n padding: 5px 0px 10px;\r\n}\r\n#topnav .notification-list em {\r\n width: 30px;\r\n text-align: center;\r\n height: 30px;\r\n line-height: 28px;\r\n border-radius: 50%;\r\n margin-top: 4px;\r\n}\r\n#topnav .notification-list .list-group-item {\r\n padding: 12px 20px;\r\n}\r\n#topnav .notification-list .media-body {\r\n display: inherit;\r\n width: auto;\r\n overflow: hidden;\r\n margin-left: 50px;\r\n}\r\n#topnav .notification-list .media-body h5 {\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n width: 100%;\r\n font-weight: normal;\r\n overflow: hidden;\r\n}\r\n#topnav .noti-primary {\r\n color: #3bafda;\r\n border: 2px solid #3bafda;\r\n}\r\n#topnav .noti-success {\r\n color: #00b19d;\r\n border: 2px solid #00b19d;\r\n}\r\n#topnav .noti-info {\r\n color: #3ddcf7;\r\n border: 2px solid #3ddcf7;\r\n}\r\n#topnav .noti-warning {\r\n color: #ffaa00;\r\n border: 2px solid #ffaa00;\r\n}\r\n#topnav .noti-danger {\r\n color: #ef5350;\r\n border: 2px solid #ef5350;\r\n}\r\n#topnav .noti-purple {\r\n color: #7266ba;\r\n border: 2px solid #7266ba;\r\n}\r\n#topnav .noti-pink {\r\n color: #f76397;\r\n border: 2px solid #f76397;\r\n}\r\n#topnav .noti-inverse {\r\n color: #4c5667;\r\n border: 2px solid #4c5667;\r\n}\r\n#topnav .navbar-custom {\r\n background-color: #323b44;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);\r\n}\r\n#topnav .navbar-toggle {\r\n border: 0;\r\n position: relative;\r\n width: 60px;\r\n height: 60px;\r\n padding: 0;\r\n margin: 0;\r\n cursor: pointer;\r\n}\r\n#topnav .navbar-toggle:hover {\r\n background-color: transparent;\r\n}\r\n#topnav .navbar-toggle:hover span {\r\n background-color: #ffffff;\r\n}\r\n#topnav .navbar-toggle:focus {\r\n background-color: transparent;\r\n}\r\n#topnav .navbar-toggle:focus span {\r\n background-color: #3bafda;\r\n}\r\n#topnav .navbar-toggle .lines {\r\n width: 25px;\r\n display: block;\r\n position: relative;\r\n margin: 23px auto 17px auto;\r\n height: 18px;\r\n}\r\n#topnav .navbar-toggle span {\r\n height: 2px;\r\n width: 100%;\r\n background-color: #ffffff;\r\n display: block;\r\n margin-bottom: 5px;\r\n transition: transform .5s ease;\r\n}\r\n#topnav .navbar-toggle.open span {\r\n position: absolute;\r\n}\r\n#topnav .navbar-toggle.open span:first-child {\r\n top: 6px;\r\n transform: rotate(45deg);\r\n}\r\n#topnav .navbar-toggle.open span:nth-child(2) {\r\n visibility: hidden;\r\n}\r\n#topnav .navbar-toggle.open span:last-child {\r\n width: 100%;\r\n top: 6px;\r\n transform: rotate(-45deg);\r\n}\r\n#topnav .navigation-menu {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n#topnav .navigation-menu > li {\r\n float: left;\r\n display: block;\r\n position: relative;\r\n}\r\n#topnav .navigation-menu > li > a {\r\n display: block;\r\n color: rgba(255, 255, 255, 0.7);\r\n font-weight: 500;\r\n transition: all .3s ease;\r\n line-height: 20px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n}\r\n#topnav .navigation-menu > li > a:hover {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:hover i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:focus {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:focus i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:active {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:active i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a i {\r\n font-size: 18px;\r\n margin-right: 5px;\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .navigation-menu > li > a:hover,\r\n#topnav .navigation-menu > li > a:focus {\r\n background-color: transparent;\r\n}\r\n/*\r\n Responsive Menu\r\n*/\r\n@media (min-width: 101px) {\r\n #topnav .navigation-menu > li > a {\r\n padding-top: 22px;\r\n padding-bottom: 22px;\r\n }\r\n #topnav .navigation-menu > li.last-elements .submenu {\r\n left: auto;\r\n right: 0;\r\n }\r\n #topnav .navigation-menu > li.last-elements .submenu > li.has-submenu .submenu {\r\n left: auto;\r\n right: 100%;\r\n margin-left: 0;\r\n margin-right: 10px;\r\n }\r\n #topnav .navigation-menu > li:first-of-type a {\r\n padding-left: 0px;\r\n }\r\n #topnav .navigation-menu > li:hover a {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li:hover a i {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 1000;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n padding: 15px 0;\r\n list-style: none;\r\n min-width: 200px;\r\n visibility: hidden;\r\n opacity: 0;\r\n margin-top: 10px;\r\n transition: all .2s ease;\r\n background-color: #272e35;\r\n box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu {\r\n white-space: nowrap;\r\n width: auto;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li {\r\n overflow: hidden;\r\n width: 200px;\r\n display: inline-block;\r\n vertical-align: top;\r\n }\r\n #topnav .navigation-menu > li .submenu > li.has-submenu > a:after {\r\n content: \"\\e649\";\r\n font-family: \"themify\";\r\n position: absolute;\r\n right: 20px;\r\n font-size: 9px;\r\n top: 15px;\r\n }\r\n #topnav .navigation-menu > li .submenu > li .submenu {\r\n left: 100%;\r\n top: 0;\r\n margin-left: 10px;\r\n margin-top: -1px;\r\n }\r\n #topnav .navigation-menu > li .submenu li {\r\n position: relative;\r\n }\r\n #topnav .navigation-menu > li .submenu li ul {\r\n list-style: none;\r\n padding-left: 0;\r\n margin: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu li a {\r\n display: block;\r\n padding: 8px 25px;\r\n clear: both;\r\n white-space: nowrap;\r\n color: rgba(255, 255, 255, 0.6);\r\n }\r\n #topnav .navigation-menu > li .submenu li a:hover {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu li span {\r\n display: block;\r\n padding: 8px 25px;\r\n clear: both;\r\n line-height: 1.42857143;\r\n white-space: nowrap;\r\n font-size: 10px;\r\n text-transform: uppercase;\r\n letter-spacing: 2px;\r\n font-weight: 500;\r\n color: #949ba1;\r\n }\r\n #topnav .navbar-toggle {\r\n display: none;\r\n }\r\n #topnav #navigation {\r\n display: block !important;\r\n }\r\n}\r\n@media (max-width: 100px) {\r\n .wrapper {\r\n margin-top: 80px;\r\n }\r\n .container {\r\n width: auto;\r\n }\r\n #topnav .navigation-menu {\r\n float: none;\r\n max-height: 400px;\r\n }\r\n #topnav .navigation-menu > li {\r\n float: none;\r\n }\r\n #topnav .navigation-menu > li > a {\r\n color: rgba(255, 255, 255, 0.7);\r\n padding: 15px;\r\n }\r\n #topnav .navigation-menu > li > a i {\r\n display: inline-block;\r\n margin-right: 10px;\r\n margin-bottom: 0px;\r\n }\r\n #topnav .navigation-menu > li > a:after {\r\n position: absolute;\r\n right: 15px;\r\n }\r\n #topnav .navigation-menu > li .submenu {\r\n display: none;\r\n list-style: none;\r\n padding-left: 20px;\r\n margin: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu li a {\r\n display: block;\r\n position: relative;\r\n padding: 7px 20px;\r\n color: rgba(255, 255, 255, 0.5);\r\n }\r\n #topnav .navigation-menu > li .submenu li a:hover {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu li.has-submenu > a:after {\r\n content: \"\\e64b\";\r\n font-family: \"themify\";\r\n position: absolute;\r\n right: 30px;\r\n }\r\n #topnav .navigation-menu > li .submenu.open {\r\n display: block;\r\n }\r\n #topnav .navigation-menu > li .submenu .submenu {\r\n display: none;\r\n list-style: none;\r\n }\r\n #topnav .navigation-menu > li .submenu .submenu.open {\r\n display: block;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li > ul {\r\n list-style: none;\r\n padding-left: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li > ul > li > span {\r\n display: block;\r\n position: relative;\r\n padding: 15px;\r\n text-transform: uppercase;\r\n font-size: 11px;\r\n letter-spacing: 2px;\r\n color: #79818a;\r\n }\r\n #topnav .navigation-menu > li.has-submenu.open > a {\r\n color: #3bafda;\r\n }\r\n #topnav .navbar-header {\r\n float: left;\r\n }\r\n #navigation {\r\n position: absolute;\r\n top: 60px;\r\n left: 0;\r\n width: 100%;\r\n display: none;\r\n height: auto;\r\n padding-bottom: 0;\r\n overflow: auto;\r\n border-top: 1px solid rgba(255, 255, 255, 0.5);\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.5);\r\n background-color: #323b44;\r\n }\r\n #navigation.open {\r\n display: block;\r\n overflow-y: auto;\r\n }\r\n}\r\n@media (min-width: 768px) {\r\n #topnav .navigation-menu > li.has-submenu:hover > .submenu {\r\n visibility: visible;\r\n opacity: 1;\r\n margin-top: 0;\r\n }\r\n #topnav .navigation-menu > li.has-submenu:hover > .submenu > li.has-submenu:hover > .submenu {\r\n visibility: visible;\r\n opacity: 1;\r\n margin-left: 0;\r\n margin-right: 0;\r\n }\r\n .navbar-toggle {\r\n display: block;\r\n }\r\n}\r\n/* Footer */\r\n.footer {\r\n border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n bottom: 0px;\r\n color: #58666e;\r\n text-align: left !important;\r\n padding: 20px 0px;\r\n position: absolute;\r\n right: 0px;\r\n left: 0px;\r\n}\r\n"; }); -define('text!microservices/stats/current/current-golfers-table.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/picks/picks-main.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/pages.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Core file List\r\n\r\n - Timeline\r\n - Timeline-2\r\n - Sweet Alerts\r\n - Notification\r\n - Nestable list\r\n - Maps\r\n - Email\r\n - Form Advanced\r\n - Charts\r\n - Maintenance\r\n - Countdown\r\n - Gallery\r\n - Tree view\r\n - Pricing\r\n - FAQ\r\n\r\n =============*/\r\n/* ===========\r\n Timeline\r\n =============*/\r\n.timeline {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n display: table;\r\n margin-bottom: 50px;\r\n position: relative;\r\n table-layout: fixed;\r\n width: 100%;\r\n}\r\n.timeline .time-show {\r\n margin-bottom: 30px;\r\n margin-right: -75px;\r\n margin-top: 30px;\r\n position: relative;\r\n}\r\n.timeline .time-show a {\r\n color: #ffffff;\r\n}\r\n.timeline:before {\r\n background-color: #98a6ad;\r\n bottom: 0px;\r\n content: \"\";\r\n left: 50%;\r\n position: absolute;\r\n top: 30px;\r\n width: 1px;\r\n z-index: 0;\r\n}\r\n.timeline .timeline-icon {\r\n -webkit-border-radius: 50%;\r\n background: #98a6ad;\r\n border-radius: 50%;\r\n border: 1px solid #98a6ad;\r\n color: #ffffff;\r\n display: block;\r\n height: 20px;\r\n left: -54px;\r\n margin-top: -10px;\r\n position: absolute;\r\n text-align: center;\r\n top: 50%;\r\n width: 20px;\r\n}\r\n.timeline .timeline-icon i {\r\n margin-top: 9px;\r\n}\r\n.timeline .time-icon:before {\r\n font-size: 16px;\r\n margin-top: 5px;\r\n}\r\nh3.timeline-title {\r\n color: #c8ccd7;\r\n font-size: 20px;\r\n font-weight: 400;\r\n margin: 0 0 5px;\r\n text-transform: uppercase;\r\n}\r\n.timeline-item {\r\n display: table-row;\r\n}\r\n.timeline-item:before {\r\n content: \"\";\r\n display: block;\r\n width: 50%;\r\n}\r\n.timeline-item .timeline-desk .arrow {\r\n border-bottom: 8px solid transparent;\r\n border-right: 8px solid #272e35 !important;\r\n border-top: 8px solid transparent;\r\n display: block;\r\n height: 0;\r\n left: -7px;\r\n margin-top: -10px;\r\n position: absolute;\r\n top: 50%;\r\n width: 0;\r\n}\r\n.timeline-item.alt:after {\r\n content: \"\";\r\n display: block;\r\n width: 50%;\r\n}\r\n.timeline-item.alt .timeline-desk .arrow-alt {\r\n border-bottom: 8px solid transparent;\r\n border-left: 8px solid #272e35 !important;\r\n border-top: 8px solid transparent;\r\n display: block;\r\n height: 0;\r\n left: auto;\r\n margin-top: -10px;\r\n position: absolute;\r\n right: -7px;\r\n top: 50%;\r\n width: 0;\r\n}\r\n.timeline-item.alt .timeline-desk .album {\r\n float: right;\r\n margin-top: 20px;\r\n}\r\n.timeline-item.alt .timeline-desk .album a {\r\n float: right;\r\n margin-left: 5px;\r\n}\r\n.timeline-item.alt .timeline-icon {\r\n left: auto;\r\n right: -56px;\r\n}\r\n.timeline-item.alt:before {\r\n display: none;\r\n}\r\n.timeline-item.alt .panel {\r\n margin-left: 0;\r\n margin-right: 45px;\r\n}\r\n.timeline-item.alt .panel .panel-body p + p {\r\n margin-top: 10px !important;\r\n}\r\n.timeline-item.alt h4 {\r\n text-align: right;\r\n}\r\n.timeline-item.alt p {\r\n text-align: right;\r\n}\r\n.timeline-item.alt .timeline-date {\r\n text-align: right;\r\n}\r\n.timeline-desk {\r\n display: table-cell;\r\n vertical-align: top;\r\n width: 50%;\r\n}\r\n.timeline-desk h4 {\r\n font-size: 16px;\r\n font-weight: 300;\r\n margin: 0;\r\n}\r\n.timeline-desk .panel {\r\n background: #272e35;\r\n display: block;\r\n margin-bottom: 5px;\r\n margin-left: 45px;\r\n position: relative;\r\n text-align: left;\r\n}\r\n.timeline-desk h5 span {\r\n color: #797979;\r\n display: block;\r\n font-size: 12px;\r\n margin-bottom: 4px;\r\n}\r\n.timeline-desk p {\r\n color: #98a6ad;\r\n font-size: 14px;\r\n margin-bottom: 0;\r\n}\r\n.timeline-desk .album {\r\n margin-top: 12px;\r\n}\r\n.timeline-desk .album a {\r\n float: left;\r\n margin-right: 5px;\r\n}\r\n.timeline-desk .album img {\r\n height: 36px;\r\n width: auto;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.timeline-desk .notification {\r\n background: none repeat scroll 0 0 #ffffff;\r\n margin-top: 20px;\r\n padding: 8px;\r\n}\r\n/* ===========\r\n Timeline-2\r\n =============*/\r\n.timeline-2 {\r\n border-left: 2px solid #3bafda;\r\n position: relative;\r\n}\r\n.timeline-2 .time-item:after {\r\n background-color: #ffffff;\r\n border-color: #3bafda;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-width: 2px;\r\n bottom: 0;\r\n content: '';\r\n height: 10px;\r\n left: 0;\r\n margin-left: -6px;\r\n position: absolute;\r\n top: 5px;\r\n width: 10px;\r\n}\r\n.time-item {\r\n border-color: #dee5e7;\r\n padding-bottom: 10px;\r\n position: relative;\r\n}\r\n.time-item:before {\r\n content: \" \";\r\n display: table;\r\n}\r\n.time-item:after {\r\n background-color: #ffffff;\r\n border-color: #3bafda;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-width: 2px;\r\n bottom: 0;\r\n content: '';\r\n height: 14px;\r\n left: 0;\r\n margin-left: -8px;\r\n position: absolute;\r\n top: 5px;\r\n width: 14px;\r\n}\r\n.time-item-item:after {\r\n content: \" \";\r\n display: table;\r\n}\r\n.item-info {\r\n margin-bottom: 15px;\r\n margin-left: 15px;\r\n}\r\n.item-info p {\r\n font-size: 13px;\r\n}\r\n/* ===========\r\n Sweet Alert\r\n =============*/\r\n.sweet-alert h2 {\r\n font-size: 22px;\r\n color: #323b44;\r\n}\r\n.sweet-alert p {\r\n font-size: 14px;\r\n line-height: 22px;\r\n}\r\n.sweet-alert .icon.success .placeholder {\r\n border: 4px solid rgba(0, 177, 157, 0.3);\r\n}\r\n.sweet-alert .icon.success .line {\r\n background-color: #00b19d;\r\n}\r\n.sweet-alert .icon.warning {\r\n border-color: #ffaa00;\r\n}\r\n.sweet-alert .icon.info {\r\n border-color: #3ddcf7;\r\n}\r\n.sweet-alert .btn-warning:focus,\r\n.sweet-alert .btn-info:focus,\r\n.sweet-alert .btn-success:focus,\r\n.sweet-alert .btn-danger:focus,\r\n.sweet-alert .btn-default:focus {\r\n box-shadow: none;\r\n}\r\n/* =============\r\n Notification\r\n============= */\r\n.notifyjs-metro-base {\r\n position: relative;\r\n min-height: 52px;\r\n min-width: 250px;\r\n color: #444;\r\n border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);\r\n animation: dropdownOpen 0.3s ease-out;\r\n}\r\n.notifyjs-metro-base .image {\r\n display: table;\r\n position: absolute;\r\n height: auto;\r\n width: auto;\r\n left: 25px;\r\n top: 50%;\r\n font-size: 24px;\r\n transform: translate(-50%, -50%);\r\n}\r\n.notifyjs-metro-base .text-wrapper {\r\n display: inline-block;\r\n vertical-align: top;\r\n text-align: left;\r\n margin: 10px 10px 10px 52px;\r\n clear: both;\r\n}\r\n.notifyjs-metro-base .title {\r\n font-size: 15px;\r\n line-height: 20px;\r\n margin-bottom: 5px;\r\n font-weight: bold;\r\n}\r\n.notifyjs-metro-base .text {\r\n font-size: 12px;\r\n font-weight: normal;\r\n max-width: 360px;\r\n vertical-align: middle;\r\n}\r\n.notifyjs-metro-cool {\r\n color: #fafafa !important;\r\n background-color: #4A525F;\r\n border: 1px solid #4A525F;\r\n}\r\n/* =============\r\n Nestable\r\n============= */\r\n.custom-dd .dd-list .dd-item .dd-handle {\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n border: none;\r\n padding: 8px 16px;\r\n height: auto;\r\n font-weight: 600;\r\n color: #98a6ad;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.custom-dd .dd-list .dd-item .dd-handle:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd .dd-list .dd-item button {\r\n height: auto;\r\n font-size: 17px;\r\n margin: 8px auto;\r\n color: #98a6ad;\r\n width: 30px;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle {\r\n border: none;\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n height: 36px;\r\n width: 36px;\r\n color: #98a6ad;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle:before {\r\n top: 7px;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd-empty .dd-list .dd3-content {\r\n height: auto;\r\n border: none;\r\n color: #98a6ad;\r\n padding: 8px 16px 8px 46px;\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n font-weight: 600;\r\n}\r\n.custom-dd-empty .dd-list .dd3-content:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd-empty .dd-list button {\r\n width: 26px;\r\n height: 26px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n}\r\n/* ===========\r\n Maps\r\n =============*/\r\n.gmaps,\r\n.gmaps-panaroma {\r\n height: 300px;\r\n background: #eeeeee;\r\n border-radius: 3px;\r\n}\r\n.gmaps-overlay {\r\n display: block;\r\n text-align: center;\r\n color: #ffffff;\r\n font-size: 16px;\r\n line-height: 40px;\r\n background: #3bafda;\r\n border-radius: 4px;\r\n padding: 10px 20px;\r\n}\r\n.gmaps-overlay_arrow {\r\n left: 50%;\r\n margin-left: -16px;\r\n width: 0;\r\n height: 0;\r\n position: absolute;\r\n}\r\n.gmaps-overlay_arrow.above {\r\n bottom: -15px;\r\n border-left: 16px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-top: 16px solid #3bafda;\r\n}\r\n.gmaps-overlay_arrow.below {\r\n top: -15px;\r\n border-left: 16px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 16px solid #3bafda;\r\n}\r\n/* =============\r\n Email\r\n============= */\r\n.mails a {\r\n color: #98a6ad;\r\n}\r\n.mails td {\r\n vertical-align: middle !important;\r\n position: relative;\r\n}\r\n.mails td:last-of-type {\r\n width: 100px;\r\n padding-right: 20px;\r\n}\r\n.mails tr:hover .text-white {\r\n display: none;\r\n}\r\n.mails .mail-select {\r\n padding: 12px 20px;\r\n min-width: 134px;\r\n}\r\n.mails .checkbox {\r\n margin-bottom: 0px;\r\n margin-top: 0px;\r\n vertical-align: middle;\r\n display: inline-block;\r\n height: 17px;\r\n}\r\n.mails .checkbox label {\r\n min-height: 16px;\r\n}\r\n.mail-list .list-group-item {\r\n background-color: transparent !important;\r\n}\r\n.mail-list .list-group-item:hover {\r\n background-color: #eeeeee;\r\n}\r\n.mail-list .list-group-item:focus {\r\n background-color: #eeeeee;\r\n}\r\n.mail-list .list-group-item.active {\r\n background-color: #3bafda !important;\r\n color: #4c5667;\r\n font-weight: 600;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.unread a {\r\n font-weight: 600;\r\n color: rgba(238, 238, 238, 0.7);\r\n}\r\n/* =============\r\n Form Advanced\r\n============= */\r\n.bootstrap-tagsinput {\r\n box-shadow: none;\r\n background-color: transparent;\r\n padding: 3px 7px 6px;\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.bootstrap-tagsinput .label-info {\r\n background-color: #3bafda !important;\r\n display: inline-block;\r\n padding: 5px;\r\n}\r\n/* Multiple */\r\n.ms-container {\r\n background: transparent url('../images/multiple-arrow.png') no-repeat 50% 50%;\r\n}\r\n.ms-container .ms-list {\r\n box-shadow: none;\r\n border: 2px solid rgba(255, 255, 255, 0.2);\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n border: 2px solid rgba(255, 255, 255, 0.3);\r\n}\r\n.ms-container .ms-selectable li.ms-elem-selectable {\r\n border: none;\r\n padding: 5px 10px;\r\n}\r\n.ms-container .ms-selection li.ms-elem-selection {\r\n border: none;\r\n padding: 5px 10px;\r\n}\r\n.ms-selectable {\r\n box-shadow: none;\r\n outline: none !important;\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n}\r\n.ms-container .ms-selectable li.ms-hover {\r\n background-color: #3bafda;\r\n color: #ffffff !important;\r\n}\r\n.ms-container .ms-selection li.ms-hover {\r\n background-color: #3bafda;\r\n color: #ffffff !important;\r\n}\r\n.ms-container .ms-selectable,\r\n.ms-container .ms-selection {\r\n background-color: transparent;\r\n}\r\n.ms-container .ms-selectable li.ms-elem-selectable,\r\n.ms-container .ms-selection li.ms-elem-selection {\r\n color: #98a6ad;\r\n}\r\n/* Select2 */\r\n.select2-container .select2-choice {\r\n background-image: none !important;\r\n border: none !important;\r\n height: auto !important;\r\n padding: 0px !important;\r\n line-height: 22px !important;\r\n background-color: transparent !important;\r\n box-shadow: none !important;\r\n color: #ffffff;\r\n}\r\n.select2-container .select2-choice .select2-arrow {\r\n background-image: none !important;\r\n background: transparent;\r\n border: none;\r\n width: 14px;\r\n top: -2px;\r\n}\r\n.select2-container .select2-container-multi.form-control {\r\n height: auto;\r\n}\r\n.select2-results .select2-highlighted {\r\n color: #ffffff;\r\n background-color: #3bafda;\r\n}\r\n.select2-drop-active {\r\n border: 1px solid #e3e3e3 !important;\r\n padding-top: 5px;\r\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n}\r\n.select2-search input {\r\n border: 1px solid #e3e3e3;\r\n}\r\n.select2-container-multi {\r\n width: 100%;\r\n}\r\n.select2-container-multi .select2-choices {\r\n border: 2px solid rgba(255, 255, 255, 0.2) !important;\r\n box-shadow: none !important;\r\n background: transparent !important;\r\n background-image: none !important;\r\n border-radius: 4px !important;\r\n -moz-border-radius: 4px !important;\r\n background-clip: padding-box !important;\r\n min-height: 38px;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-choice {\r\n padding: 6px 8px 7px 19px;\r\n margin: 5px 0 3px 5px;\r\n color: #ffffff;\r\n background: rgba(255, 255, 255, 0.2);\r\n border: none;\r\n box-shadow: none;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-field input {\r\n padding: 7px 7px 7px 10px;\r\n font-family: inherit;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-choice-close {\r\n top: 6px;\r\n}\r\n/* Wysiwig */\r\n.mce-tinymce {\r\n background-color: transparent !important;\r\n}\r\n.mce-content-body p {\r\n color: #9398a0;\r\n font-size: 14px;\r\n font-weight: 300;\r\n}\r\n.mce-popover .mce-arrow:after {\r\n border-bottom-color: red;\r\n}\r\n.mce-popover .mce-colorbutton-grid {\r\n margin: 0px;\r\n border: 1px solid #d7dce5 !important;\r\n padding: 4px;\r\n}\r\n.mce-reset .mce-window-head {\r\n border-bottom: 1px solid #d7dce5;\r\n}\r\n.mce-reset .mce-window-head .mce-title {\r\n color: #707780;\r\n font-size: 16px;\r\n font-weight: 400;\r\n}\r\n.mce-reset .mce-textbox {\r\n border-radius: 0px;\r\n box-shadow: none;\r\n outline: 0;\r\n border-color: #d7dce5;\r\n height: 30px;\r\n font-weight: 300;\r\n line-height: 30px;\r\n color: #aaaaaa;\r\n font-size: 14px;\r\n}\r\n.mce-reset .mce-textbox:focus {\r\n box-shadow: none;\r\n border-color: #3bafda;\r\n}\r\n.mce-reset .mce-checkbox .mce-ico {\r\n background-image: none;\r\n background-color: #ffffff;\r\n border-radius: 0px;\r\n border: 1px solid #d7dce5;\r\n}\r\n.mce-reset .mce-checkbox .mce-label {\r\n color: #707780;\r\n font-size: 12px;\r\n font-weight: 400;\r\n}\r\n.mce-container {\r\n border-radius: 0px !important;\r\n border-width: 0px !important;\r\n}\r\n.mce-container .mce-menubar {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n padding: 2px;\r\n}\r\n.mce-container .mce-menubar .mce-btn button span {\r\n color: #707780;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: capitalize;\r\n}\r\n.mce-container .mce-menubar .mce-btn button .mce-caret {\r\n border-top-color: #ffffff;\r\n}\r\n.mce-caret {\r\n border-top: 4px solid #ffffff !important;\r\n}\r\n.mce-menubar .mce-menubtn:hover,\r\n.mce-menubar .mce-menubtn.mce-active,\r\n.mce-menubar .mce-menubtn:focus {\r\n background-color: transparent !important;\r\n}\r\n.mce-container .mce-menubar .mce-btn button:hover {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n}\r\n.mce-container .mce-menubar .mce-btn.mce-active button {\r\n background-color: #e8ebf1;\r\n}\r\n.mce-container .mce-btn {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n background-image: none;\r\n outline: 0;\r\n border: 0px;\r\n border-radius: 0px;\r\n}\r\n.mce-container .mce-btn button {\r\n color: #ffffff !important;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-shadow: none;\r\n padding: 5px 10px;\r\n}\r\n.mce-container .mce-primary {\r\n background-color: #3bafda;\r\n background-image: none;\r\n outline: 0;\r\n border: 0px;\r\n border-radius: 0px;\r\n}\r\n.mce-container .mce-primary button {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-shadow: none;\r\n}\r\n.mce-container .mce-primary:hover {\r\n background-color: #0c7cd5;\r\n background-image: none;\r\n}\r\n.mce-container .mce-toolbar-grp {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n border-top-width: 0px !important;\r\n padding: 6px;\r\n}\r\n.mce-container .mce-btn-group .mce-btn:hover,\r\n.mce-container .mce-btn-group .mce-btn:focus {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n color: #323b44;\r\n}\r\n.mce-stack-layout-item body {\r\n background-color: transparent !important;\r\n}\r\ndiv.mce-edit-area {\r\n background: transparent !important;\r\n}\r\n.mce-btn.mce-active button,\r\n.mce-btn.mce-active:hover button {\r\n color: #323b44 !important;\r\n}\r\n.mce-container .mce-statusbar {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n}\r\n.mce-container .mce-statusbar .mce-path .mce-path-item {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n.mce-container .mce-widget {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n border-left: 1px solid transparent;\r\n}\r\n.mce-container .mce-btn-group {\r\n border: none;\r\n}\r\n.mce-container .mce-btn-group .mce-btn {\r\n box-shadow: none;\r\n background-image: none;\r\n border-width: 0px;\r\n border-radius: 0px !important;\r\n}\r\n.mce-container .mce-btn-group .mce-btn:hover,\r\n.mce-container .mce-btn-group .mce-btn:focus {\r\n box-shadow: none;\r\n background-image: none;\r\n background-color: #ffffff;\r\n}\r\n.mce-container .mce-btn-group .mce-btn button span {\r\n color: #707780;\r\n font-size: 14px;\r\n font-weight: 300;\r\n}\r\n.mce-container .mce-btn-group .mce-btn button .mce-caret {\r\n color: #ffffff;\r\n font-size: 14px;\r\n}\r\n.mce-container .mce-ico {\r\n color: #ffffff;\r\n font-size: 14px;\r\n}\r\n.mce-container .mce-panel {\r\n background-image: none;\r\n}\r\n.mce-container.mce-menu {\r\n border: 1px solid #d7dce5 !important;\r\n}\r\n.mce-container.mce-menu .mce-menu-item {\r\n background-image: none;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-ico {\r\n color: #3bafda;\r\n font-size: 14px;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-text {\r\n color: #707780 !important;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: capitalize;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-menu-shortcut {\r\n color: #aaaaaa;\r\n font-size: 12px;\r\n font-weight: 300;\r\n text-transform: capitalize;\r\n}\r\n.mce-container.mce-menu .mce-menu-item:hover,\r\n.mce-container.mce-menu .mce-menu-item:focus,\r\n.mce-container.mce-menu .mce-menu-item.mce-selected {\r\n background-color: #3bafda;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-menu-shortcut {\r\n color: #aaaaaa;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected {\r\n background-color: #d7dce5;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-menu-shortcut,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-menu-shortcut,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-menu-shortcut {\r\n color: #ffffff;\r\n}\r\n.mce-container.mce-menu .mce-menu-item-sep {\r\n background-color: #d7dce5;\r\n}\r\n.mce-container.mce-menu .mce-menu-item-sep:hover {\r\n background-color: #d7dce5;\r\n}\r\n.mce-menubtn button {\r\n color: #323b44 !important;\r\n}\r\n.mce-menu-item-normal.mce-active {\r\n background-color: #3bafda !important;\r\n}\r\n.mce-menu-item-normal.mce-active .mce-text {\r\n color: #ffffff !important;\r\n}\r\n/* Time picker */\r\n.bootstrap-timepicker-widget table td input {\r\n border: none;\r\n font-size: 16px;\r\n font-weight: 500;\r\n background-color: transparent;\r\n}\r\n.bootstrap-timepicker-widget table td a {\r\n color: rgba(238, 238, 238, 0.2);\r\n}\r\n/* =============\r\n Charts\r\n============= */\r\n.morris-hover.morris-default-style {\r\n border-radius: 5px;\r\n padding: 10px 12px;\r\n background-color: #f5f5f5;\r\n border: none;\r\n color: #323b44 !important;\r\n}\r\n.morris-hover.morris-default-style .morris-hover-point {\r\n color: #323b44 !important;\r\n}\r\n.chart-detail-list li {\r\n margin: 0px 10px;\r\n}\r\n.chart-detail-list li h5 {\r\n font-size: 15px;\r\n}\r\n.pieLabel div {\r\n font-size: 14px !important;\r\n}\r\n.jqstooltip {\r\n box-sizing: content-box;\r\n}\r\n.chart {\r\n position: relative;\r\n display: inline-block;\r\n width: 110px;\r\n height: 110px;\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n text-align: center;\r\n}\r\n.chart canvas {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n.chart.chart-widget-pie {\r\n margin-top: 5px;\r\n margin-bottom: 5px;\r\n}\r\n.percent {\r\n display: inline-block;\r\n line-height: 110px;\r\n z-index: 2;\r\n font-weight: 600;\r\n font-size: 18px;\r\n color: #797979;\r\n}\r\n.percent:after {\r\n content: '%';\r\n margin-left: 0.1em;\r\n font-size: .8em;\r\n}\r\n/* Flot chart */\r\n#flotTip {\r\n padding: 8px 12px;\r\n background-color: #f5f5f5;\r\n border: 1px solid rgba(50, 59, 68, 0.1);\r\n z-index: 100;\r\n color: #323b44;\r\n font-weight: 500;\r\n opacity: 0.9;\r\n font-size: 13px;\r\n border-radius: 3px;\r\n}\r\n.legend tr {\r\n height: 20px;\r\n}\r\n.legendLabel {\r\n padding-left: 5px !important;\r\n line-height: 10px;\r\n padding-right: 10px;\r\n}\r\n.legend div:first-of-type {\r\n background-color: transparent !important;\r\n}\r\n.flot-tick-label {\r\n color: #ffffff !important;\r\n}\r\n/* Chartist chart */\r\n.ct-golden-section:before {\r\n float: none;\r\n}\r\n.ct-grid {\r\n stroke: rgba(255, 255, 255, 0.1);\r\n}\r\n.ct-chart {\r\n max-height: 300px;\r\n}\r\n.ct-chart .ct-label {\r\n fill: #a3afb7;\r\n color: #a3afb7;\r\n font-size: 12px;\r\n line-height: 1;\r\n}\r\n.ct-chart.simple-pie-chart-chartist .ct-label {\r\n color: #ffffff;\r\n fill: #ffffff;\r\n font-size: 16px;\r\n}\r\n.ct-chart .ct-series.ct-series-a .ct-bar,\r\n.ct-chart .ct-series.ct-series-a .ct-line,\r\n.ct-chart .ct-series.ct-series-a .ct-point,\r\n.ct-chart .ct-series.ct-series-a .ct-slice-donut {\r\n stroke: #3bafda;\r\n}\r\n.ct-chart .ct-series.ct-series-b .ct-bar,\r\n.ct-chart .ct-series.ct-series-b .ct-line,\r\n.ct-chart .ct-series.ct-series-b .ct-point,\r\n.ct-chart .ct-series.ct-series-b .ct-slice-donut {\r\n stroke: #f76397;\r\n}\r\n.ct-chart .ct-series.ct-series-c .ct-bar,\r\n.ct-chart .ct-series.ct-series-c .ct-line,\r\n.ct-chart .ct-series.ct-series-c .ct-point,\r\n.ct-chart .ct-series.ct-series-c .ct-slice-donut {\r\n stroke: #00b19d;\r\n}\r\n.ct-chart .ct-series.ct-series-d .ct-bar,\r\n.ct-chart .ct-series.ct-series-d .ct-line,\r\n.ct-chart .ct-series.ct-series-d .ct-point,\r\n.ct-chart .ct-series.ct-series-d .ct-slice-donut {\r\n stroke: #3ddcf7;\r\n}\r\n.ct-chart .ct-series.ct-series-e .ct-bar,\r\n.ct-chart .ct-series.ct-series-e .ct-line,\r\n.ct-chart .ct-series.ct-series-e .ct-point,\r\n.ct-chart .ct-series.ct-series-e .ct-slice-donut {\r\n stroke: #797979;\r\n}\r\n.ct-chart .ct-series.ct-series-f .ct-bar,\r\n.ct-chart .ct-series.ct-series-f .ct-line,\r\n.ct-chart .ct-series.ct-series-f .ct-point,\r\n.ct-chart .ct-series.ct-series-f .ct-slice-donut {\r\n stroke: #7266ba;\r\n}\r\n.ct-chart .ct-series.ct-series-g .ct-bar,\r\n.ct-chart .ct-series.ct-series-g .ct-line,\r\n.ct-chart .ct-series.ct-series-g .ct-point,\r\n.ct-chart .ct-series.ct-series-g .ct-slice-donut {\r\n stroke: #ffaa00;\r\n}\r\n.ct-series-a .ct-area,\r\n.ct-series-a .ct-slice-pie {\r\n fill: #3bafda;\r\n}\r\n.ct-series-b .ct-area,\r\n.ct-series-b .ct-slice-pie {\r\n fill: #f76397;\r\n}\r\n.ct-series-c .ct-area,\r\n.ct-series-c .ct-slice-pie {\r\n fill: #00b19d;\r\n}\r\n.ct-series-d .ct-area,\r\n.ct-series-d .ct-slice-pie {\r\n fill: #3ddcf7;\r\n}\r\n/* Sparkline chart */\r\n.jqstooltip {\r\n background-color: #36404a !important;\r\n padding: 5px 10px !important;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n border-color: #36404a !important;\r\n}\r\n.jqsfield {\r\n font-size: 12px !important;\r\n line-height: 18px !important;\r\n}\r\n/* Circliful charts */\r\n.circliful-chart {\r\n margin: 0px auto;\r\n}\r\n.circle-text,\r\n.circle-info,\r\n.circle-text-half,\r\n.circle-info-half {\r\n font-size: 12px;\r\n font-weight: 600;\r\n}\r\n/* Nvd3 Chart */\r\n.nvd3 text {\r\n fill: #98a6ad;\r\n}\r\n.nvd3 .nv-axis line,\r\n.nvd3 .nv-axis path {\r\n stroke: #2c333b;\r\n}\r\n.nvd3 .nv-discretebar .nv-groups text,\r\n.nvd3 .nv-multibarHorizontal .nv-groups text {\r\n fill: rgba(255, 255, 255, 0.8);\r\n}\r\n.multi-chart .nv-legend-symbol {\r\n fill: #ffffff !important;\r\n fill-opacity: 0;\r\n stroke: #ffffff !important;\r\n}\r\n/* ===========\r\n Count Down\r\n =============*/\r\n.home-wrapper {\r\n margin: 10% 0px;\r\n}\r\n.app-countdown {\r\n margin-top: 40px;\r\n text-align: center;\r\n}\r\n.app-countdown div {\r\n display: inline-block;\r\n}\r\n.app-countdown div span {\r\n display: block;\r\n width: 150px;\r\n}\r\n.app-countdown div span:first-child {\r\n font-size: 3em;\r\n font-weight: 700;\r\n height: 48px;\r\n line-height: 48px;\r\n}\r\n.app-countdown div span:last-child {\r\n color: #333333;\r\n font-size: 0.9em;\r\n height: 25px;\r\n line-height: 25px;\r\n}\r\n.app-countdown > * {\r\n text-align: center;\r\n}\r\n/* ===========\r\n Gallery\r\n =============*/\r\n.portfolioFilter a {\r\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -moz-transition: all 0.3s ease-out;\r\n -ms-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -webkit-transition: all 0.3s ease-out;\r\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n color: #98a6ad;\r\n padding: 5px 10px;\r\n display: inline-block;\r\n transition: all 0.3s ease-out;\r\n}\r\n.portfolioFilter a:hover {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.portfolioFilter a.current {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.thumb {\r\n background-color: #272e35;\r\n border-radius: 3px;\r\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n margin-top: 30px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n width: 100%;\r\n}\r\n.thumb-img {\r\n border-radius: 2px;\r\n overflow: hidden;\r\n width: 100%;\r\n}\r\n.gal-detail h4 {\r\n margin: 16px auto 10px auto;\r\n width: 80%;\r\n white-space: nowrap;\r\n display: block;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.gal-detail .ga-border {\r\n height: 3px;\r\n width: 40px;\r\n background-color: #3bafda;\r\n margin: 10px auto;\r\n}\r\n/* ===========\r\n Maintenance\r\n =============*/\r\n.icon-main {\r\n font-size: 60px;\r\n}\r\n.maintenance-page {\r\n margin: 10% 0%;\r\n}\r\n.home-text {\r\n letter-spacing: 1px;\r\n}\r\n/* ===========\r\n Accounts\r\n =============*/\r\n.wrapper-page {\r\n margin: 7.5% auto;\r\n width: 360px;\r\n}\r\n.wrapper-page .form-control {\r\n height: 40px;\r\n padding-left: 40px;\r\n}\r\n.wrapper-page .form-control-feedback {\r\n left: 15px;\r\n top: 3px;\r\n color: rgba(255, 255, 255, 0.4);\r\n font-size: 20px;\r\n}\r\n.wrapper-page .btn-email {\r\n padding: 9px 20px;\r\n}\r\n.logo-lg {\r\n font-size: 28px !important;\r\n color: #ffffff !important;\r\n}\r\n.user-thumb img {\r\n height: 88px;\r\n margin: 0px auto;\r\n width: 88px;\r\n}\r\n.ex-page-content .svg-box {\r\n float: right;\r\n}\r\n.message-box {\r\n margin-top: 120px;\r\n margin-left: 50px;\r\n font-weight: 300;\r\n}\r\n.message-box h1 {\r\n color: #ffffff;\r\n font-size: 98px;\r\n font-weight: 700;\r\n line-height: 98px;\r\n text-shadow: rgba(255, 255, 255, 0.3) 1px 1px, rgba(255, 255, 255, 0.2) 2px 2px, rgba(255, 255, 255, 0.3) 3px 3px;\r\n}\r\n#Polygon-1,\r\n#Polygon-2,\r\n#Polygon-3,\r\n#Polygon-4,\r\n#Polygon-4,\r\n#Polygon-5 {\r\n animation: float 1s infinite ease-in-out alternate;\r\n}\r\n#Polygon-2 {\r\n animation-delay: .2s;\r\n}\r\n#Polygon-3 {\r\n animation-delay: .4s;\r\n}\r\n#Polygon-4 {\r\n animation-delay: .6s;\r\n}\r\n#Polygon-5 {\r\n animation-delay: .8s;\r\n}\r\n@keyframes float {\r\n 100% {\r\n transform: translateY(20px);\r\n }\r\n}\r\n/* =============\r\n Tree view page\r\n============= */\r\n.jstree-default .jstree-clicked,\r\n.jstree-default .jstree-wholerow-clicked {\r\n background: rgba(59, 175, 218, 0.4);\r\n box-shadow: none;\r\n}\r\n.jstree-default .jstree-hovered,\r\n.jstree-default .jstree-wholerow-hovered {\r\n background: rgba(59, 175, 218, 0.2);\r\n box-shadow: none;\r\n}\r\n.jstree-default .zmdi {\r\n font-size: 16px;\r\n}\r\n/* =============\r\n Pricing\r\n============= */\r\n.pricing-column {\r\n position: relative;\r\n margin-bottom: 40px;\r\n}\r\n.pricing-column .inner-box {\r\n position: relative;\r\n padding: 0 0 50px;\r\n}\r\n.pricing-column .plan-header {\r\n position: relative;\r\n padding: 30px 20px 25px;\r\n}\r\n.pricing-column .plan-title {\r\n font-size: 16px;\r\n margin-bottom: 10px;\r\n color: #00b19d;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n font-weight: 400;\r\n}\r\n.pricing-column .plan-price {\r\n font-size: 48px;\r\n margin-bottom: 10px;\r\n color: #ffffff;\r\n}\r\n.pricing-column .plan-duration {\r\n font-size: 13px;\r\n color: #98a6ad;\r\n}\r\n.pricing-column .plan-stats {\r\n position: relative;\r\n padding: 30px 20px 15px;\r\n}\r\n.pricing-column .plan-stats li {\r\n margin-bottom: 15px;\r\n line-height: 24px;\r\n}\r\n.pricing-column .plan-stats li i {\r\n font-size: 16px;\r\n vertical-align: middle;\r\n margin-right: 5px;\r\n}\r\n.ribbon {\r\n position: absolute;\r\n left: 5px;\r\n top: -5px;\r\n z-index: 1;\r\n overflow: hidden;\r\n width: 75px;\r\n height: 75px;\r\n text-align: right;\r\n}\r\n.ribbon span {\r\n font-size: 10px;\r\n font-weight: bold;\r\n color: #ffffff;\r\n text-transform: uppercase;\r\n text-align: center;\r\n line-height: 20px;\r\n transform: rotate(-45deg);\r\n -webkit-transform: rotate(-45deg);\r\n width: 100px;\r\n display: block;\r\n box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);\r\n background: #00b19d;\r\n background: linear-gradient(#00b19d 0%, #00b19d 100%);\r\n position: absolute;\r\n top: 19px;\r\n letter-spacing: 1px;\r\n left: -21px;\r\n}\r\n.ribbon span:before {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n top: 100%;\r\n z-index: -1;\r\n border-left: 3px solid #007e70;\r\n border-right: 3px solid transparent;\r\n border-bottom: 3px solid transparent;\r\n border-top: 3px solid #007e70;\r\n}\r\n.ribbon span:after {\r\n content: \"\";\r\n position: absolute;\r\n right: 0;\r\n top: 100%;\r\n z-index: -1;\r\n border-left: 3px solid transparent;\r\n border-right: 3px solid #007e70;\r\n border-bottom: 3px solid transparent;\r\n border-top: 3px solid #007e70;\r\n}\r\n/* =============\r\n FAQ\r\n============= */\r\n.question-q-box {\r\n height: 30px;\r\n width: 30px;\r\n color: #ffffff;\r\n background-color: #ef5350;\r\n text-align: center;\r\n border-radius: 50%;\r\n float: left;\r\n line-height: 30px;\r\n font-weight: 700;\r\n}\r\n.question {\r\n margin-top: 0;\r\n margin-left: 50px;\r\n font-weight: 400;\r\n font-size: 16px;\r\n}\r\n.answer {\r\n margin-left: 50px;\r\n color: #98a6ad;\r\n margin-bottom: 40px;\r\n line-height: 26px;\r\n}\r\n"; }); -define('text!microservices/stats/current/current-poolies-table.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/picks/picks-pick.html', ['module'], function(module) { module.exports = ""; }); define('text!resources/styles/minton/css/responsive.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Responsive\r\n*/\r\n@media only screen and (max-width: 6000px) and (min-width: 700px) {\r\n .wrapper.right-bar-enabled .right-bar {\r\n right: 0;\r\n z-index: 99;\r\n }\r\n}\r\n@media (min-width: 768px) and (max-width: 991px) {\r\n body {\r\n overflow-x: hidden;\r\n }\r\n}\r\n@media (max-width: 767px) {\r\n body {\r\n overflow-x: hidden;\r\n }\r\n .mobile-sidebar {\r\n left: 0px;\r\n }\r\n .mobile-content {\r\n left: 250px;\r\n right: -250px;\r\n }\r\n .wrapper-page {\r\n width: 90%;\r\n }\r\n .navbar-nav .open .dropdown-menu {\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n left: auto;\r\n position: absolute;\r\n right: 0;\r\n }\r\n .todo-send {\r\n margin-top: 10px;\r\n padding-left: 15px;\r\n }\r\n .chat-inputbar {\r\n padding-left: 15px;\r\n }\r\n .chat-send {\r\n margin-top: 10px;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n }\r\n .fixedHeader-floating {\r\n top: 60px !important;\r\n }\r\n div#datatable-buttons_info {\r\n float: none;\r\n }\r\n}\r\n@media (max-width: 480px) {\r\n .side-menu {\r\n z-index: 10 !important;\r\n }\r\n .button-menu-mobile {\r\n display: block;\r\n }\r\n .search-bar {\r\n display: none !important;\r\n }\r\n}\r\n@media (max-width: 420px) {\r\n .hide-phone {\r\n display: none !important;\r\n }\r\n}\r\n/* Container-alt */\r\n@media (min-width: 768px) {\r\n .container-alt {\r\n width: 750px;\r\n }\r\n}\r\n@media (min-width: 992px) {\r\n .container-alt {\r\n width: 970px;\r\n }\r\n}\r\n@media (min-width: 1200px) {\r\n .container-alt {\r\n width: 1170px;\r\n }\r\n}\r\n"; }); -define('text!microservices/stats/current/current-stats.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/picks/picks-start.html', ['module'], function(module) { module.exports = "\r\n"; }); define('text!resources/styles/minton/css/variables.css', ['module'], function(module) { module.exports = "@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n"; }); +define('text!microservices/picks/picks-state.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/picks/picks-title.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/stats/current/current-course.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/stats/current/current-golfers-table.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/stats/current/current-poolies-table.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/stats/current/current-stats.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/current/current-tournament.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/history/history-stats.html', ['module'], function(module) { module.exports = ""; }); -define('text!microservices/stats/monthly/monthly-stats.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/majors/majors-stats.html', ['module'], function(module) { module.exports = ""; }); +define('text!microservices/stats/monthly/monthly-stats.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/playoffs/playoff-stats.html', ['module'], function(module) { module.exports = ""; }); define('text!microservices/stats/season/season-stats.html', ['module'], function(module) { module.exports = ""; }); -define('text!microservices/picks/picks-title.html', ['module'], function(module) { module.exports = ""; }); -define('text!microservices/picks/picks-start.html', ['module'], function(module) { module.exports = "\r\n"; }); -define('text!microservices/picks/picks-state.html', ['module'], function(module) { module.exports = ""; }); -define('text!microservices/picks/picks-pick.html', ['module'], function(module) { module.exports = ""; }); -define('text!microservices/picks/picks-main.html', ['module'], function(module) { module.exports = ""; }); //# sourceMappingURL=app-bundle.js.map \ No newline at end of file diff --git a/scripts/app-bundle.js.map b/scripts/app-bundle.js.map index 7551130..d62b310 100644 --- a/scripts/app-bundle.js.map +++ b/scripts/app-bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["resources/services/eventService.ts","shell/routerService.ts","app.ts","environment.ts","resources/services/restService.ts","resources/services/cookieService.ts","resources/services/authService.ts","microservices/auth/authClient.ts","main.ts","resources/index.ts","shell/index.ts","shell/nav-bar.ts","shell/shell.ts","shell/top-bar.ts","main/admin/admin.ts","main/feedback/feedback.ts","main/picks/picks.ts","main/statistics/statistics.ts","microservices/auth/index.ts","microservices/auth/login.ts","microservices/stats/statsClient.ts","resources/valueConverters/dateFormat.ts","microservices/stats/current/current-stats.ts","microservices/stats/current/index.ts","microservices/stats/history/history-stats.ts","microservices/stats/history/index.ts","microservices/stats/majors/index.ts","microservices/stats/majors/majors-stats.ts","microservices/stats/monthly/index.ts","microservices/stats/monthly/monthly-stats.ts","microservices/stats/playoffs/index.ts","microservices/stats/playoffs/playoff-stats.ts","microservices/stats/season/index.ts","microservices/stats/season/season-stats.ts","microservices/picks/index.ts","C:/projects/golfpoolnew/web-main/src/microservices/picks/picks-title.js","C:/projects/golfpoolnew/web-main/src/main/picks/pickClient.js","microservices/picks/pickClient.ts","microservices/picks/picks-main.ts","shell/top-bar.css","resources/styles/datatablestyles.css","resources/styles/iconfonts.css","microservices/stats/current/current-stats-styles.css","microservices/stats/season/season-stats-styles.css","resources/styles/minton/css/components.css","resources/styles/minton/css/core.css","C:/projects/golfpoolnew/web-main/src/resources/styles/minton/css/elements.css","resources/styles/minton/css/icons.css","resources/styles/minton/css/menu.css","resources/styles/minton/css/pages.css","resources/styles/minton/css/responsive.css","resources/styles/minton/css/variables.css"],"names":[],"mappings":";;;;;;;;;;;IAIA,IAAa,YAAY;QACvB,sBAAY,eAAgC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAC1C,CAAC;QAID,8BAAO,GAAP,UAAQ,SAAoB,EAAE,IAAgB;YAAhB,qBAAA,EAAA,WAAgB;YAC5C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,gCAAS,GAAT,UAAU,SAAoB,EAAE,QAAwB;YACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACtD,CAAC;QACH,mBAAC;IAAD,CAdA,AAcC,IAAA;IAdY,YAAY;QADxB,yCAAU,EAAE;yCAEkB,0CAAe;OADjC,YAAY,CAcxB;IAdY,oCAAY;;;;;;;;;;;;;;ICGzB,IAAa,aAAa;QAMxB,uBAAY,MAAc,EAAE,eAAgC,EAAE,YAA0B;YAAxF,iBAcC;YAlBO,iBAAY,GAAW,YAAY,CAAC;YAK1C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,4BAA4B,EAAE,UAAA,IAAI;gBAC/D,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC;oBACrC,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBACnC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnD,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC;QAEM,iCAAS,GAAhB,UAAiB,MAA2B;YAE1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,GAAG,SAAS;gBACtB,MAAM,CAAC,GAAG,CAAC;oBACT,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,8BAA8B,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE;oBACzF,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC/E,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE;oBAChF,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC/E,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE;iBAC5F,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC;QAClB,CAAC;QAED,sCAAc,GAAd,UAAe,KAAK;YAClB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,CAAU,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAd,IAAI,CAAC,cAAA;gBACR,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAChB,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBACb,UAAU,GAAG,IAAI,CAAC;wBAClB,QAAQ,CAAC;oBACX,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;aACrB;YACD,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QACH,oBAAC;IAAD,CArDA,AAqDC,IAAA;IArDY,aAAa;QADzB,0BAAM,CAAC,uBAAM,EAAE,0CAAe,EAAE,2BAAY,CAAC;yCAOxB,uBAAM,EAAmB,0CAAe,EAAgB,2BAAY;OAN7E,aAAa,CAqDzB;IArDY,sCAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICD1B,IAAa,GAAG;QACd,aAAY,YAA0B,EAAE,MAAc,EAAE,aAA4B;YAClF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG;gBACV;oBACE,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;iBACV;gBACD;oBACE,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX;aACF,CAAA;QACH,CAAC;QAOK,sBAAQ,GAAd;;;;gCACE,qBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAA;;4BAAzD,SAAyD,CAAC;;;;;SAAG;QACjE,UAAC;IAAD,CAxBA,AAwBC,IAAA;IAxBY,GAAG;QADf,qCAAM,CAAC,2BAAY,EAAE,uBAAM,EAAE,6BAAa,CAAC;yCAEhB,2BAAY,EAAU,uBAAM,EAAiB,6BAAa;OADzE,GAAG,CAwBf;IAxBY,kBAAG;;;;;;ICNhB,kBAAe;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;KACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICCF,IAAa,WAAW;QACtB,qBAAY,IAAgB;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAIY,0BAAI,GAAjB,UAAkB,GAAW,EAAE,KAAoB,EAAE,OAAoB,EAAE,IAAiB;YAA7D,sBAAA,EAAA,YAAoB;YAAE,wBAAA,EAAA,YAAoB;YAAE,qBAAA,EAAA,SAAiB;;oBACtF,QAAQ,YAYR,OAAO;;;;uCAZI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC;4BAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACzB,EAAE,CAAA,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC;gCACX,OAAO,GAAG,EAAE,CAAA;4BACd,CAAC;4BACD,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;4BAC7C,qBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oCAC7C,MAAM,EAAE,MAAM;oCACd,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE;oCAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;iCAClE,CAAC,EAAA;;uCAJa,SAIb;4BACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;sCACZ,EAAE;;;;4BAEJ,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BAA/B,OAAO,GAAG,SAAqB,CAAC;;;;4BAEhC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,GAAG,CAAC,KAAG,CAAC,CAAC;;gCAEnB,sBAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAG,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAC;;;;SAC7J;QAGO,iCAAW,GAAnB,UAAoB,GAAW,EAAE,KAAa;YAC5C,MAAM,CAAC,CAAC,KAAK,GAAG,GAAG,GAAM,GAAG,SAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAG,CAAA;QACzD,CAAC;QAEO,+BAAS,GAAjB,UAAkB,GAAW;YAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBAChB,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAEO,uCAAiB,GAAzB;QACA,CAAC;QAEO,wCAAkB,GAA1B;QACA,CAAC;QAEH,kBAAC;IAAD,CAlDA,AAkDC,IAAA;IAlDY,WAAW;QADvB,yCAAU,EAAE;yCAEO,iCAAU;OADjB,WAAW,CAkDvB;IAlDY,kCAAW;IAoDxB;QACE,kBAAY,MAAc,EAAE,UAAkB,EAAE,IAAmB;YAAnB,qBAAA,EAAA,WAAmB;YACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,GAAG,CAAC;QAC/B,CAAC;QAMH,eAAC;IAAD,CAZA,AAYC,IAAA;IAZY,4BAAQ;;;;;ICvDrB;QAEI;QAEA,CAAC;QAED,iCAAS,GAAT,UAAU,KAAa,EAAE,MAAc,EAAE,MAAc;YACnD,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACnB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,SAAS,CAAC;QACvE,CAAC;QAED,iCAAS,GAAT,UAAU,KAAa;YACnB,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;YACvB,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;oBACxB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACL,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YACD,MAAM,CAAC,EAAE,CAAC;QACd,CAAC;QAED,oCAAY,GAAZ,UAAa,KAAa;YACtB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACvB,CAAC;QACL,oBAAC;IAAD,CAhCA,AAgCC,IAAA;IAhCY,sCAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICG1B,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAG9C,IAAa,WAAW;QACtB,qBAAY,EAAiB,EAAE,EAAgB;YAO/C,yBAAoB,GAA4C,IAAI,CAAC;YANnE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;QAMD,2BAAK,GAAL,UAAM,KAAe;YACnB,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,gCAAU,GAAV;YACE,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,mBAAiB,UAAY,CAAC,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC;QACpB,CAAC;QAED,iCAAW,GAAX;YACE,EAAE,CAAA,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;gBACpB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,4BAAM,GAAN;YACE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,6CAAuB,GAAvB,UAAwB,oBAA6D;YACnF,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC5C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACnD,CAAC;QAEK,+CAAyB,GAA/B;;oBAKM,SAAS;;;;4BAJb,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gCACvB,MAAM,gBAAC;4BACT,CAAC;4BACD,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wCAC5B,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS;4BAC9B,qBAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAA;;sCAA1C,SAA0C;4BACxD,GAAG,CAAC,KAAK,CAAC,0BAAwB,OAAS,CAAC,CAAC;4BAC7C,EAAE,CAAA,CAAC,OAAO,CAAC,CAAA,CAAC;gCACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;4BAC7C,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;4BACxC,CAAC;4BACD,sBAAO,OAAO,EAAC;;;;SAChB;QACH,kBAAC;IAAD,CA1DA,AA0DC,IAAA;IA1DY,WAAW;QADvB,qCAAM,CAAC,6BAAa,EAAE,2BAAY,CAAC;yCAElB,6BAAa,EAAM,2BAAY;OADpC,WAAW,CA0DvB;IA1DY,kCAAW;IA4DxB;QACE,kBAAY,KAAa,EAAE,SAAiB,EAAE,MAAc,EAAE,IAAY;YACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAMH,eAAC;IAAD,CAZA,AAYC,IAAA;IAZY,4BAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC/DrB,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAG7C,IAAa,UAAU;QACrB,oBAAY,WAAwB,EAAE,WAAwB;YAA9D,iBAOC;YAEgB,eAAU,GAAW,8CAA8C,CAAA;YARlF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,UAAM,SAAS;;;;gCACzC,qBAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAA;;qCAAxC,SAAwC;4BACrD,sBAAO,MAAM,EAAC;;;iBACf,CAAC,CAAC;QACL,CAAC;QAMK,0BAAK,GAAX,UAAY,MAAM,EAAE,QAAQ;;8BAOpB,IAAI;;;gCANK,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,eAAY,EAAE;gCACzE,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,QAAQ;6BACnB,CAAC,EAAA;;uCAHa,SAGb;4BAEF,EAAE,CAAA,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAC;uCACT,QAAQ,CAAC,IAAI;gCACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,sBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BACvG,CAAC;4BAED,sBAAO,CAAC,QAAQ,CAAC,OAAO,EAAA;;;;SACzB;QAEK,8BAAS,GAAf,UAAgB,IAAI,EAAE,SAAS;;;;;gCACd,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,sBAAmB,EAAE;gCAChF,IAAI,EAAE,IAAI;gCACV,SAAS,EAAE,SAAS;6BACrB,CAAC,EAAA;;uCAHa,SAGb;4BACF,sBAAO,CAAC,QAAQ,CAAC,OAAO,EAAC;;;;SAC1B;QACH,iBAAC;IAAD,CAnCA,AAmCC,IAAA;IAnCY,UAAU;QADtB,qCAAM,CAAC,yBAAW,EAAE,yBAAW,CAAC;yCAEN,yBAAW,EAAe,yBAAW;OADnD,UAAU,CAmCtB;IAnCY,gCAAU;;;;;ICMjB,OAAQ,CAAC,MAAM,CAAC;QACpB,eAAe,EAAE,qBAAW,CAAC,KAAK;QAClC,QAAQ,EAAE;YACR,gBAAgB,EAAE,KAAK;SACxB;KACF,CAAC,CAAC;IAEH,mBAA0B,OAAgB;QACxC,OAAO,CAAC,GAAG;aACR,qBAAqB,EAAE;aACvB,OAAO,CAAC,WAAW,CAAC;aACpB,OAAO,CAAC,oBAAoB,CAAC;aAC7B,OAAO,CAAC,OAAO,CAAC;aAChB,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,4BAA4B,CAAC;aACrC,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,8BAA8B,CAAC;aACvC,OAAO,CAAC,4BAA4B,CAAC;aACrC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAElC,EAAE,CAAC,CAAC,qBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACtB,8BAAU,CAAC,WAAW,CAAC,IAAI,yCAAe,EAAE,CAAC,CAAC;YAC9C,8BAAU,CAAC,QAAQ,CAAC,8BAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,EAAE,CAAC,CAAC,qBAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxC,CAAC;QAGD,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAe,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,iCAAU,CAAC,CAAA;QAClD,UAAU,CAAC,SAAS,CAAC,UAAA,MAAM;YACzB,MAAM;iBACH,YAAY,CAAC;gBACZ,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,kBAAkB,EAAE,OAAO;iBAC5B;aACF,CAAC;iBACD,eAAe,CAAC;gBACf,OAAO,YAAC,OAAO;oBAEb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtB,MAAM,CAAC,OAAO,CAAC;gBACjB,CAAC;gBACD,QAAQ,YAAC,QAAQ;oBAEf,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACvB,MAAM,CAAC,QAAQ,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAU,CAAC,CAAC;QAEnD,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,EAAjB,CAAiB,CAAC,CAAC;IAChD,CAAC;IAtDD,8BAsDC;;;;;ICxED,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,6BAA6B;YAC7B,gCAAgC;YAChC,sCAAsC;YACtC,4CAA4C;YAC5C,sCAAsC;YACtC,0CAA0C;YAC1C,uCAAuC;YACvC,sCAAsC;YACtC,uCAAuC;YACvC,4CAA4C;YAC5C,2CAA2C;YAC3C,sCAAsC;SACvC,CAAC,CAAC;IACL,CAAC;IAfD,8BAeC;;;;;ICfD,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICDD,IAAa,mBAAmB;QAC9B,6BAAY,EAAgB,EAAE,EAAe;YAA7C,iBAeC;YAEO,iBAAY,GAAW,YAAY,CAAC;YAhB1C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAC,IAAI;gBACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE;;oBAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;;;iBACrB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE;;oBACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;;;iBACtB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAMH,0BAAC;IAAD,CAtBA,AAsBC,IAAA;IAtBY,mBAAmB;QAD/B,0BAAM,CAAC,2BAAY,EAAE,yBAAW,CAAC;yCAEhB,2BAAY,EAAM,yBAAW;OADlC,mBAAmB,CAsB/B;IAtBY,kDAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICEhC,IAAa,kBAAkB;QAC7B,4BAAY,EAAgB,EAAE,EAAe,EAAE,EAAiB,EAAE,CAAS;YAA3E,iBAgBC;YAGO,iBAAY,GAAW,YAAY,CAAC;YAlB1C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAC,IAAI;gBACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;gBACnC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEhD,CAAC;QASK,qCAAQ,GAAd;;;;gCACE,qBAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAA;;4BAAlD,SAAkD,CAAC;;;;;SACpD;QAEH,yBAAC;IAAD,CA9BA,AA8BC,IAAA;IA9BY,kBAAkB;QAD9B,qCAAM,CAAC,2BAAY,EAAE,yBAAW,EAAE,6BAAa,EAAE,uBAAM,CAAC;yCAEvC,2BAAY,EAAM,yBAAW,EAAM,6BAAa,EAAK,uBAAM;OADhE,kBAAkB,CA8B9B;IA9BY,gDAAkB;;;;;;;;;;;;;;ICD/B,IAAa,mBAAmB;QAK9B,6BAAY,WAAW,EAAE,YAAY;YAArC,iBAaC;YAjBO,UAAK,GAAW,cAAc,CAAC;YAC/B,iBAAY,GAAW,YAAY,CAAC;YACpC,aAAQ,GAAY,KAAK,CAAC;YAGhC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAC,IAAI;gBACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;gBACnC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAChD,CAAC;QAKD,oCAAM,GAAN;YACE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QAEH,0BAAC;IAAD,CA3BA,AA2BC,IAAA;IA3BY,mBAAmB;QAD/B,0BAAM,CAAC,yBAAW,EAAE,2BAAY,CAAC;;OACrB,mBAAmB,CA2B/B;IA3BY,kDAAmB;;;;;ICLhC;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK;;;;;ICAlB;QAAA;QAEA,CAAC;QAAD,eAAC;IAAD,CAFA,AAEC,IAAA;IAFY,4BAAQ;;;;;ICArB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK;;;;;ICAlB;QAAA;YACE,YAAO,GAAG,YAAY,CAAC;QACzB,CAAC;QAAD,iBAAC;IAAD,CAFA,AAEC,IAAA;IAFY,gCAAU;;;;;ICCvB,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAa,kBAAkB;QAC7B,4BAAY,EAAc;YAO1B,iBAAY,GAAW,EAAE,CAAC;YANxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;QAOK,kCAAK,GAAX;;;;;;4BACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC;gCACjC,MAAM,gBAAC;4BACT,CAAC;4BACc,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAA;;uCAAvD,SAAuD;4BACtE,EAAE,CAAA,CAAC,CAAC,QAAQ,CAAC,CAAA,CAAC;gCACZ,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;4BACrC,CAAC;;;;;SACF;QACH,yBAAC;IAAD,CApBA,AAoBC,IAAA;IApBY,kBAAkB;QAD9B,qCAAM,CAAC,uBAAU,CAAC;yCAED,uBAAU;OADf,kBAAkB,CAoB9B;IApBY,gDAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICA/B,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAG9C,IAAa,WAAW;QACtB,qBAAY,WAAwB,EAAE,WAAwB;YAK7C,eAAU,GAAW,+CAA+C,CAAA;YAJnF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;QAMK,wCAAkB,GAAxB,UACE,MAA0B,EAC1B,IAAyB,EACzB,GAAuB,EACvB,KAAkB;YAHlB,uBAAA,EAAA,kBAA0B;YAC1B,qBAAA,EAAA,iBAAyB;YACzB,oBAAA,EAAA,eAAuB;YACvB,sBAAA,EAAA,UAAkB;;;;;gCACH,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,uBAAoB,EAAE;gCACjF,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,KAAK,OAAA;6BACzB,EAAE;gCACD,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJa,SAIb;4BACF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEK,oCAAc,GAApB,UACE,MAA0B,EAC1B,IAAyB;YADzB,uBAAA,EAAA,kBAA0B;YAC1B,qBAAA,EAAA,iBAAyB;;;;;gCACR,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,mBAAgB,EAAE;gCAC7E,MAAM,QAAA,EAAE,IAAI,MAAA;6BACb,EAAE;gCACD,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJa,SAIb;4BACF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEG,qCAAe,GAArB,UACE,MAA0B,EAC1B,IAAyB,EACzB,GAAoB;YAFpB,uBAAA,EAAA,kBAA0B;YAC1B,qBAAA,EAAA,iBAAyB;YACzB,oBAAA,EAAA,YAAoB;;;;;gCACH,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,oBAAiB,EAAE;gCAC9E,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA;6BAClB,EAAE;gCACD,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJa,SAIb;4BACF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QACL,kBAAC;IAAD,CA7CA,AA6CC,IAAA;IA7CY,WAAW;QADvB,qCAAM,CAAC,yBAAW,EAAE,yBAAW,CAAC;yCAEN,yBAAW,EAAe,yBAAW;OADnD,WAAW,CA6CvB;IA7CY,kCAAW;;;;;ICNxB;QAAA;QAYA,CAAC;QAXG,yCAAM,GAAN,UAAO,KAAK;YACR,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,MAAM,CAAI,IAAI,SAAI,KAAK,SAAI,GAAK,CAAC;QACrC,CAAC;QAED,4CAAS,GAAT,UAAU,MAAM;YACZ,MAAM,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACL,+BAAC;IAAD,CAZA,AAYC,IAAA;IAZY,4DAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICGrC,IAAa,yBAAyB;QACpC,mCAAY,EAAe;YAKnB,eAAU,GAAW,IAAI,CAAC;YAC1B,WAAM,GAAW,EAAE,CAAC;YACpB,YAAO,GAAe,EAAE,CAAC;YACzB,YAAO,GAAe,EAAE,CAAC;YAP/B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAWK,4CAAQ,GAAd;;;;;gCACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;4BAApB,SAAoB,CAAC;4BACrB,MAAM,CAAC,UAAU,CAAC;gCACV,CAAC,CAAC,eAAe,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gCACvD,CAAC,CAAC,eAAe,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gCACvD,CAAC,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACtD,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;SAEV;QAEK,2CAAO,GAAb;;wBAKM,MAAM;;;;4BAJV,KAAA,IAAI,CAAA;4BAAc,qBAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAA;;4BAA7D,GAAK,UAAU,GAAG,SAA2C,CAAC;4BAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BACxC,IAAI,CAAC,OAAO,GAAe,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;4BACtD,IAAI,CAAC,OAAO,GAAe,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;qCACzC,EAAE;4BACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gCACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BAC7B,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;;;;SAC/C;QAED,oDAAgB,GAAhB;YACE,MAAM,CAAC;gBACL,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACnB;gBACD,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,oDAAgB,GAAhB;YACE,MAAM,CAAC;gBACL,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;iBAChB;gBACD,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QACH,gCAAC;IAAD,CAjEA,AAiEC,IAAA;IAjEY,yBAAyB;QADrC,0BAAM,CAAC,yBAAW,CAAC;yCAEF,yBAAW;OADhB,yBAAyB,CAiErC;IAjEY,8DAAyB;;;;;ICFtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICLD;QAAA;QAEA,CAAC;QAAD,gCAAC;IAAD,CAFA,AAEC,IAAA;IAFY,8DAAyB;;;;;ICCtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICJD,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICLD;QAAA;QAEA,CAAC;QAAD,+BAAC;IAAD,CAFA,AAEC,IAAA;IAFY,4DAAwB;;;;;ICCrC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAa,yBAAyB;QACpC,mCAAY,EAAe;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAOK,4CAAQ,GAAd;;;;;gCACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;4BAApB,SAAoB,CAAC;4BACrB,MAAM,CAAC,UAAU,CAAC;gCACV,CAAC,CAAC,aAAa,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gCACnD,CAAC,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACtD,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;SACV;QAEK,2CAAO,GAAb;;0BAKU,CAAC;;;gCAJE,qBAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAA;;mCAAxC,SAAwC;4BACnD,IAAI,CAAC,OAAO,GAAkB,IAAI,CAAC;4BACnC,IAAI,CAAC,YAAY,GAAmB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,MAAM,CAAC;4BACtE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BACrB,GAAG,CAAA,CAAC,IAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,CAAC;gCACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACjD,CAAC;;;;;SACF;QAED,gDAAY,GAAZ,UAAa,KAAa;YACxB,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,KAAG,KAAO,GAAG,MAAI,KAAO,CAAC;YACpD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAI,QAAQ,aAAU,CAAC,CAAC;YAC3C,IAAI,MAAM,GAAG,OAAO,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,kDAAc,GAAd;YACE,IAAI,UAAU,GAAG;gBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;aACnB,CAAA;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,CAAC;gBACL,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,uDAAmB,GAAnB,UAAoB,KAAa;YAC/B,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;gBACzB,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;gBACtB,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;gBACtB,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;gBACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAA;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAA;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;gBACvB,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;gBAC1B,KAAK,EAAE,EAAE,MAAM,CAAC,SAAS,CAAA;gBACzB,KAAK,EAAE,EAAE,MAAM,CAAC,UAAU,CAAA;gBAC1B,KAAK,EAAE,EAAE,MAAM,CAAC,UAAU,CAAA;gBAC1B;oBACE,MAAM,CAAC,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QAEH,gCAAC;IAAD,CAvEA,AAuEC,IAAA;IAvEY,yBAAyB;QADrC,0BAAM,CAAC,yBAAW,CAAC;yCAEF,yBAAW;OADhB,yBAAyB,CAuErC;IAvEY,8DAAyB;;;;;ICFtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICND;QAAA;QAEA,CAAC;QAAD,gCAAC;IAAD,CAFA,AAEC,IAAA;IAFY,8DAAyB;;;;;ICEtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAa,wBAAwB;QACnC,kCAAY,EAAe;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAcK,2CAAQ,GAAd;;;;;gCACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;4BAApB,SAAoB,CAAC;4BACrB,MAAM,CAAC,UAAU,CAAC;gCACV,CAAC,CAAC,cAAc,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gCACpD,CAAC,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACtD,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;SACV;QAEK,0CAAO,GAAb;;;;;gCACa,qBAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAA;;mCAAvC,SAAuC;4BAClD,IAAI,CAAC,IAAI,GAAW,IAAI,CAAC,MAAM,CAAC,CAAC;4BACjC,IAAI,CAAC,MAAM,GAAW,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACrC,IAAI,CAAC,cAAc,GAAW,IAAI,CAAC,YAAY,CAAC,CAAA;4BAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,SAAO,IAAI,CAAC,cAAgB,CAAC;4BAChI,IAAI,CAAC,OAAO,GAAkB,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;;;;;SACrB;QAED,iDAAc,GAAd;YACE,MAAM,CAAC;gBACL,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;iBAChB;gBACD,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,+CAAY,GAAZ;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE5C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAElD,CAAC;QACH,+BAAC;IAAD,CAjGA,AAiGC,IAAA;IAjGY,wBAAwB;QADpC,0BAAM,CAAC,yBAAW,CAAC;yCAEF,yBAAW;OADhB,wBAAwB,CAiGpC;IAjGY,4DAAwB;;;;;ICFrC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;ACND;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICCA,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAG7C,IAAa,UAAU;QACrB,oBAAY,WAAwB,EAAE,WAAwB;YAK7C,eAAU,GAAW,+CAA+C,CAAA;YAJnF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;QAMK,uCAAkB,GAAxB;;;;;gCACiB,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,oBAAiB,EAAE,IAAI,EAAE;gCAClF,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAFW,SAEX;4BACJ,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEK,sCAAiB,GAAvB,UAAwB,eAAuB;;;;;gCAC9B,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,kBAAe,EAAE;gCAC5E,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM;6BACpF,EAAE;gCACC,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJW,SAIX;4BACJ,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEK,+BAAU,GAAhB,UAAiB,QAAgB,EAAE,UAAkB;;;;;gCACpC,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,oBAAiB,EAAE;gCAC9E,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;6BAC7D,EAAE;gCACC,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJW,SAIX;4BACJ,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QACH,iBAAC;IAAD,CAlCA,AAkCC,IAAA;IAlCY,UAAU;QADtB,qCAAM,CAAC,yBAAW,EAAE,yBAAW,CAAC;yCAEN,yBAAW,EAAe,yBAAW;OADnD,UAAU,CAkCtB;IAlCY,gCAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICHvB,IAAa,sBAAsB;QACjC,gCAAY,EAAc;YASlB,eAAU,GAAY,KAAK,CAAC;YARlC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;QASK,yCAAQ,GAAd;;;;;gCACa,qBAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAA;;mCAA1C,SAA0C;4BACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;4BACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;4BACtB,qBAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAA;;uCAAzE,SAAyE;4BACxF,EAAE,CAAA,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;gCACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;4BACrB,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;4BACvB,CAAC;;;;;SACF;QAEK,2CAAU,GAAhB;;;;;;4BACE,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,CAAC;gCACvB,MAAM,gBAAC;4BACT,CAAC;4BACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACR,qBAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAS,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAU,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAA;;uCAA9H,SAA8H;4BAC7I,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACP,qBAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAA;;uCAAzE,SAAyE;4BACxF,EAAE,CAAA,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;gCACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;4BACrB,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;4BACvB,CAAC;4BACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;;;;;SACzB;QACH,6BAAC;IAAD,CAxCA,AAwCC,IAAA;IAxCY,sBAAsB;QADlC,0BAAM,CAAC,uBAAU,CAAC;yCAED,uBAAU;OADf,sBAAsB,CAwClC;IAxCY,wDAAsB;;;ACJnC;ACAA,EDCE,0BAA0B;AED5B,CDCC,ADCA,oBCDoB;AEDrB,CFEC,CCDC,gBDCgB,yBCDyB;AED3C,CHGC,CEFC,eAAe,IFEI;AIHrB,CFEC,AFEA,CGHC,AFEA,eEFe,uDCDuD,SHGS;AGFjF,ACDA,CFEC,CFEC,mEGHmE,GCDG,ubJIub;AKJ/f,AJIA,AFEA,AIJA,ACDA,CJIC,oEIJoE,YDCY;ADEjF,ACDA,ACDA,AEFA,CPOC,CEFC,WFEW,IEFI,uDKLuD,SFES;AJKjF,AIJA,AEFA,ACDA,CNMC,AFEA,CGHC,eAAe,MHGM,8COP8C,GCDG;ADExE,ACDA,ACDA,CNMC,AHGA,CCDC,mBAAmB,gDOPgD,GCDG,SFES;ALMjF,AKLA,ACDA,ACDA,ACDA,ETSE,SAAS,0DQR0D,GCDG,SFES;ALMjF,AHGA,AQRA,ACDA,ACDA,ACDA,ETSE,ADCA,eCDe,ODCO,6CST6C,GCDG,SFES;AACjF,ACDA,ACDA,CTSC,AFEA,CGHC,AFEA,eEFe,EHGE,mCCDmC,eUVe,YDCY;AACjF,ACDA,CRQC,AHGA,CCDC,mBAAmB,4DUV4D;ATUjF,EDCE,oBAAoB;AEDtB,AHGA,ECDE,AMNA,eNMe;AMLjB,CPOC,CEFC,AMNA,WNMW,QFEQ;AQPrB,CNMC,AFEA,CGHC,AFEA,WEFW,GEFG,EHGE,GFEG,iBCDiB;AIHtC,CHGC,ACDA,AHGA,CCDC,AOPA,AEFA,gBPOgB,AHGA,KQRK,cPOc;ASRrC,CPOC,AHGA,ACDA,AOPA,EDCE;AACH,ACDA,EEFE,cNMc,ACDA;ALMhB,ACDA,AGHA,ACDA,EGHE,EEFE,SAAS,OFEO,YDCY;AAChC,CPOC,AQRA,CPOC,AIJA,EKLE,YAAY,IVUI,EKLE,YJIY;AONlC,CRQC,CCDC,AIJA,AEFA,CGHC,aNMa,OJIO,MOPM,OFEO,4CJI4C;AGFhF,CJIC,AUVA,CTSC,AIJA,AEFA,ACDA,UHGU,CGHC,0CDC0C,0bNM0b;ASRjf,CFEC,CPOC,AGHA,ACDA,AEFA,eFEe,IDCI,CHGC,8VMN8V;APQpX,AQRA,EPOE,AGHA,ACDA,AEFA,AGHA,kBNMkB,CHGC,CMNC,UFEU;CLM/B,ACDA,AGHA,ACDA,CEFC,ACDA,EEFE,cVUc,GOPG,CCDC,CEFC;ATUvB,AGHA,ACDA,CLKC,AOPA,CCDC,CEFC,aFEa,KRQK;AONrB,CPOC,AQRA,AEFA,CTSC,AIJA,mBAAmB,GJIG;AONxB,AEFA,ETSE,AGHA,ACDA,AEFA,mBFEmB,GEFG,QHGQ,gCHGgC;ADEhE,ECDE,AGHA,ACDA,AEFA,ACDA,AEFA,cDCc,ELKE,AIJA,CHGC,EJIE,2BMN2B;AEDhD,CTSC,AIJA,CHGC,AIJA,AEFA,ACDA,EEFE,OVUO,AQRA,UDCU,CFEC,CJIC,ASTA;ANOvB,CJIC,AKLA,CJIC,AMNA,ACDA,CEFC,OFEO,WRQW,EOPE,eNMe;AIHtC,CLKC,CCDC,AMNA,ACDA,AEFA,OFEO,OCDO,GTSG,kBCDkB,CMNC;AEDtC,CTSC,ACDA,CGHC,AGHA,ACDA,EEFE,UAAU,EFEE,eJIe,MGHM;CHIpC,AGHA,CCDC,ACDA,CCDC,yBDCyB,IDCI;ARShC,ACDA,AGHA,AGHA,ECDE,ACDA,ACDA,UFEU,QCDQ,0CFE0C;AAC9D,CPOC,CCDC,AONA,ACFA,ECDE,WVUW,CUVC,CDCC,UDEU,uBPMuB;CDEjD,CCDC,AGHA,AGHA,ACAA,ACFA,ECDE,cAAc,CFGC,EROE,CSTC,IFEI,IHGI,0DHG0D;CDEvF,AIJA,AIHA,CPMC,AIJA,AEFA,AEFA,CCDC,kBDCkB,CFEC,YFEY,0TJI0T;AGF5V,AIHA,EPME,AIJA,AEFA,AEFA,ACDA,oBTSoB,AQRA,CFEC,sBFEsB;ALM7C,COPC,CNMC,AIJA,AGFA,ACFA,ECDE,UDCU,CCDC,ELKE,AGFA,IPMI;AMLrB,CPOC,ACDA,AIJA,AGFA,ACFA,ECDE;ALMH,AGFA,ACFA,EFEE,AGHA,eHGe;ANOjB,CMNC,CHGC,AIHA,ACFA,ECDE,aFGa,EJGE,GKLG,QCDQ;AHI9B,CHGC,AIHA,CPMC,AQRA,ECDE,kBDCkB,0BCD0B,kCTSkC;AGFlF,AIHA,CPMC,CDCC,AOPA,AEFA,ECDE,WAAW,EHGE,EEFE,ETSE;CONpB,CPOC,AIHA,AIJA,ACFA,ECDE,aFGa,ICFI,ECDE,4BNO4B;AGHnD,CPOC,AIHA,AIJA,ACFA,GCDG,SAAS;ANQb,AIJA,ACFA,EJIE,AEFA,CGHC,cHGc,iBFEiB;CACjC,AEFA,CCAC,ACFA,ACDA,eDCe,WDEW;ARQ5B,AKLA,AEFA,CCAC,ACFA,GCDG,iBAAiB;AFIrB,ACFA,EJIE,AEFA,EGHE,aHGa,GFEG,GKLG;CVatB,AKPA,AEFA,CCAC,ACFA,CCDC,sBVYsB,GQTG,ACFA;AJK5B,AEFA,CPSC,CQTC,ACFA,ACDA,YDCY,IDEI;EHGhB,AEFA,ACAA,ACFA,ECDE,UDCU,KDEK,CHEC,EEFE,CGHC;CLMtB,CEFC,ACAA,ACFA,CCDC,SDCS,SFES,GCAG;ARUxB,AKPA,CEFC,CHIC,AIJA,ACFA,ACDA,gBFGgB,GCFG,OLMO;AGH5B,CPSC,AILA,CCFC,AGFA,ACFA,ECDE,QDCQ,CTWC,CQTC,MHEM,CKLC;ANQrB,CJKC,AKPA,AGFA,CDAC,AEFA,ECDE,SDCS,KFEK,KGHK,KVYK;AKN5B,AGFA,CRSC,CILC,AGJA,AEFA,ECDE,SDCS,WCDW,INOI,AGJA,GPSG;CAC9B,ASXA,CLMC,ACFA,AEFA,ACAA,CEHC,gBFGgB,CHEC,IDEI,AGJA,IPSI;ASV5B,CTWC,AILA,ACFA,AEFA,CCAC,AEHA,mBFGmB;AJKrB,ACFA,AEFA,CCAC,CCFC,ECDE,qBAAqB,IDCI;ATY7B,AQTA,EJIE,ACFA,AEFA,AEFA,CCDC,kBHGkB,CEFC,KJIK,CDEC;CCD3B,AEFA,CHIC,AIJA,ACFA,ACDA,eFGe,ICFI,GLMG;ACDxB,AEFA,CHIC,AIJA,CCFC,ECDE,YAAY,YDCY;ALO5B,AIJA,EHEE,AEFA,AEFA,CCDC,ULKU,IIJI,IFEI;CGFpB,CNOC,ACFA,AEFA,ACAA,ACFA,eAAe,IDEI,CDAC,EFEE,IDEI;AMN5B,CVYC,AKPA,CDEC,AGJA,ACAA,ACFA,UDEU,GCFG,ETWE,KOTK,EHIE;ACDxB,CLOC,AILA,CGJC,ACAA,ACFA,ACDA,WFGW,CCFC,MTWM,AOTA;AHKpB,CJKC,AQTA,CHEC,AEFA,AEFA,ECDE,SLKS,OIJO,CFEC,MGHM;AFI3B,CDAC,CHIC,ACFA,AIJA,CCDC,kBDCkB,GJIG,IDEI;AJM5B,AOTA,CFEC,CDEC,AIJA,ACFA,ACDA,mBDCmB,GLMG,IIJI;AHG5B,CDEC,CGJC,ACAA,ACFA,ECDE,ODCO,QCDQ,CFGC,EDAE;AHKtB,CGJC,CFEC,AGFA,ACFA,CCDC,ULKU,CIJC,iBDEiB;ADC/B,CPSC,ASXA,CJIC,AGFA,AEHA,kBVYkB,CQTC,GHEG;AIHxB,CTWC,AKPA,CEFC,ACAA,EEHE,MVYM,kBOTkB,CGHC,QFGQ;AHGrC,CLOC,AQTA,CJIC,AGJA,AEFA,CCDC,SVYS,MSXM,aFEa,QHIQ;AIHvC,CRSC,ASXA,ACDA,CNOC,ACFA,AEFA,YFEY,ELOE,MOTM,aHIa;AKLnC,ACDA,CVYC,AILA,ACFA,AEFA,CCAC,gBAAgB,wBRSwB;AIJ1C,ACFA,AEFA,CPSC,AQTA,CCFC,ACDA,YVYY,ISXI;ADGlB,CRSC,CILC,ACFA,AEFA,AEFA,ECDE,UHGU,IEFI,EJIE,SKLS,UNOU;AJMvC,COTC,AEFA,CLMC,ACFA,AGFA,CEHC,kBLKkB,UGFU,QJIQ;AGHvC,AEFA,CTWC,AILA,AIJA,AEHA,CLKC,YLOY,OKPO;ADGrB,AIJA,AEHA,CVYC,CKPC,AEFA,AEFA,aFEa,EEFE,CTWC,CAAC,AUZA,GLKG,OLOO;AUX7B,CVYC,AKPA,AEFA,CCAC,ACFA,gBAAgB,sCDEsC;ARUxD,AKPA,AEFA,CCAC,CCFC,ACDA,iBDCiB;ADGnB,CRSC,CKPC,AEFA,AEFA,ECDE,aAAa,CVYC,ASXA,CTWC,EOTE,OFEO,eLOe;CAC1C,AOTA,CFEC,AGFA,ACFA,CCDC,yBFGyB,ACFA,qBJIqB;ALQjD,AOTA,CEFC,ACDA,CLKC,AGFA,UHEU,GGFG;ACDf,ACDA,CVYC,CKPC,AEFA,ACAA,YAAY,GHEG,CLOC,CAAC,COTC,2BPS2B;CAC9C,AOTA,ACAA,CHEC,AIJA,ACDA,mBDCmB,SJIS;AED9B,ACAA,CCFC,CJIC,EKLE,aAAa,ILKI,OEFO;APU5B,AOTA,AEFA,ELME,ACFA,AGFA,CEHC,YFGY,MHEM,kBDEkB;CIHtC,AEHA,CNOC,ACFA,AEFA,AEFA,SJIS,GIJG,CFEC,wBHIwB;AIHvC,AEHA,CVYC,AILA,AGJA,CFEC,AIJA,WTWW,CKPC,GIJG;ALOjB,AGJA,CPSC,AKPA,CGFC,ACFA,ACDA,WDCW,QDEQ;AHGrB,CGFC,ACFA,CLMC,AGJA,EGHE,UHGU,IGHI,qBNOqB;AJMvC,AQTA,ACFA,CFEC,CHIC,ACFA,CKLC,YLKY,wBDEwB;AGHvC,CPSC,AILA,AMPA,CLKC,AGFA,ACFA,aDEa,IRSI,AKPA,oBIJoB;ALOvC,CJKC,CKPC,AEFA,ACAA,ACFA,YJIY,OLOO,AOTA,ACAA,wBCFwB;CTY5C,AKPA,AEFA,ACAA,CCFC,kCAAkC;AJKpC,AEFA,ACAA,ECFE,eAAe;ATYjB,EKPE,AEFA,ACAA,ACFA,UJIU,AIJA,QFEQ,CCAC;CRUpB,AOTA,ACAA,CHEC,AIJA,QJIQ,GIJG,ETWE;AORf,ACAA,CRSC,CKPC,AIJA,SJIS,SIJS;EJKlB,AEDA,ACDA,ACFA,OJIO,QGFQ,ICFI,mBFGmB;APSxC,CKPC,AEDA,ACDA,CCFC,SAAS,ITWI;AACf,AKPA,AEDA,ACDA,ECFE,SAAS;CTYV,ASXA,CLMC,ACFA,AEAA,ACFA,kBAAkB,CHEC,QLOQ,UILU,GGFG;AEH1C,CTWC,AOPA,ACFA,CJIC,ACFA,gBAAgB,YLOY,SILS;AGSvC,ACZA,CRSC,AILA,ACFA,CIJC,YAAY,iBTWiB;AIJ/B,ACFA,CLOC,COGC,ACZA,ACFA,YDEY,GCFG;ELOf,ACFA,AGFA,ACFA,EFeE,SEfS,QDEQ,ODaO,WHTW,aCFa;ALQpD,CKPC,AGFA,ACFA,CLMC,CGSC,oCHToC;ACDvC,AGFA,ACFA,CLMC,CGSC;AHRF,CJKC,CKPC,AGFA,ACFA,EFgBE,eCde,WDcW,SEhBS,ETWE,gCKPgC;CLQxE,CKPC,AGFA,ACFA,CFgBC,WCdW,EHEE,0BLO0B,ESXE;CTY3C,AOKA,CFZC,AGFA,ACFA,iBDEiB,WHEW,MIJM;AFiBpC,CFZC,CGFC,ACFA,eAAe,GDEG;ARUpB,AKPA,CGFC,CDcC,AEhBA,UAAU,uDFgBuD;ACbnE,CRSC,CKPC,AEcA,AElBA,WAAW,KTWK,AKPA,SEcS;CPN1B,AOOA,CFdC,AGFA,ACFA,iBJIiB,CIJC,MTWM,AQTA;ADiB1B,CPPC,AKPA,CGFC,ACFA,mBAAmB,CDEC,ORSO;AKN7B,CLOC,COOC,AChBA,ACFA,YAAY,GDEG,kDDgBkD;EHXjE,ACFA,AEgBA,AClBA,ACFA,SAAS,GDEG,GHEG,WEgBW,WHdW;AJMvC,CKPC,AEgBA,CHdC,AIJA,ACFA,SAAS,WDEW,iBJIiB;ACDvC,AEgBA,CHdC,AKNA,CDEC,iBAAiB;AJKnB,AKNA,CTWC,AQTA,CHEC,AEgBA,eFhBe,CLOC,iDOSiD;ACjBnE,CRSC,AKPA,CDEC,AGgBA,AEtBA,aAAa,aFsBa,WHhBW;ACDvC,CEkBC,CHhBC,AIJA,ACFA,iBAAiB,oBLMoB,OIJO;ARU9C,AOWA,CHhBC,AKNA,CJIC,AGFA,cHEc,EGFE;AJKlB,AKNA,CTWC,CKPC,AEkBA,ACpBA,wBRSwB,EQTE,kBHEkB,+BEkB+B;CPV5E,CKNC,AEmBA,ACtBA,ACFA,aAAa,GTWG,CQTC,EHGE,KEmBK;CPZzB,AOaA,CFnBC,AGHA,ACFA,iBAAiB,OJKO,AGHA;ADuB1B,CExBC,CJKC,AGHA,6BHG6B,cGHc;ARU7C,ASXA,CDEC,CHGC,AEmBA,oBFnBoB,uDEmBuD;ACrB7E,EHGE,AEqBA,AE1BA,WAAW,aF0Ba,EFrBE;CAC3B,AEqBA,CCxBC,ACFA,UDEU,GCFG;AJMf,AEqBA,CCxBC,ACFA,ETWE;AACH,AQTA,ACFA,EJKE,0BAA0B;CLO3B,CILC,ACDA,AGHA,ACFA,cAAc,EJKE,GGHG,iBRSiB,CILC;CJMtC,ASXA,CLMC,ACDA,AGHA,iBHGiB,WGHW,SJIS;AJMvC,ASXA,CLMC,AIJA,CHGC,uBAAuB;ADEzB,AIJA,EHGE,AEqBA,AE1BA,aF0Ba,EE1BE,GJKG;CLOnB,AOeA,CHpBC,ACDA,AGHA,ACFA,mBJKmB,AGHA,ACFA,CTWC,iBILiB;AGqBvC,CPfC,AKNA,AILA,CLMC,AIJA,SAAS,URSU,kBILkB;ACAvC,AILA,CTWC,AILA,CGoBC,ACxBA,YAAY,ODwBO;APdrB,AILA,ECDE,AEqBA,ACxBA,ACFA,sBF0BsB,KFrBK,CILC,IDEI;CACjC,ACFA,CJKC,AEqBA,WAAW,SFrBS;AGFtB,ACFA,CTWC,CKNC,AEqBA,YAAY,OFrBO,CLMC;CACrB,CKNC,AEqBA,AE1BA,eJKe,EEqBE,CE1BC,ITWI;CACvB,ASXA,CJKC,AEqBA,ACxBA,aAAa,SHGS,CEqBC;APdzB,ASXA,CF0BC,CFrBC,AGHA,aHGa,GGHG;ADyBlB,EFrBE,AGHA,ACFA,eDEe,GHGG,AILA;CTYnB,ASXA,CJKC,AGHA,mBHGmB,AGHA,ERSE;ASVvB,CTWC,CKNC,AEqBA,ACxBA,YHGY,OEqBO,CCxBC;ARUtB,CKNC,CDCC,AGoBA,ACxBA,ACFA,QF0BQ,UE1BU,mBLMmB,AIJA;AHIvC,CLMC,ASXA,CLMC,AGoBA,ACxBA,YDwBY,KCxBK,KRSK,eILe;AKLvC,CTWC,AILA,CGoBC,ACxBA,mBDwBmB,CCxBC;AJKtB,CGoBC,CCxBC,ACFA,aDEa,CHGC,MILM;AJMtB,AEqBA,EHpBE,AIJA,ACFA,aDEa,OCFO,iBLMiB;CIHtC,CJIC,ACDA,AEqBA,AE1BA,WAAW,SJKS,CEqBC,gBHpBgB;AIHvC,CJIC,AGoBA,AE1BA,CJKC,mBAAmB;ALOrB,AILA,AGoBA,AE1BA,CJKC,CGHC,gCAAgC;AHIlC,EEqBE,ACxBA,ACFA,eF0Be,CE1BC,IDEI;CDyBrB,ACxBA,CCFC,CTWC,gBSXgB;ATYnB,AOeA,ACxBA,ECFE,UAAU;CACX,CF0BC,ACxBA,eDwBe,iBCxBiB;ACDlC,CTWC,AOeA,ACxBA,uBRSuB;AOgBxB,ACxBA,CRSC,CSXC,YTWY,QSXQ;CTYrB,CQTC,ACFA,eAAe,iBDEiB,kCDwBkC;AACpE,CCxBC,CCFC,mBAAmB;ATYrB,AQTA,EJIE,AGoBA,AE1BA,iBF0BiB,CE1BC,mBLMmB;CGqBtC,CHpBC,AIJA,ACFA,mBAAmB,aDEa,KJIK;AGqBvC,CPfC,AILA,AIJA,CCFC,iBAAiB,mBTWmB;AIJtC,AIJA,CRSC,ASXA,CF0BC,iBAAiB;AEzBnB,CF0BC,CHpBC,AIJA,qCJIqC,OIJO;ARU9C,AOeA,EHpBE,AIJA,ACFA,eDEe,ACFA,sBLMsB;CACtC,CGoBC,ACxBA,ACFA,eAAe,CDEC,CDwBC;AHnBnB,CJKC,AOeA,CCxBC,ACFA,YTWY,ISXI,CDEC;ADyBnB,CPfC,CQTC,ACFA,mBAAmB,GDEG;CACvB,ACFA,CF0BC,iBAAiB;APdnB,AQTA,ACFA,CF0BC,CHpBC,qCAAqC;AGqBvC,EHpBE,AIJA,ACFA,YDEY,GCFG,sBLMsB;CJMtC,AILA,CGoBC,ACxBA,ACFA,gBAAgB,CF0BC,ECxBE,MRSM;AIJ3B,CJKC,AOeA,CCxBC,ACFA,aDEa,ICFI;AF2BnB,CE1BC,CLMC,AIJA,kBAAkB,mBJImB;AJMvC,ASXA,ELME,AGoBA,ACxBA,iBDwBiB,ECxBE,kBJIkB;CJMtC,AILA,AGoBA,CCxBC,ACFA,eTWe,CQTC,CCFC;ALOnB,AGoBA,CPfC,AQTA,ACFA;ADGD,ACFA,EF0BE,iBAAiB;APdnB,COeC,CCxBC,ACFA,YAAY,ODEO;ADyBrB,CPfC,AQTA,CJIC,AKNA,kBAAkB,cTWc,KILK;AIHvC,CRSC,ASXA,CLMC,AGoBA,iBAAiB,oBHpBoB;AKLvC,CLMC,AGoBA,CCxBC,iBAAiB;ARUnB,AILA,AGoBA,ECxBE,ACFA,YDEY,CCFC;ETYb,AILA,AGoBA,ACxBA,ACFA,YAAY,ETWE,GOeG,ACxBA,oBJIoB;CJMtC,AILA,AGoBA,CCxBC,ACDA,kBDCkB,CCDC;ALMrB,AGoBA,CCxBC,CCDC,wBAAwB;ATW1B,AQTA,EJIE,AGoBA,AEzBA,iBFyBiB,SHpBS,GKLG;CTW9B,AOeA,AEzBA,CLKC,AIJA,sBRSsB,CAAC,CQTC,oBJIoB,2BJK2B;AOgBzE,AEzBA,CTUC,AILA,CIJC,oBAAoB;AJKtB,EGoBE,ACxBA,ACDA,eDCe,EDwBE,0BEzB0B;ATW7C,COeC,CHpBC,AIJA,ACDA,YDCY,KCDK,2BLK2B;AGqB9C,CPfC,AILA,CIJC,ACDA,aAAa,KTUK,EQTE;AJKtB,CJKC,ASVA,CFyBC,ACxBA,iBDwBiB,ACxBA;ACAnB,CFyBC,ACxBA,CJIC,4CAA4C;AJM9C,AOeA,ACxBA,CJIC;AACD,CJKC,COeC,ACxBA,cCDc,CDCC,EDwBE,QPfQ;AST3B,CTUC,AOeA,CHpBC,AIJA,uBRSuB,GQTG,kBJIkB;AGqB9C,CPfC,AILA,AIJA,CCDC,+BAA+B;ALMjC,AIJA,ECDE,mBAAmB;ATWrB,CSVC,CLKC,ACDA,AGHA,eAAe,IHGI,yBDCyB;AKJ9C,CTUC,AILA,CCDC,AEqBA,ACxBA,aRSa,IOeI,GFrBG,MGHM;AJK5B,CJKC,AKNA,AEqBA,ACxBA,CCDC,0BAA0B;AJK5B,AEqBA,ACxBA,EJIE,AKLA,sBAAsB,sBLKsB;AJM9C,CILC,CCDC,AEqBA,ACxBA,ACDA,eDCe,EDwBE,GEzBG,UJIU,ILMI;AACpC,AILA,CGoBC,CFrBC,AGHA,ACDA,oBJIoB,AIJA,MDCM;ADyB5B,CPfC,AQTA,CJIC,ACDA,AIJA,eTUe,CKNC,EIJE,0BLK0B;AIH9C,CRSC,AILA,ACDA,CEqBC,AEzBA,QTUQ,ESVE,OFyBO;AHnBnB,ACDA,CLMC,AOeA,CCxBC,ACDA,STUS,GSVG,GDCG;ADyBjB,CPfC,CILC,ACDA,AGHA,ACDA,YTUY,CSVC,EJIE,WGHW,kBJIkB;CJM7C,AILA,AIJA,CHGC,AEqBA,AEzBA,QAAQ,KTUK,IOeI,SFrBS;ADE5B,AIJA,CRSC,AOeA,CFnBC,AINA,kBAAkB,CTUC,mBKJmB;AEoBxC,CPfC,CILC,ACCA,AGLA,ACDA,UJMU,KGLK,ERSE,ESVE,yBLKyB;CJM7C,AILA,CCCC,AEmBA,ACxBA,ACDA,SAAS,QFyBQ,CPfC,QQTQ,kBHKkB;ADA9C,CJKC,AKJA,AEmBA,ACxBA,CCDC,WTUW,CSVC;AJOd,AEmBA,ACxBA,CRSC,ASVA,CLKC,kBJKkB,CILC;AKJrB,CTUC,CILC,ACCA,AGLA,aRSa,EQTE,GJIG,ACCA;CDAnB,CCCC,AEmBA,ACxBA,ACDA,eJMe,EEmBE,KEzBK,IDCI;AJK5B,CJKC,AKJA,AEmBA,ACxBA,CCDC,qBAAqB,ETUE;AKHzB,AEmBA,ACxBA,CRSC,CILC,AKLA,iBLKiB,EKLE,iBTUiB;CACrC,ASVA,CLKC,ACCA,AEmBA,ACxBA,eAAe,EDwBE,CPfC,CILC,wBCCwB;AIL7C,CTYS,AIPR,ACCA,AEmBA,CCxBC,0BAA0B,cRWsB;AINlD,ACCA,AEmBA,CPbC,AQXA,CCDC,aAAa;ADEf,EJIE,AGoBA,AEzBA,eAAe,CLKC,CGoBC;APZnB,COaC,AEzBA,CLKC,ACCA,AGLA,eAAe,UJIU,OCCO;AEoBlC,AEzBA,CTYC,CIPC,ACCA,AGLA,gBJIgB,GJOG,GKNG,IGLI;CRY3B,AQXA,CJIC,ACCA,AEmBA,AEzBA,ULKU,KJOK,EOaE,SFnBS,AINA;ADE5B,CRWC,AKNA,AEmBA,CHpBC,AKLA,WLKW,MJOM,KSZK;AJOxB,AEmBA,CPbC,CIPC,AIJA,ACDA,WTYW,AIPA,SKLS,MDCM;CRY3B,CIPC,ACCA,AEmBA,ACxBA,ACDA,iBFyBiB,EHpBE,CKLC,qBDCqB,MHKM;CAChD,AEmBA,ACxBA,CJIC,AKLA,SLKS,SKLS;ATapB,AKNA,AEmBA,ACxBA,EJIE,AKLA,OLKO,GKLG;CTaX,AIPA,CCCC,AEmBA,ACxBA,ACDA,UDCU,ECDE,GTYG,AKNA,EEmBE;AHnBnB,CJOC,AOaA,CFnBC,AGLA,ACDA,aAAa,ITYI,EKNE,AGLA;ADyBrB,CPbC,AKNA,CGLC,ACDA,QAAQ,IDCI;AHMd,EEmBE,ACxBA,ACDA,aDCa,CJIC,GGoBG,CEzBC;ATapB,AIPA,CGoBC,CCxBC,ACDA,WDCW,QCDQ;AF0BrB,EHpBE,ACCA,AGLA,ACDA,ETYE,OSZO,CDCC,OJIO,IJOI,sBKNsB;CAC5C,CDDC,AGoBA,ACxBA,ACDA,ETYE,SAAS,CSZC,IDCI,CDwBC,GHpBG;ACEtB,CEmBC,ACxBA,ACDA,CLKC,EJOE,UAAU,cIPc;AGqB5B,ACxBA,ACDA,ELKE,ACCA,ELME,YAAY,YKNY,iBDDiB;EAC3C,ACCA,AEmBA,ACxBA,ACDA,ETYE,WSZW,ETYE,AKNA,EDDE,AGoBA,aCxBa;CJK/B,AGoBA,ACxBA,CHKC,AINA,ETYE,aSZa,KTYK,uBKNuB;ADA7C,AGoBA,ACxBA,CHKC,AINA,GTYG,kBAAkB;AKLtB,AINA,ELKE,AGoBA,ACxBA,ERWE,YIPY,GGoBG,GPbG,MQXM;CDyB3B,ACxBA,CJIC,ACCA,AINA,ETYE,kBSZkB,GTYG,SIPS,GCCG;AEoBrC,ACxBA,CJIC,ACCA,CINC,ETYE,gBSZgB,GTYG;AINvB,ACCA,CINC,CFyBC,ACxBA,ERWE,eOae,EPbE,WQXW;ACAhC,CFyBC,ACxBA,CJIC,ACCA,ELME,UIPU,cJOc,WKNW;AEoBvC,ACxBA,CJIC,ACCA,CINC,ETiBE,cSjBc,gITiBgI;AIXlJ,ACCA,CLWC,ASjBA,CDCC,0BAA0B;ACA5B,CDCC,CJIC,ACCA,AEmBA,iBHpBiB,AGoBA,oBFnBoB;AGJvC,CJIC,ACCA,AEmBA;AHnBD,ACCA,AEmBA,ECxBE,YAAY,ECDE;ATkBhB,ASjBA,ELKE,ACCA,AEmBA,ACxBA,eAAe,EJIE,AGoBA,oBFnBoB;CACtC,AEmBA,CHpBC,AIJA,ACDA,gBAAgB,GDCG,KJIK;ACE1B,AEmBA,EHpBE,AIJA,ACDA,CTiBC,cSjBc,ILKI,SIJS;ARiB9B,CSjBC,CLKC,ACCA,AEmBA,ACxBA,aAAa,EJIE,EGoBE,oBFnBoB;AILvC,CLKC,ACCA,AEmBA,ACxBA;AJKD,ACCA,AEmBA,ACxBA,ECDE,gBAAgB;ELMhB,ACCA,AEmBA,ACxBA,ACDA,YDCY,KDwBK,CEzBC,mBJMmB,MDDM;CCE5C,AEmBA,AEzBA,CLKC,AIJA,YAAY,QJIQ;ACEtB,AEmBA,AEzBA,CLKC,CIJC,ERgBE,wBAAwB,AQhBA;AJK5B,ECCE,AEmBA,ACxBA,ACDA,ETiBE,aQhBa,EDwBE,EPRE,kBKXkB,IINI;CTkB1C,AKXA,AEmBA,AEzBA,CLKC,AIJA,gBJIgB,GIJG;AHMrB,AEmBA,AEzBA,ELKE,AIFA,iBJEiB,cIFc;ARejC,CQdC,CJEC,ACCA,AEmBA,AEzBA,iBLKiB,AGoBA,SEzBS,WJMW;AGFvC,CHGC,AEmBA,AEzBA,CLKC,cAAc;ACEhB,AEmBA,AEzBA,CTiBC,CIZC,AIFA,mBAAmB,OJEO,IJYI;CQb/B,CJEC,ACCA,AEmBA,AEzBA,ETiBE,eOQe,KEzBK,CLKC,OJYO,OKXO;AGFvC,CHGC,AEmBA,AEzBA,CLKC,EJYE,aIZa,yBJYyB;AKV1C,AEmBA,AEzBA,CLKC,CIFC,ERcE,OQdO,iCRciC;AIX5C,ECCE,AEmBA,ACrBA,ACJA,ETiBE,eOQe,KEzBK,GDIG,YHEY,MLWM;CAC5C,AKXA,AEmBA,ACrBA,ACJA,CLKC,mBAAmB;ACErB,AEmBA,ACrBA,ACJA,ELKE,2CAA2C;AJa7C,EIZE,ACCA,AEmBA,ACrBA,iBJCiB,AGoBA,ECrBE,kBHEkB;CDAtC,ACCA,AEmBA,ACrBA;AJED,ACCA,AEmBA,ACrBA;EJEE,ACCA,AEmBA,ACrBA,YAAY,GHEG,EEmBE,OHpBO;CCEzB,AEmBA,CHpBC,AIDA,ACJA,ETiBE,OQbO,QCJQ,yBTiByB,KIZK;ACEjD,AEmBA,CHpBC,AKLA,CDKC,ERYE,wBQZwB,iBRYiB;AIX7C,AKLA,CTiBC,AQZA,CHCC,AEmBA,eFnBe,EEmBE;ACnBnB,CHCC,AEmBA,CHpBC,eAAe;AJajB,AKXA,AEmBA,CHpBC,CIAC,cCLc,GDKG;AJCnB,AKLA,EJME,AEmBA,ACpBA,UAAU,ODoBO,SFnBS;CAC3B,AEmBA,CHpBC,AIAA,ACLA,ETiBE,SQZS,QRYQ,ASjBA,OLKO;ACE5B,AEmBA,CHpBC,AIAA,CCLC,ETiBE,eSjBe,MTiBM;AIXzB,AIAA,CRYC,CKXC,AEmBA,AEzBA,eJMe,EEmBE,AEzBA;CJOlB,AEmBA,CHpBC,AIAA,ACLA,YDKY,ACLA,cLKc;AJa5B,AKXA,AEmBA,CHpBC,CIAC,ACLA,eDKe,ICLI;ALMrB,ECCE,AEmBA,ACpBA,ACLA,eJMe,EEmBE,ECpBE,QCLQ;CJO5B,AEmBA,ACpBA,CJAC,AKLA,0BLK0B,iBKLiB;AJO7C,AEmBA,ACpBA,CJAC,CKHC,sCAAsC;ALIxC,CKHC,CJIC,AEmBA,ACpBA,ERYE,aKXa,AGDA,EDoBE,EPRE;ASdrB,CTeC,AKXA,AEmBA,CHpBC,AIAA,0BJA0B,MIAM;AHElC,AEmBA,CHpBC,CIAC,ACHA,eAAe,EDGE;ARanB,AIZA,ECCE,AEmBA,ACnBA,ACJA,eJIe,EEmBE,EEvBE,MDIM;CHC1B,AEmBA,CHpBC,AICA,ACJA,aAAa,KDIK,QJDQ;ACE5B,AEmBA,CHpBC,CICC,ACJA,ETeE,USfU,OTeO,AQXA;AJArB,ECCE,AEmBA,ACnBA,ACJA,ETeE,SSfS,MFuBM,GCnBG,ORWO,KKXK;CLYjC,AKXA,AEmBA,ACnBA,CJDC,AKHA,SAAS,iBLGiB;ACE5B,AEmBA,ACnBA,CJDC,CKHC,gBAAgB;ALIlB,ECCE,AEmBA,ACnBA,ACAA,eJAe,AGAA,EDmBE,gBEnBgB;ATYnC,CKXC,AEmBA,ACnBA,ACAA,CLDC,0BAA0B;ACE5B,AEmBA,ACnBA,ACAA,CLDC;AACD,ECCE,AEmBA,ACnBA,ACAA,CTWC,cKXc,AGAA,EDmBE,KEnBK;ATYxB,CKXC,AEmBA,ACnBA,CJDC,AKCA,oBAAoB,MLDM;ACE5B,AEmBA,ACnBA,CRWC,AIZA,CKCC,iBAAiB,ETWE;AIXrB,CJYC,CKXC,AEmBA,ACnBA,ACAA,eDAe,EDmBE,SFnBS,EIAE;CFoB7B,ACnBA,CJDC,ACCA,AIAA,YAAY,OLDO,wBCCwB;AEoB7C,ACnBA,CJDC,AKCA,CJAC,mBAAmB;ADArB,AKCA,EJAE,AEmBA,ACnBA,eHAe,AGAA,EDmBE;CAClB,ACnBA,CJDC,ACCA,AIAA,aJAa,GIAG,cLDc;AGqBhC,ACnBA,EJDE,ACCA,AIAA,gBJAgB,EIAE,oBLDoB;EACtC,ACEA,AEkBA,ACnBA,ACAA,eDAe,EHCE,AEkBA,EHpBE,AKCA;CFoBpB,ACnBA,CJDC,ACMA,AILA,kBAAkB,KLDK,MCMM;AEe/B,ACnBA,CJDC,ACMA,AILA;ALAD,ACMA,AILA,EFmBE,ACnBA,eAAe,EDmBE;CAClB,ACnBA,CJDC,ACMA,AILA,gBAAgB,UJKU,GDNG;AGqB/B,ACnBA,CJDC,CCMC,AILA,oBAAoB,uBJKuB;ADL7C,ECOE,AEaA,ACnBA,ACAA,gBDAgB,CHMC,AEaA,AEnBA;CFoBlB,CHpBC,ACOA,AGNA,ACAA,kBDAkB,IHMI,CINC,ULDU;AGqBnC,CEnBC,CLDC,ACOA,AGNA,eHMe,WDPW,MICM;ACClC,CLDC,ACOA,AGNA,CDmBC,iBAAiB;AHnBnB,ACOA,AGNA,CDmBC,CEnBC,0BAA0B;AFoB5B,EHpBE,AKCA,0BAA0B,OLDO;EACjC,AGoBA,ACnBA,ACAA,iBFmBiB,SHpBS,AKCA,IDAI;CJA/B,AGoBA,ACnBA,ACAA,CJMC,2CAA2C;ADN7C,AGoBA,ACnBA,ACAA,CJMC;AACD,EDPE,AGoBA,iBAAiB,gBHpBgB;CGqBlC,CHpBC,ACOA,AGNA,cCAc,YLDY,MCOM;AEclC,ACnBA,ACAA,CLDC,CCOC,oBAAoB;ADNtB,CCOC,CGNC,ACAA,iDAAiD;AJOnD,EDPE,AGoBA,AEnBA,EDAE,WCAW,IFmBI,GCnBG,aJDa;CGqBlC,CHpBC,ACOA,AINA,EDAE,gBCAgB,KDAK,GJDG,MCOM;AEclC,CHpBC,CCOC,AINA,CDAC,YCAY,OJMO;ADNtB,CCOC,CEaC,ACnBA,ACAA,iBFmBiB,AEnBA;AJOnB,CEaC,CHpBC,AKCA,EDAE,WAAW,ECAE,kBLDkB;AGqBnC,EHpBE,ACOA,AILA,EDDE,SAAS,QCCQ,OLFO,MCOM;CDNjC,CCOC,AEaA,AElBA,CDDC,gBDmBgB,GFbG,IILI;ALD1B,CCOC,AEaA,CCnBC,ACCA,6BAA6B;AJM/B,AEaA,CElBC,CLFC,EICE,WAAW,oBJDoB;AKGnC,ELFE,ACOA,EGNE,YAAY,YJDY,MCOM;CDNjC,CCOC,AILA,EDDE,aCCa,EDDE,GHMG;ADNtB,CCOC,AILA,CFkBC,ECnBE,eDmBe,ICnBI;AHOvB,AILA,CFkBC,CHpBC,CICC,gCJDgC;AGqBnC,EHpBE,ACOA,AGNA,ACCA,aAAa,aLFa,ACOA;CDN3B,ACOA,CEaC,AElBA,EDDE,cCCc,CFkBC,GCnBG;AJAtB,ACOA,CEaC,CElBC,CDDC,gBCCgB;AFmBnB,EHpBE,ACOA,AGNA,ACCA,eAAe,WJKW,ODPO;CCQlC,CDPC,AGoBA,AElBA,EDDE,UCCU,KFkBK,ACnBA,SJDS;ACQ5B,CDPC,AGoBA,AElBA,EDDE;AJAH,AGoBA,AElBA,EJKE,AGNA,0BHM0B;CAC3B,CDPC,AGoBA,AElBA,EDDE,WCCW,ILFI,AGoBA,ACnBA;AHOnB,CDPC,AGoBA,CElBC,CDDC,gDCCgD;ALDnD,AGoBA,EFbE,AGNA,ACCA,aAAa,aJKa;CAC3B,CDPC,AGoBA,AElBA,EDDE,UCCU,KLFK,AGoBA,ICnBI;AHOvB,CDPC,AGoBA,CElBC,EDDE,UAAU,GCCG;ALDjB,AGoBA,CElBC,CJKC,EGNE,QAAQ,gBHMgB;AIJ5B,CJKC,CDPC,EICE,aJDa,CICC;AHOlB,CDPC,CGoBC,AElBA,EDDE,OCCO,QFkBQ,4BCnB4B;AJA/C,CGoBC,AElBA,CJKC,EGNE,gBAAgB,QHMQ;AEc5B,AElBA,CJKC,CDPC,EICE,eJDe,EICE;AHOrB,EDPE,AGoBA,AElBA,EDDE,aJDa,AKEA,EFkBE,ECnBE;CDoBpB,AElBA,CLFC,ACOA,EGNE,WJDW,QICQ,KHMK;AEc5B,AElBA,CJKC,CDPC,EICE,WAAW,cJDc;ACQ7B,EDPE,AGoBA,AElBA,EDDE,WCCW,GLFG,CGoBC,ECnBE;CDoBpB,CHpBC,ACOA,AILA,EDAE,WCAW,KLFK,QCOQ,CGLC;ADmB7B,CFbC,CDPC,AKEA,EDAE,UJFU,GKEG,aDAa;AHM9B,CDPC,CGoBC,AElBA,EDAE,eDkBe,UElBU,kBDAkB;AJD/C,CGoBC,CFbC,AILA,CDAC,mBHKmB,6BIL6B;AFmBnD,CFbC,CDPC,AIEA,ACAA,eLFe,EKEE;AJMnB,CDPC,AKEA,CFkBC,EClBE,eDkBe,KClBK;AJDxB,AKEA,CFkBC,CFbC,EGLE,YAAY,YHKY;AEc5B,CFbC,CDPC,AKEA,CDAC,cCAc,ELFE;ACQnB,CILC,CLFC,AGoBA,AClBA,eJFe,EGoBE;AEjBnB,CFkBC,CHpBC,ACOA,EGLE,WJFW,ICOI,EGLE;ADmBrB,EHpBE,ACOA,AILA,EDAE,UCAU,GDAG,EHKE,UDPU;EAC3B,ACOA,AEaA,AElBA,EDAE,WCAW,GLFG,ACOA,CEaC,OClBO;CDmBzB,CHpBC,ACOA,AILA,EDAE,cHKc,AILA,ELFE,IIEI;ADmBxB,CFbC,CDPC,AKEA,CDAC,WJFW,KKEK;AJMnB,CDPC,AKEA,CFkBC,AClBA,iBDkBiB;AHnBnB,AKEA,CFkBC,CFbC,EGLE,aHKa,IGLI;ADmBrB,CFbC,CDPC,EIEE,eJFe,QIEQ;AHM3B,CDPC,CGoBC,EClBE,YCAY,GFkBG,IClBI;AJDvB,AKEA,CFkBC,GClBG,YAAY;ADmBhB,EHpBE,ACUA,EGRE,eAAe,EJFE,WCUW;CDT/B,ACUA,CEUC,AElBA,EDAE,UAAU,ECAE,GFkBG;AHnBnB,ACUA,CEUC,CElBC,CDAC,mBCAmB;AFmBtB,EHpBE,ACUA,AGRA,ACAA,mBAAmB,OJQO,qBDVqB;CCWhD,AIRA,CLFC,AGoBA,EClBE,WAAW,CJFC,GGoBG;AFTnB,AIRA,CLFC,AGoBA,GClBG,OAAO;AJDX,AGoBA,EFVE,AIRA,EDAE,aCAa,KDAK,MHQM;CAC3B,CDVC,AGoBA,AElBA,EDAE,eDkBe,EClBE,ACAA,WLFW;ACWhC,CEUC,CHpBC,AKEA,CDAC,aJFa,CKEC;AFmBjB,CHpBC,CCUC,AGRA,ACAA,gBAAgB,UJQU;ADT5B,CCUC,CEUC,AElBA,EDAE,eDkBe,CElBC,GDAG;AHSvB,CEUC,CElBC,CDAC,mBCAmB;AFmBtB,EFVE,AGRA,ACAA,cLFc,KKEK,OJQO;ADT5B,CCUC,CEUC,AElBA,EDAE,eDkBe,EClBE,ACAA;AJSrB,CEUC,AElBA,CLFC,EIEE,gBAAgB,yBJFyB;AGqB7C,AElBA,ELFE,ACUA,EGRE,UAAU,cJFc,ACUA;CAC3B,CDVC,AGoBA,AElBA,CDAC,SCAS,OFkBO,OHpBO;ACW1B,CEUC,CHpBC,AIEA,ACAA,mBAAmB,ULFU;AGqB/B,EHpBE,ACUA,AIRA,EDAE,OCAO,QDAQ,GJFG,MCUM;CAC3B,CDVC,AGoBA,AElBA,EDAE,QCAQ,OFkBO,GClBG,CJFC;ACWvB,CDVC,AGoBA,CElBC,EDAE,YAAY,KCAK;ALDrB,AGoBA,CElBC,CJQC,EGRE,oBAAoB,IHQI;AIP5B,CJQC,CDVC,AGoBA,EClBE,eDkBe,EHpBE,eIEe;AHSpC,CEUC,CHpBC,AKEA,CDAC,aCAa,CLFC;AGqBjB,EHpBE,ACUA,AGRA,ACAA,mBLFmB,OCUO,UIRU;CJSrC,CDVC,AGoBA,AElBA,EDAE,WJFW,IGoBI,AClBA,oBCAoB;AJSvC,CDVC,AGoBA,CElBC,CDAC,oBHQoB,UIRU;ALDjC,ACUA,AEUA,CElBC,CDAC;ACCF,ELFE,AGoBA,EClBE,aJFa,EGoBE,AClBA;CDmBlB,CHpBC,ACUA,AIRA,EDAE,SCAS,CLFC,QIEQ,WHQW;AEWjC,EHpBE,ACUA,AIRA,EDAE,YAAY,EJFE,YCUY,QIRQ;CJSrC,CDVC,AGoBA,AElBA,EDAE,eJFe,AGoBA,SClBS,WCAW;AJSvC,CEUC,CHpBC,AKEA,EDAE,eJFe,KIEK,YCAY;AFmBpC,CElBC,CLFC,EIEE,YJFY,IIEI;ACCpB,ELFE,ACUA,AEUA,EClBE,eDkBe,SHpBS,EIEE,IHQI;CEWjC,CHpBC,ACUA,EGRE,oBAAoB,CJFC,MCUM;AEW/B,CHpBC,ACUA,GGRG,YCAY,KDAK;AJDrB,ACUA,AIRA,EFkBE,EClBE,eDkBe,AClBA;CDmBlB,CHpBC,AKEA,CDAC,cCAc,OLFO;AGqBxB,CElBC,CLFC,ACUA,AGRA,aJFa,ECUE;AIPjB,ELFE,ACUA,AEUA,EClBE,cJFc,AIEA,CDkBC,aFVa;CEW/B,CHpBC,ACUA,AIRA,CDAC,iBJFiB,gBKEgB,SJQS;AEW7C,CFVC,CDVC,AIEA,ACAA,mBLFmB,AKEA;AJSrB,CIRC,CLFC,AGoBA,EClBE,eDkBe,EHpBE,SIES;ACC9B,CFkBC,CHpBC,CIEC,iBJFiB;AGqBpB,CHpBC,AIEA,CCAC,aAAa;ALDf,AIEA,EDkBE,AElBA,iBFkBiB,GElBG;CFmBrB,AElBA,CLFC,ACUA,AGRA,cJFc,YCUY;AEW5B,AElBA,CLFC,ACUA,GGRG,iBAAiB;AJDrB,ACUA,EEUE,AElBA,CDAC,aCAa,GFkBG;CAClB,AElBA,CLFC,ACUA,AGRA,eJFe,ECUE;AEWnB,AElBA,CLFC,CCUC,EGRE,YAAY,QHQQ;ADTxB,ECUE,AEUA,AElBA,CDAC,WHQW,KEUK,EElBE;CJSpB,AEUA,CHpBC,AIEA,ACAA,iBAAiB,kBLFkB;ACWrC,AEUA,CElBC,CLFC,EIEE,YAAY,sBJFsB;AKGtC,ELFE,ACUA,AEUA,EClBE,aHQa,EEUE,GClBG,mBJFmB;CCWxC,AEUA,CHpBC,AKEA,CDAC,kBCAkB,qBLFqB;ACW1C,AEUA,EHpBE,AIEA,ACAA,gBAAgB,eLFe;EAC/B,ACYA,AEQA,AElBA,EDAE,YAAY,GDkBG,EFRE,IIVI,SLFS;CCajC,AEQA,CHpBC,AKEA,CDAC,aJFa,QKEQ;AJWxB,AEQA,EHpBE,AIEA,ACAA,aAAa,ELFE;CAChB,AKEA,CFkBC,EClBE,eDkBe,iBClBiB;AJDpC,AKEA,CFkBC,GClBG,cAAc;ADmBlB,EHpBE,AKEA,CDAC,gBCAgB,WLFW;CAC7B,AKEA,CDAC;AJDF,AKEA,EFkBE,EClBE,eDkBe,OClBO;CDmBzB,CFRC,AIVA,EDAE,mBAAmB,KHUK,eIVe;AFmB3C,CElBC,CJUC,EGVE,mBAAmB,CHUC;AITxB,CJUC,CEQC,CClBC,gBDkBgB;AFPnB,CEQC,CClBC,ACAA,0BAA0B;AFmB5B,CElBC,GDAG,mBAAmB;ACCvB,EJYE,AEMA,EClBE,YAAY,GDkBG,EFNE;CEOpB,CFNC,AIZA,CDAC,cHYc,WIZW;AFmB5B,CElBC,CLFC,ACcA,AGZA,eJFe,SCcS;AIX1B,CLFC,ACcA,CEMC,EClBE,cAAc,CDkBC;AHnBnB,ACcA,CEMC,CElBC,EDAE,iBAAiB,kBCAkB;AFmBvC,EHpBE,AKEA,EDAE,aCAa,MDAM,gBJFgB;EACrC,ACcA,AEMA,AElBA,EDAE,UAAU,KJFK,AGoBA,AElBA,oBJYoB;CACtC,AEMA,CHpBC,AKGA,CDDC,YJFY,MKGM;AJYrB,AEMA,EHpBE,AIEA,ACCA,WLHW,aKGa;ELFxB,AGoBA,AEjBA,EDDE,eDkBe,AClBA,EJFE,UKGU;CFkB9B,AEjBA,CLHC,EIEE,UJFU,SIES;ADmBvB,AEjBA,ELHE,EIEE,KJFK,aIEa;CJDrB,CGoBC,AEjBA,EDDE,eDkBe,AEjBA,iBDDiB;AJDpC,CGoBC,CEjBC,CDDC,+BCC+B;AFkBlC,CEjBC,CLHC,AIEA,YJFY;AKId,ELHE,AGoBA,EClBE,WJFW,IGoBI,AClBA;CDmBlB,CHpBC,CIEC,yBJFyB;AGqB5B,EHnBE,AICA,cCCc,KLFK;AKGrB,ELFE,ACaA,AEMA,EClBE,eDkBe,EClBE,KJDK,aCaa;CEOtC,CHnBC,ACaA,AIXA,EDDE,aHYa,EIXE,QDDQ,IJDI;AGoB/B,EHlBE,ACYA,AIXA,EDDE,mBAAmB,SCCS,aJWa,SDZS;CCarD,CDZC,AGkBA,AEjBA,EDDE,YAAY,GDkBG,EHlBE,EKCE;AJYvB,CEMC,CHlBC,AKCA,CDDC,SJAS,iCKCiC;AFkB7C,CEjBC,CLDC,AIAA,SJAS;AKEX,ELDE,AGkBA,EClBE,eDkBe,AClBA,EJAE;CGmBpB,CHlBC,ACYA,AIXA,CDDC,cHYc,GDZG,mBKCmB;AFkBvC,CHlBC,ACYA,CGZC,ACCA,sBAAsB;ALWxB,ACCA,EEME,AEjBA,EDDE,MHYM,KIXK,GDDG,CDkBC;AFLnB,CEMC,AEjBA,CLUC,EIXE,iBAAiB;ADmBrB,AEjBA,EJWE,CGZC,CJWC,UKVU,GJWG,6CDD6C;AKT9D,EJWE,AGZA,EJWE,WCCW,uDDDuD;ECEpE,AEMA,AEjBA,CLUC,CIXC,eDkBe,AClBA,EHYE,2DIX2D;CFkB/E,AEjBA,CLUC,ACCA,CGZC,mBHYmB;AEOtB,AEjBA,EJWE,AGZA,EJWE,UCCU,qDDDqD;CCElE,CEMC,AEjBA,ELUE,AIXA,eDkBe,AEjBA,EDDE,sDJWsD;ACE3E,CEMC,CEjBC,CLUC,CIXC,gBAAgB,yBCCyB;AFkB7C,CEjBC,CLUC,ACCA,CGZC,cHYc;AIVjB,EJWE,AEMA,AClBA,EJWE,UCCU,KEMK,mDHPmD;CGQrE,CFNC,AIXA,ELUE,AIXA,QHYQ,OGZO,ACCA,2DLU2D;AGQ9E,EFNE,AIXA,CLUC,CIXC,iBHYiB,EGZE,sBCCsB;CLW5C,ACCA,AIXA,CFiBC,EClBE,cAAc,CDkBC;AHNnB,ACCA,AIXA,CFiBC,GClBG,0BAA0B;ADmB9B,EFNE,AIXA,EDDE,WCCW,KDDK,gBHYgB;EAClC,AEMA,AEjBA,EDDE,YJWY,GGOG,CEjBC,IDDI,WHYW;ADAnC,CGOC,AEjBA,CJWC,EGZE,eAAe,eHYe;AEOlC,AEjBA,ELUE,ACCA,CGZC,kBJWkB,kBCCkB;CDAtC,CCCC,AEMA,AClBA,ACCA,aAAa,EJWE,EEME;AHNnB,CGOC,CFNC,AIXA,EDDE,aHYa,EGZE,CCCC;AFkBpB,CEjBC,CLUC,ACCA,CGZC,YHYY,SDDS;AKTxB,ELUE,ACCA,AEMA,AClBA,iBDkBiB,CHPC,ICCI;CEOvB,CHPC,ACCA,AIXA,EDDE,YAAY,GCCG,ELUE,UCCU;AEO/B,CHPC,CCCC,AIXA,CDDC,WHYW,aIXa;ALW3B,CCCC,AIXA,CFiBC,AClBA,iBDkBiB;AFLnB,AIXA,CFiBC,CHPC,EIXE,mBAAmB,WJWW;AGQlC,EHPE,ACCA,AIXA,EDDE,UAAU,KCCK,SJWS,WDDW;CCEtC,AIXA,CLUC,AGOA,EClBE,QAAQ,ODkBO,aHPa;ACEhC,AIXA,CFiBC,CHPC,EIXE,YAAY,KJWK;AGQrB,EHPE,ACCA,AIXA,EDDE,cAAc,UJWU,ACCA,AIXA;ELW1B,ACCA,AEMA,AEjBA,EDDE,QHYQ,EDDE,GIXG,EDkBE,SEjBS;CFkB3B,AEjBA,CLUC,ACCA,EGZE,UHYU,QGZQ,EJWE;AGQxB,AEjBA,ELUE,ACCA,EGZE,WJWW,IIXI,EHYE;EDAnB,ACCA,AEMA,AEjBA,EDDE,MJWM,SGOS,QFNQ,CIXC,uBDDuB;CHalD,AEMA,CHPC,AKVA,EDDE,iBJWiB,OKVO,0BDD0B;AHatD,AEMA,CEjBC,CLUC,EIXE,iBJWiB,SIXS;ACE9B,ELUE,ACCA,AEMA,CClBC,MHYM,UEMU,YHPY;CCE9B,AEMA,CHPC,AIXA,YJWY;ACEd,AEMA,EHPE,AKVA,EDDE,eAAe,QJWQ,KKVK;CLW/B,AKVA,CJWC,AEMA,EClBE,eDkBe,EClBE,UHYU;ADA/B,AKVA,CJWC,AEMA,EClBE;AHaH,AEMA,CClBC,CJWC,eAAe;AIVjB,EJWE,ACCA,AEMA,AEjBA,eAAe,EFiBE,KHPK,eCCe;CACtC,AEMA,AEjBA,CLUC,AIXA,gBJWgB;ACElB,AEMA,AEjBA,ELUE,EIXE,SCCS,ELUE,SIXS;ACExB,ELUE,ACCA,EGZE,MJWM,KIXK,wBHYwB;CACtC,CDDC,AGOA,AEjBA,EDDE,cAAc,CDkBC,EHPE,eKVe;AJYpC,CEMC,CHPC,AKVA,CDDC,iBJWiB,MKVM;AFkB1B,EHPE,ACCA,AGZA,ACCA,iBLUiB,QKVQ,YJWY;CACtC,CDDC,AGOA,AEjBA,EDDE,eDkBe,EHPE,GIXG,ECCE;AJY1B,CEMC,CHPC,AKVA,EDDE,KJWK,MIXM,gBCCgB;AFkB/B,EHPE,ACCA,AIXA,EDDE,UJWU,GCCG,EGZE,wBCCwB;CLW1C,CCCC,AEMA,AEjBA,EDDE,eDkBe,CClBC,UCCU,OJWO;ADArC,CCCC,AEMA,CEjBC,CDDC,cCCc;AJYjB,AEMA,CEjBC,CLUC,AIXA,gBJWgB;AKTlB,ELUE,ACCA,AEMA,EClBE,SJWS,MGOM,AClBA,0BHY0B;CEO5C,CHPC,ACCA,AIXA,CDDC,UJWU,SCCS,cIXc;AFkBpC,CClBC,CJWC,ACCA,AIXA,cJWc,UIXU,CLUC;AIV3B,CJWC,CCCC,AEMA,AEjBA,UDDU,GCCG,EJWE,EEME;AHNnB,AIXA,CDkBC,CFNC,AIXA,YAAY,cJWc;AEO5B,CFNC,CDDC,AIXA,ACCA,UAAU,ILUI,2BIX2B;AHa3C,CDDC,AKVA,CDDC,YAAY;AJYd,AKVA,EJWE,AEMA,AClBA,eAAe,EDkBE,GFNG;CACrB,AEMA,CHPC,AIXA,ACCA,aAAa,QLUQ,OIXO;AHa9B,AEMA,CEjBC,CLUC,AIXA,cJWc,IIXI;ACEpB,CLUC,CCCC,AEMA,AClBA,iBDkBiB,EClBE,wBHYwB;ADA7C,CGOC,CFNC,AGZA,ACCA,WDDW,ICCI,KJWK;AEOtB,EHPE,ACCA,AGZA,ACCA,UDDU,OJWO,GCCG,MIXM;CDA3B,ACCA,CLUC,ACCA,AEMA,cFNc,GEMG,UHPU;AKT7B,CLUC,AGOA,CFNC,eAAe;ADAjB,AGOA,EFNE,AIXA,oBJWoB,iBIXiB;ELWrC,ACCA,AEMA,AEjBA,iBFiBiB,AEjBA,SLUS,ACCA;CAC3B,AEMA,CHPC,AKTA,oBLSoB,sBKTsB;AJW5C,AEMA,CHPC,CKTC,+CAA+C;ALUjD,CKTC,CJUC,AEMA,iBAAiB,GFNG;AITtB,CFgBC,CHPC,ACCA,iBAAiB,EDDE;AGQrB,CHPC,CCCC,AIVA,oBJUoB,MIVM;ALU5B,CKTC,CJUC,AEMA,aFNa,IEMI;AEfnB,CJUC,AEMA,CHPC,cAAc;ACEhB,AEMA,CHPC,CKTC,YAAY;ALUd,CKTC,CJUC,AEMA,iBAAiB,SFNS;AIT5B,CFgBC,CHPC,ACCA,UAAU,GDDG;AGQf,CHPC,ACCA,CIVC,sDAAsD;ALUxD,ACCA,EEME,AEhBA,iBFgBiB,WEhBW;CFiB7B,CHPC,ACCA,AIVA,eJUe,WDDW,SKTS;AFiBrC,EHPE,ACCA,AIVA,mBJUmB,GDDG,aKTa;CLUpC,CCCC,AEMA,AEfA,iBFeiB,GFNG,UITU;ALShC,CCCC,AEMA,CEfC,mCAAmC;AJUrC,AEMA,EHPE,AKRA,eLQe,yBKRyB;CLSzC,CCCC,AEMA,AEfA,UJSU,OEMO,AEfA;ALSnB,CCCC,AEMA,AEfA;AJUD,AEMA,AEfA,ELQE,0BAA0B;EAC1B,AGOA,AEfA,iBFeiB,KHPK,IKRI;CLS3B,AGOA,CFNC,AITA,sBAAsB,0BJS0B;ADAlD,AGOA,EFNE,AITA,eAAe,EJSE;EDAjB,ACCA,AEMA,AEfA,aJSa,EDDE,EGOE,oBEfoB;CLStC,AGOA,CFNC,AITA,aAAa,GJSG;ADAlB,AGOA,EFNE,AIRA,iBAAiB,CJQC;CIPnB,CLOC,ACCA,AEMA,iBAAiB,EFNE,ODDO;AKN5B,CFcC,CHPC,ACCA,oBAAoB,EDDE;AGQxB,CHPC,CCCC,AIRA,uBJQuB,GIRG;ALQ5B,ECCE,AEMA,AEdA,iBJQiB,AEMA,IEdI;CFetB,AEdA,CLOC,ACCA,eDDe,WCCW;AEO5B,AEdA,CLOC,CCCC,2CAA2C;ADA7C,CCCC,CEMC,AEdA,SAAS,QFcQ;AFLnB,CEMC,AEdA,CLOC,0BAA0B;AGQ5B,AEdA,ELOE,WKPW,WLOW;AKNxB,CLOC,CCCC,AEMA,iBAAiB,SFNS;ADA5B,CGOC,CFNC,AIRA,yCAAyC,OJQO;AEOlD,CFNC,AIRA,CLOC,eAAe;ACEjB,AIRA,CLOC,CGOC,iBAAiB;AHNnB,CGOC,CFNC,AIRA,eAAe,GJQG;AEOpB,CFNC,CDDC,AKPA,gBAAgB,ULOU;ACE5B,EDDE,AGOA,AEdA,iBFciB,AEdA,KLOK;CACvB,AGOA,AEdA,CJQC,iBAAiB;ADAnB,AGOA,AEdA,EJQE,0CAA0C;CAC3C,CDDC,AGOA,AEdA,eLOe,EGOE,QEdQ;AJS3B,CDDC,AGOA,AEdA;ALQD,AGOA,AEdA;ELQE,AGOA,AEdA,YAAY,KFcK,SHPS;CGQ3B,CHPC,AKPA,sBLOsB,eKPe;AFevC,CHPC,CCCC,AIRA,aJQa,AIRA;ALQf,CCCC,AIRA;AJSD,AIRA,ELOE,AGOA,eHPe,EGOE;CHNlB,AGOA,CEdC,iCAAiC;ALQnC,AGOA,CEdC;AACD,ELOE,AGOA,iBAAiB,SHPS;CGQ3B,CHPC,AKPA,eAAe,OLOO;AGQxB,CHPC,CKPC,gBAAgB;ALQlB,ECCE,AEMA,AEdA,iBFciB,AEdA,SJQS;CAC3B,AEMA,AEdA,CLOC,eAAe;ACEjB,AEMA,AEdA,CLOC;AACD,ECCE,AEMA,AEdA,iBFciB,EEdE,CJQC;CACrB,AEMA,CHPC,AKPA,iBAAiB,SLOS;ACE5B,AEMA,EHPE,AKPA,WAAW,WLOW;CACvB,CCCC,AIRA,sBAAsB,uBJQuB;ADA/C,CCCC,CEMC,AEdA,aAAa,IFcI;AFLnB,CEMC,CHPC,AKPA,eLOe,EKPE;AFenB,CHPC,CCCC,AIRA,kBAAkB,uBJQuB;ADA3C,CCCC,CEMC,AEdA,eAAe,EFcE;AFLnB,CEMC,CHPC,AKPA,gBAAgB,GLOG;AGQrB,CHPC,AKPA,CJQC,wBAAwB;ADA1B,AKPA,EJQE,AEMA,iBAAiB,6BFN6B;CAC/C,AEMA,CHPC,AKPA,iBAAiB,KLOK;ACExB,AEMA,EHPE,AKPA,kBLOkB,IKPI;CACvB,CLOC,ACCA,AEMA,iBAAiB,EHPE,uBCCuB;AIP5C,CLOC,ACCA,AEMA;AHND,ACCA,AEMA,EEdE,uBAAuB;ELQvB,ACCA,AEMA,AEdA,iBFciB,OFNO,EIRE,aLOa;CGQxC,CHPC,ACCA,AIRA,mBAAmB,yBLOyB,GCCG;AEOjD,CFNC,CDDC,AKPA,0BAA0B,ILOI;ACEhC,CIRC,CLOC,AGOA,iBAAiB,EHPE;AKNrB,CFcC,CHPC,ACCA,0BDD0B,iBCCiB;AEO7C,CFNC,CDDC,AKPA,YLOY,GKPG;AJSjB,EDDE,AGOA,AEdA,gBAAgB,CFcC,KHPK;CGQvB,CHPC,AKPA,aLOa,IKPI;AFenB,CEdC,CLOC,QAAQ;AKNV,ELOE,AGOA,iBAAiB,EHPE;CGQpB,CHPC,ACCA,AIRA,aJQa,YDDY,KKPK;AFehC,CFNC,CDDC,AKPA,mBLOmB,UKPU;AJS/B,CIRC,CLOC,AGOA,iBAAiB,mBHPmB;AKNtC,CFcC,CHPC,YAAY;AGQd,CHPC,CKPC,sDAAsD;ALQxD,EGOE,AEdA,iBFciB,OEdO;CFezB,CHPC,AKPA,aAAa,4DLO4D;AGQ3E,CEdC,CLOC,2BAA2B;AKN7B,ELOE,ACCA,AEMA,iBAAiB,SHPS,ACCA;CAC3B,AEMA,CHPC,AKPA,eAAe,sDLOsD;ACEvE,AEMA,EHPE,AKPA,WJQW,KIRK,eLOe;ACEjC,EDDE,AGOA,AEdA,iBFciB,AEdA,8DLO8D;CGQhF,CHPC,ACCA,AIRA,iBJQiB,SDDS,CKPC;AFe7B,CFNC,AIRA,CLOC,mBAAmB;ACErB,AIRA,ELOE,AGOA,aHPa,IGOI;CAClB,CHPC,AKPA,sBLOsB,IKPI;AFe5B,CEdC,CLOC,aAAa;AKNf,ELOE,ACCA,AEMA,UHPU,KCCK,EEME;CAClB,CHPC,ACCA,AIRA,YJQY,ODDO,sBKPsB;AFe3C,CEdC,CLOC,ACCA,iBAAiB,EDDE;AKNrB,ELOE,ACCA,AEMA,SHPS,QGOQ,CFNC;CEOnB,CHPC,ACCA,kBAAkB,KDDK;AGQzB,EHPE,ACCA,kBAAkB,6CDD6C;CCEhE,CDDC,AGOA,AEdA,YLOY,KGOK,wBEdwB;AJS3C,CDDC,AGOA,AEdA,UJQU;ADAX,ACCA,AEMA,AEdA;ELQE,ACCA,AEMA,AEdA,gBLOgB,CGOC,KFNK,qBIRqB;CFe5C,AEdA,CLOC,ACCA,WDDW,cCCc;AEO3B,AEdA,ELOE,ACCA,WDDW,4BCC4B;EDAvC,ACCA,AEMA,AEdA,iBFciB,EFNE,MDDM,CKPC;CLQ3B,AGOA,AEdA,CJQC,iBAAiB;ADAnB,AGOA,AEdA,EJQE,cAAc;EDAd,ACCA,AEMA,AEdA,cLOc,GGOG,SFNS,iBIRiB;CLQ5C,ACCA,AEMA,CEdC,uBAAuB;ALQzB,ACCA,AEMA,EEdE,WAAW;ELQX,ACCA,AIRA,UJQU,EIRE,SLOS;EACrB,ACCA,AEMA,AEdA,WJQW,MEMM,EEdE,wBLOwB;CGQ5C,AEdA,CLOC,ACCA,qBDDqB,6BCC6B;AEOpD,AEdA,CLOC,CCCC,qBAAqB;ADAvB,CCCC,CIRC,0BAA0B;AJS5B,EDEE,AGIA,AEdA,gBAAgB,CFcC,MHJM;CACxB,AGIA,CFNC,AIRA,gBJQgB,CIRC;ALWnB,AGIA,CFNC,CIRC,kBAAkB;AJSpB,EDEE,AGIA,AEdA,iBFciB,CEdC,ELUE;CACrB,AGIA,AEdA,CJQC,WAAW;ADGb,AGIA,AEdA,EJQE,kBAAkB;EDGlB,ACFA,AEMA,AEdA,cLUc,GGIG,SEdS,qBJQqB;CDGhD,ACFA,AEMA,CEdC,uBAAuB;ALWzB,ACFA,AEMA,EEdE,WAAW;ELWX,ACFA,AIRA,YAAY,CLUC,ECFE;CDGhB,CCFC,AEMA,AEdA,iBFciB,CFNC,CIRC;ALWrB,CCFC,AEMA,AEdA;AJSD,AEMA,AEdA,ELUE,0BAA0B;CAC3B,CCFC,AIRA,WJQW,IIRI;ALWjB,CCFC,CEMC,AEdA,gBAAgB,CFcC;AFLnB,CEMC,CHJC,AKVA,iBAAiB,KLUK;AGKxB,CHJC,CCFC,AIRA,kBAAkB,QJQQ;ADG5B,CCFC,AIRA,CFcC,iBAAiB;AFLnB,AIRA,CFcC,CHJC,0BAA0B;AGK5B,CHJC,CCFC,AIRA,mBJQmB,OIRO;ALW5B,CCFC,CIRC,uBAAuB;AJSzB,CIRC,CLUC,AGIA,iBAAiB,SHJS;AKT5B,CLUC,AGIA,CFNC,mBAAmB;ADGrB,AGIA,CFNC,CIRC,sDAAsD;AJSxD,EDEE,AGIA,AEdA,iBFciB,KHJK,EKVE;CLWzB,AGIA,CFNC,AIRA,iBJQiB,gBIRgB;ALWnC,AGIA,CFNC,CIRC,aAAa;AJSf,CIRC,CLUC,gBCFgB,UDEU;ACD5B,AIRA,CLUC;AACD,ECFE,AEMA,iBAAiB,MFNM;CEOxB,CHJC,ACFA,AIRA,aJQa,aDEa,4BKV4B;AFexD,CHJC,CCDC,AITA,eAAe,IJSI;ADErB,CKVC,CJSC,AEKA,iBAAiB,OFLO;AIR1B,CFcC,CHJC,ACDA,sBDCsB,OCDO;AEM/B,CHJC,CCDC,AITA,cJSc,2BIT2B;ALW3C,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,0BAA0B;AGK5B,CHJC,CCDC,AITA,mBJSmB,gBITgB;ALWrC,CKVC,CJSC,AEKA,UFLU,OEKO;AEbnB,CFcC,CHJC,ACDA,YAAY,cDCc;AGK5B,CHJC,CCDC,eAAe;ADEjB,CCDC,CEKC,AEdA,iBFciB,SEdS;AJU5B,CEKC,AEdA,CLUC,sBAAsB;AGKxB,AEdA,CLUC,CCDC,6BAA6B;ADE/B,ECDE,AEKA,AEdA,iBFciB,CFLC,oCIToC;CFevD,CHJC,ACDA,AITA,gBJSgB,QITQ,ELUE;AGK5B,CHJC,AKVA,CJSC,0BAA0B;ADE5B,AKVA,EJSE,AEKA,eFLe,EEKE;CAClB,CHJC,ACDA,AITA,eAAe,EJSE,SDCS;AGK5B,CHJC,CCDC,AITA,YJSY,IITI;ALWlB,CCDC,CEKC,AEdA,iBFciB,AEdA;AJUnB,CEKC,AEdA,CLUC,sBAAsB;AGKxB,AEdA,CLUC,CCDC,cAAc;ADEhB,CCDC,CEKC,AEdA,eAAe,EFcE;AFJnB,CEKC,CHJC,AKVA,gBAAgB,ULUU;AGK5B,CHJC,CKVC,iBAAiB;ALWnB,ECDE,AEKA,AEdA,UJSU,OEKO,kBEdkB;CFepC,AEdA,CLUC,ACDA,cAAc,YDCY;AGK5B,AEdA,CLUC,ACDA;ADED,ACDA,EEKE,AEdA,aAAa,IFcI;CAClB,AEdA,CLUC,ACDA,mBAAmB,GDCG;AGKxB,AEdA,CLUC,ACDA;ADED,ACDA,EEKE,AEdA,iBFciB,AEdA;CFelB,CHJC,AKVA,uBAAuB,GLUG;AGK5B,CHJC,CCDC,AITA,kBAAkB,KJSK;ADEzB,CCDC,CEKC,AEdA,iBFciB,aEda;AJUhC,CEKC,AEdA,CLUC,0BAA0B;AGK5B,AEdA,CLUC,CCDC,8BAA8B;ADEhC,CCDC,CEKC,iBAAiB;AFJnB,CEKC,CHJC,AKVA,UJSU,OITO,KLUK;ACAxB,AEKA,CHJC,CKVC,uBAAuB;ALWzB,ECDE,AEKA,AEdA,iBFciB,SEdS,2BJS2B;CEMtD,AEdA,CLUC,ACDA,0BDC0B,sBCDsB;AEMlD,AEdA,CLUC,CCDC,eAAe;ADEjB,CCDC,CEKC,AEdA,eAAe,EFcE;AFJnB,CEKC,CHJC,AKVA,gBAAgB,ULUU;AGK5B,CHJC,CCDC,AITA,eJSe,EITE;ALWnB,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,sBAAsB;AGKxB,CHJC,CCDC,AITA,eAAe,sCJSsC;ADEvD,ECDE,AEKA,AEdA,gBAAgB,CFcC,gCFLgC;CEMlD,AEdA,CLUC,ACDA,eAAe,WDCW;AGK5B,AEdA,CLUC,ACDA;ADED,ACDA,EITE,eAAe;EJUf,AEKA,AEdA,eJSe,CITC,CFcC;CFJlB,AEKA,AEdA,eLUe;AAChB,ACDA,AEKA,AEdA;ELWE,ACDA,AITA,uBAAuB,aLUa,gBCDgB;CIRrD,CLUC,ACDA,AEKA,iBAAiB,0BHJ0B,KCDK;AIRlD,CFcC,CHJC,ACDA,eAAe,aDCa;AGK9B,CFLC,CDCC,AKVA,aLUa,wBKVwB;AJUvC,CITC,CLUC,oBAAoB;AKTtB,ELUE,ACDA,AEKA,eFLe,EDCE,AGIA;CHHlB,ACDA,AEKA,CEdC,uBAAuB;ALWzB,ACDA,AEKA,CEdC;AACD,ELUE,ACDA,AEKA,iBHJiB,AGIA,mCFLmC;CEMrD,CHJC,ACDA,AITA,eLUe,AKVA,iCJSiC;AEMlD,EHJE,ACDA,AITA,eJSe,CITC,CLUC;CCAlB,AITA,CLUC,AGIA,iBAAiB,CHJC;ACApB,AITA,CLUC,AGIA;AHHD,AGIA,EFLE,AITA,eJSe,WITW;CJU3B,CDCC,AKVA,gBAAgB,OLUO;ACAzB,CDCC,CGIC,AEdA,cJSc,GEKG,AEdA;ALWnB,ACDA,CEKC,CEdC,2BAA2B;AFe7B,CEdC,CLUC,ACDA,eDCe,4BCD4B;AIR7C,ELUE,ACDA,iBDCiB,OCDO;CDEzB,CCDC,AEKA,AEdA,eAAe,EFcE,SFLS;ADE5B,CCDC,AEKA,CEdC,gBAAgB;AJUlB,AEKA,EHJE,AKVA,iBAAiB,OLUO;CACzB,CCDC,AITA,2BAA2B,4BJS4B;ADEzD,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,kBAAkB;AGKpB,EHJE,oBAAoB;CACrB,CGIC,iBAAiB;AHHnB,CGIC,CFLC,AITA,0BAA0B,6BJS6B;AEMzD,CFLC,AITA,CLUC,wBAAwB;ACA1B,AITA,CLUC,CGIC,iBAAiB;AHHnB,CGIC;AACD,EHJE,gBAAgB;EAChB,ACDA,AITA,eAAe,GLUG,mBCDmB;CDEtC,AKVA,CJSC,AEKA,iBAAiB,KFLK;ADExB,AKVA,CJSC,AEKA;AFJD,AEKA,EHJE,0BAA0B;CAC3B,CGIC,iBAAiB;AHHnB,CGIC,CEdC,0BAA0B;AFe5B,CEdC,CLUC,ACDA,0BDC0B,MCDM;AIRlC,CLUC,ACDA,CEKC,iBAAiB;AHHnB,ACDA,CEKC;AACD,EHJE,0BAA0B;CAC3B,CCDC,eAAe;ADEjB,CCDC,CEKC,iBAAiB;AFJnB,CEKC,CHJC,0BAA0B;AGK5B,CHJC,CCDC,eAAe;ADEjB,CCDC,CEKC,iBAAiB;AFJnB,CEKC,CHJC,0BAA0B;AGK5B,CHJC,CCDC,AITA,eAAe,OJSO;ADExB,CKVC,CJSC,AEKA,iBAAiB,WFLW;AIR9B,CJSC,AEKA,CHJC,0BAA0B;ACA5B,AEKA,CHJC,CKVC,0BAA0B;ALW5B,CKVC,CJSC,AEKA,iBAAiB,KFLK;AIRxB,CFcC,CHJC,ACDA,0BDC0B,ECDE;AEM9B,CHJC,ACDA,CITC,0BAA0B;ALW5B,ACDA,CITC,CFcC,iBAAiB;AEbnB,CFcC,CHJC,ACDA,sBAAsB,IDCI;AGK5B,CHJC,CCDC,AITA,0BAA0B,EJSE;ADE9B,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,+BAA+B;AGKjC,EHJE,ACDA,AITA,mBJSmB,kBITkB,KLUK;CKT3C,CLUC,ACDA,AEKA,aFLa,IEKI,UHJU;AKT7B,CFcC,CHJC,ACDA,uBDCuB,oBCDoB;AEM7C,EHJE,ACDA,AITA,eJSe,WITW,QLUQ;CCAnC,AITA,CLUC,AGIA,iBAAiB,EHJE;ACArB,AITA,CLUC,AGIA,aFLa,GITG;ALWjB,ACDA,AEKA,AEdA;EJUE,AEKA,AEdA,aAAa,IFcI,EFLE;CEMpB,CFLC,AITA,cLUc,EKVE,EJSE;ADEpB,AGIA,CFLC,CITC,iBAAiB;AJUnB,EDCE,AGIA,AEdA,WLUW,MGIM,aEda;CLW/B,AGIA,AEdA,CJWC,wBAAwB;ADA1B,AGIA,AEdA,EJWE,uBAAuB;EDAvB,ACCA,AEGA,AEdA,iBFciB,EHJE,KCCK,QIXQ;CJYjC,AEGA,AEdA,CLUC,SAAS;ACEX,AEGA,AEdA,ELUE,WCCW,sCDDsC;ACEnD,EDDE,AGIA,WHJW,MGIM;CAClB,CHJC,ACCA,cIXc,OJWO,CDDC;AGKxB,AEdA,ELUE,ACCA,aAAa,GDDG;CACjB,CCEC,AEEA,AEdA,iBFciB,EFFE,AIZA;ALWrB,CGIC,CFFC,AIZA,mBAAmB,KJYK;AEG1B,EHJE,ACEA,AIZA,0BLU0B,AKVA,GJYG;CDD9B,ACEA,CEEC,AEdA,aAAa,IFcI;AHHnB,ACEA,CEEC,CEdC,0BAA0B;AFe5B,CEdC,CJYC,8BAA8B;AIXhC,EJYE,AEEA,cHJc,CCEC,EEEE;AHHnB,CGIC,CFFC,AIZA,iBJYiB,SIZS;AFe5B,CFFC,AIZA,CLUC,oBAAoB;ACGtB,AIZA,CLUC,CGIC,iBAAiB;AHHnB,CGIC,CEdC,iBAAiB;AFenB,CEdC,CLUC,cCEc,kBDFkB;ACGlC,AIZA,CLUC,CGIC,iBAAiB;AHHnB,CGIC,CFFC,AIZA,gBAAgB,QJYQ;AEG1B,CFFC,AIZA,CLUC,gCAAgC;ACGlC,AIZA,ELUE,AGIA,gBHJgB,CGIC;CAClB,CHJC,ACEA,AIZA,iBLUiB,UKVU,CJYC;AEG9B,CHJC,ACEA,AIZA;ALWD,ACEA,AIZA,EFcE,iBAAiB;CAClB,CFFC,AIVA,wBAAwB,KJUK;AEG/B,CFFC,AIVA;AJWD,AIVA,EFYE,iBAAiB;CAClB,CFFC,AIVA,mBAAmB,YJUY;AEGjC,CFFC,CIVC,sBAAsB;AJWxB,EDFE,AGIA,AEZA,aAAa,IFYI,8BHJ8B;CAChD,AGIA,CFFC,AIVA,cAAc,kBJUkB;ADDlC,AGIA,CFFC,CIVC,iBAAiB;AJWnB,EDFE,AGIA,AEZA,iBFYiB,GEZG,8BLQ8B;CACnD,AGIA,CFFC,AIVA,mBAAmB,IJUI;ADDzB,AGIA,CFFC,AIVA;AJWD,AIVA,ELQE,AGIA,iBAAiB,SHJS;CAC3B,AGIA,CFFC,AIVA,kBJUkB,CIVC;ALSrB,AGIA,CFFC,CIVC,OAAO;AJWT,EEEE,AEZA,QAAQ,SFYS;CAClB,AEZA,CJUC,mBAAmB;AEGrB,AEZA,CJUC;AACD,EEEE,AEZA,gBAAgB,CFYC;CAClB,CFFC,AIVA,mBAAmB,WJUW;AEGhC,CFFC,AIVA;AJWD,AIVA,EFYE,iBAAiB;CAClB,CFFC,AIVA,iBJUiB,KIVK;AFaxB,CFFC,CIVC,mBAAmB;AJWrB,EEEE,AEZA,WAAW,MFYM;CAClB,CFFC,AIVA,iBAAiB,CJUC;AEGpB,CFFC,CIVC,gBAAgB;AJWlB,EEEE,AEZA,eAAe,EFYE;CAClB,AEZA,CLQC,ACEA,kBAAkB,mBDFmB;AGKvC,AEZA,CLQC,ACEA;ADDD,ACEA,EEEE,AEZA,aAAa,IFYI;CAClB,CFFC,AIVA,mBAAmB,QJUQ;AEG7B,CFFC,CIVC,gBAAgB;AJWlB,CIVC,CFYC,iBAAiB;AEXnB,CFYC,CFFC,cIVc,EJUE;AEGlB,AEZA,CJUC;AACD,EEEE,AEZA,iBFYiB,CEZC;CFanB,CFFC,AIVA,0BAA0B,EJUE;AEG9B,CFFC,CIVC,wCAAwC;AJW1C,EIVE,aAAa;EJWb,AEEA,AEZA,eAAe,EFYE,WFFW;CAC7B,AEEA,CEZC,iBAAiB;AJWnB,AEEA,EHJE,AKRA,aAAa,6BLQ6B;CAC3C,CCEC,AEEA,AEZA,gBAAgB,CFYC,WFFW;ADD9B,CCEC,AEEA,CEVC,mBAAmB;AJSrB,AEEA,CEVC;AACD,EJQE,AEEA,iBAAiB,WFFW;CAC7B,AEEA,CEVC,aAAa;AJSf,AEEA,CEVC;AACD,EJQE,AEEA,iBAAiB,WFFW;CAC7B,AEEA,CEVC,6BAA6B;AJS/B,AEEA,EEVE,kBAAkB;EJSlB,AEEA,AEVA,iBFUiB,GEVG,UJQU;CAC/B,AEEA,AEVA;AJSD,AEEA,AEVA;EJSE,AEEA,AEVA,iBFUiB,EFFE,sBIRsB;CJS1C,AEEA,AEVA,CLMC,2CAA2C;ACG7C,AEEA,AEVA,CLMC;AACD,ECEE,AIRA,oBJQoB,MIRM;CJS3B,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC,mBEVmB;AFWpB,AEVA,EJQE,oBAAoB;CACrB,CEEC,AEVA,YAAY,KFUK;AFDnB,CEEC,AEVA;AFWD,AEVA,EJQE,oBAAoB;CACrB,CEEC,AEVA,iBFUiB,gBEVgB;AJSnC,CEEC,AEVA;AFWD,AEVA,EJQE,oBAAoB;CACrB,CEEC,AEVA,iBFUiB,CEVC;AJSpB,CEEC,AEVA;AFWD,AEVA,ELME,ACEA,+BAA+B,WDFW;CAC3C,ACEA,CEEC,AEVA,cAAc,GFUG;AHHnB,ACEA,CEEC,CEVC,eAAe;AFWjB,EFFE,AIRA,gBJQgB,AIRA;CJSjB,CEEC,AEVA,eAAe,EFUE;AFDnB,CEEC,AEVA;AFWD,AEVA,EJQE,gBAAgB;CACjB,CEEC,AEVA,eAAe,EFUE;AFDnB,CEEC,CEVC,cAAc;AFWhB,EFFE,AIRA,gBAAgB,CJQC;CAClB,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC;AACD,EFFE,iBAAiB;CAClB,CEEC,iBAAiB;AFDnB,CEEC,CHJC,0CAA0C;AGK5C,CHJC,CCEC,AIRA,gBAAgB,CJQC;ADDnB,CCEC,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC,CHJC,2CAA2C;AGK7C,CHJC,CCEC,6BAA6B;ADD/B,CCEC,CEEC,iBAAiB;AFDnB,CEEC,CHJC,0BAA0B;AGK5B,CHJC,CCEC,AIRA,gBAAgB,CJQC;ADDnB,CCEC,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC;AACD,EFFE,iBAAiB;CAClB,CEEC,iBAAiB;AFDnB,CEEC;AACD,EFFE,AIRA,gBAAgB,IJQI;CACrB,AIRA,CLMC,2CAA2C;ACG7C,AIRA,CLMC,CGIC,iBAAiB;AHHnB,CGIC,CFFC,gBAAgB;AEGlB,CFFC,CDFC,wBAAwB;ACG1B,EDFE,kBAAkB;EAClB,ACEA,AIRA,cJQc,EIRE,CLMC;CCGlB,AIRA,CLMC,AGIA,WHJW,MGIM;AFDnB,AIRA,CFUC,CHJC,mBAAmB;AGKrB,EHJE,ACEA,iBDFiB,MCEM;CDDxB,CCEC,AEEA,eFFe,EEEE;AHHnB,CCEC,AEEA,eHJe;AAChB,ACEA,AEEA,EEVE,gBAAgB;CACjB,CLMC,ACEA,AEEA,aHJa,IGII,EFFE;AIPrB,CLMC,AGIA,CFFC,oBAAoB;ADDtB,AGIA,CFFC;AACD,EDFE,AGIA,iBAAiB,aHJa;CGK/B,CHJC,ACEA,YDFY,YCEY;AEG1B,CHJC,ACEA,CIRC,gBAAgB;ALOlB,ACEA,CIRC;AACD,ELME,ACEA,AEEA,aFFa,EDFE,EGIE;CHHlB,ACEA,AEEA;AHHD,ACEA,AEEA;EHHE,ACEA,AEEA,eHJe,EGIE,WFFW;CDD7B,ACEA,AEEA,CEVC,gBAAgB;ALOlB,ACEA,AEEA,CEVC;AACD,ELME,ACIA,AEAA,eHJe,EGIE,8BFA8B;CDHhD,ACIA,AEAA;AHHD,ACIA,AEAA,EEVE,cAAc;CACf,CLMC,ACIA,AEAA,eHJe,EGIE,CFAC;AITpB,CLMC,AGIA,CFAC,kBAAkB;ADHpB,AGIA,CFAC;AACD,EDJE,AGIA,AEVA,cAAc,GFUG,GHJG;CACrB,AGIA,AEVA,CJUC,aAAa;ADHf,AGIA,AEVA,EJUE,YAAY;CACb,CDJC,AGIA,iBHJiB,AGIA;AFCnB,CDJC,AGIA,CEVC,cAAc;ALOhB,AGIA,CEVC,CJUC,aAAa;AITf,ELME,ACIA,AEAA,YFAY,KEAK,CHJC;CACnB,ACIA,AEAA;AHHD,ACIA,AEAA,EEVE,cAAc;CACf,CLMC,ACIA,AEAA,YHJY,CCIC,IEAI;AETnB,CLMC,AGIA,CFAC,YAAY,OIVO;ALOrB,AGIA,AEVA,CJUC;AACD,EDJE,AGIA,AEVA,YLMY,CCIC,IEAI,oBEVoB;AJWvC,CDJC,AGIA,CEVC,6BAA6B;ALO/B,AGIA,EFAE,AITA,gBLKgB,GKLG,yBJSyB;ADH9C,ECIE,AEAA,AETA,iBFSiB,GFAG,IITI;CFUzB,CHJC,ACIA,AITA,mBJSmB,EDJE,QKLQ;AFU/B,CHJC,ACIA,CITC,iCAAiC;ALMnC,ACIA,CITC,CFSC,aHJa,IGII;AHHnB,AKLA,CFSC,CFAC,gBAAgB;AEClB,EFAE,AITA,kBJSkB,SITS;ELM3B,ACIA,AEAA,AETA,iBFSiB,GFAG,SITS,SLKS;CGKvC,AETA,CLKC,ACIA,eAAe,MDJM;AGKvB,AETA,CLKC,ACIA,qBITqB;ALMtB,ACIA,AITA,EFSE,iBAAiB;CAClB,CHJC,ACIA,AITA,iBAAiB,EJSE,KDJK;AGK1B,CHJC,AKLA,CJSC,qBAAqB;ADHvB,AKLA,CJSC,CEAC,iBAAiB;AFCnB,CEAC;AACD,EHJE,ACIA,0BDJ0B,GCIG;EDH7B,ACIA,AEAA,iBAAiB,KFAK,iBDJiB;CACxC,AGIA,CFAC,AITA,gBJSgB,AITA;ALMlB,AGIA,EFAE,AITA,UJSU,OITO;CAClB,CLKC,ACIA,AEAA,iBAAiB,EFAE,ODJO;AKJ5B,CLKC,AGIA,CFAC,cITc,OJSO;ADHvB,AGIA,AETA,EJSE,uBAAuB;EDHvB,ACIA,AEAA,AETA,YJSY,EITE,GFSG,WHJW;CAC7B,ACIA,AEAA,AETA;ALMD,ACIA,AEAA,AETA,sBLKsB;AACtB,ECKE,AEDA,iBAAiB,EFCE;CEApB,CHJC,ACKA,AIVA,gBAAgB,QLKQ,ACKA;AEA1B,CHJC,AKLA,CJUC,6BAA6B;ADJ/B,AKLA,CJUC,CEDC,iBAAiB;AFEnB,CEDC,CHJC,0BAA0B;AGK5B,EHJE,ACKA,AIVA,eJUe,gBIVgB,ULKU;CAC1C,ACKA,AIVA,CFSC,iBAAiB;AHHnB,ACKA,AIVA,CFSC;AACD,EHJE,ACKA,AIVA,gBLKgB,SCKS,AIVA;ELMzB,ACKA,AEDA,AETA,gBAAgB,CFSC,GHJG,UCKU;CDJ/B,AGIA,CFCC,AIVA,0BJU0B,CIVC;ALM7B,AGIA,CETC,CJUC,sBAAsB;AITxB,CJUC,CDLC,AGIA,iBAAiB,EHJE;ACMrB,CDLC,AGIA;AHHD,AGIA,EFCE,cIVc,EJUE;AITlB,CJUC,CDLC,AGIA,iBAAiB,KHJK;ACMxB,CEDC,CHJC,AKLA,gBAAgB,ELKE;AGKpB,CETC,CLKC,ACKA,mBDLmB,ICKI;AITzB,CLKC,CCKC,AEDA,iBAAiB,WFCW;ADJ9B,CGIC,CFCC,AIVA,iBAAiB,OJUO;AEA1B,EHJE,ACKA,AIVA,mBAAmB,CJUC,YDLY;CCMjC,AIVA,CLKC,AGIA,iBAAiB,oBHJoB;ACMvC,AIVA,CFSC,CHJC,0BAA0B;AGK5B,EHJE,ACKA,AIVA,kBJUkB,CDLC,GKLG;CACvB,CLKC,ACKA,AEDA,iBAAiB,IFCI,KDLK;AKJ5B,CJUC,AEDA,CHJC,YAAY;ACMd,AEDA,EHJE,AKLA,eAAe,OLKO;EACtB,ACKA,AEDA,AETA,aLKa,AKLA,IFSI,GFCG;CEArB,AETA,CLKC,ACKA,QDLQ,SCKS;AEAnB,AETA,CJUC,CDLC,mBAAmB;ACMrB,EDLE,AGIA,AETA,eAAe,EFSE,EHJE;CGKpB,CHJC,AKLA,iBAAiB,YLKY;AGK/B,EHJE,AKLA,YLKY,CKLC,CJUC;AAChB,EDLE,AGIA,AETA,iBFSiB,CETC,OLKO;CAC1B,AGIA,AETA;ALMD,AGIA,AETA;ELME,AGIA,AETA,eLKe,AKLA,EFSE;CAClB,CHJC,AKLA,iBAAiB,KLKK;AGKxB,EHJE,AKLA,aAAa,GLKG;EAChB,AGIA,AETA,aLKa,IGII,CETC;CFUnB,AETA,CLKC,CCKC,ODLO;ACMV,AEDA,AETA,ELKE,mBAAmB;EACnB,ACKA,AEDA,AETA,iBFSiB,CHJC,CCKC,AIVA;CFUpB,AETA,CLKC,ACKA,gBAAgB,CDLC;AGKnB,AETA,ELKE,ACKA,mBDLmB,GCKG;EDJtB,ACKA,AEDA,UHJU,OCKO,AEDA;CAClB,CHJC,ACKA,YDLY,EKLE,YJUY;AEA5B,AETA,CLKC,CCKC,uBAAuB;ADJzB,ECKE,AEDA,AETA,iBFSiB,KFCK,8BIV8B;CFUrD,CHJC,ACKA,AIVA,gBLKgB,ECKE,iBIViB;AFUrC,EHJE,ACKA,AIVA,WLKW,uBKLuB,OJUO;EDJzC,ACKA,AEDA,AETA,WLKW,MGIM,MFCM,UIVU;CFUlC,CHJC,ACKA,AIVA,WJUW,cDLc,8BKL8B;AFUzD,CHJC,CCKC,AIVA,gCJUgC,MIVM;ALMxC,ECSE,AELA,AETA,iBFSiB,aFKa,iBIdiB;CJehD,AELA,CHJC,AKLA,cLKc,CKLC;AJejB,AELA,CHJC,CKLC,kBAAkB;ALMpB,ECSE,AELA,AETA,iBFSiB,EFKE,GIdG;CFUvB,CHJC,ACSA,AIdA,mBJcmB,EDTE,SKLS;AFUhC,CETC,CLKC,ACSA,YAAY,EDTE;AKJhB,CLKC,CCSC,AELA,aFKa,IELI;AHHnB,CGIC,CFKC,AIdA,kBJckB,QIdQ;AFU5B,EHJE,ACSA,AIdA,eAAe,ELKE,ECSE;CIbpB,CLKC,ACSA,WAAW,gBDTgB;AKJ7B,CLKC,CCSC,AELA,iBAAiB,cFKc;ADRjC,CGIC,CFSC,AIlBA,0BAA0B,IJkBI;AERhC,EHJE,ACgBA,AIrBA,eAAe,WLKW,cCgBc;CIpBzC,CLKC,ACoBA,oBDpBoB,ACoBA;AIxBtB,CLKC,CCoBC,AEhBA,iBAAiB,IFgBI;ADnBvB,CCoBC,AEhBA,CETC,0BAA0B;AJ0B5B,AEhBA,EHJE,AKLA,mBAAmB,OLKO;EAC1B,ACoBA,AIzBA,sBLKsB,qBKLqB,CJyBC;CDnB7C,ACoBA,CEhBC,AETA,iBFSiB,AETA;ALMnB,ACoBA,CEhBC,CETC,qBAAqB;AFUvB,EHJE,ACoBA,AIzBA,eLKe,IKLI,sBJyBsB;CDnB1C,ACoBA,CIzBC,oBAAoB;ALMtB,ACoBA,EEhBE,AETA,YLKY,KGIK,CETC;ALMpB,CGIC,CFgBC,AIzBA,YAAY,8BJyB8B;AEf5C,CFgBC,AIzBA,CLKC,sCAAsC;ACqBxC,AIzBA,ELKE,AGIA,iBAAiB,MHJM;CGKxB,CHJC,ACoBA,AIzBA,aLKa,MKLM,sBJyBsB;AEf3C,CHJC,ACoBA,CIzBC,iBAAiB;ALMnB,ACoBA,EIzBE,YAAY;CACb,CLKC,ACoBA,AEhBA,iBAAiB,CHJC,wBCoBwB;AIxB5C,CJyBC,AEhBA,CHJC,uBAAuB;ACqBzB,AEhBA,EHJE,AKLA,4BAA4B,eLKe;CAC5C,CCoBC,AIzBA,WAAW,8BJyB8B;ADnB3C,CCoBC,CEhBC,AETA,iBFSiB,GETG;AJ0BtB,CEhBC,CHJC,AKLA,eAAe,ILKI;AGKrB,EHJE,ACoBA,AIzBA,iBAAiB,KLKK,mBCoBmB;CAC1C,CDpBC,AKLA,iBLKiB,OKLO;AJ0B1B,CIzBC,CLKC,qBAAqB;AKJvB,ELKE,ACoBA,aDpBa,6BCoB6B;CDnB3C,ACoBA,CEhBC,AETA,YAAY,KFSK;AHHnB,ACoBA,CEhBC,CETC,YAAY;AFUd,EFoBE,AI7BA,0BAA0B,EJ6BE;CAC7B,CDxBC,AKLA,kBAAkB,CLKC;ACyBrB,CI7BC,CLKC,qBAAqB;AKJvB,ELKE,AC4BA,AExBA,iBAAiB,QHJQ,AC4BA;CD3B1B,AGIA,CFwBC,mBAAmB;AD3BrB,AGIA,EFwBE,aAAa,CIjCC;AAChB,EJiCE,cAAc;ED3Bd,AC4BA,AExBA,AETA,gBAAgB,CFSC,EFwBE,CD5BC;CACrB,AGIA,AETA,CJiCC,mBAAmB;AD3BrB,AGIA,AETA,EJiCE,yBAAyB;CAC1B,CD5BC,AKLA,eAAe,kCLKkC;AC6BnD,CD5BC,AKLA,CFSC,iBAAiB;AHHnB,AKLA,CFSC,CFwBC,qBAAqB;AEvBvB,EFwBE,AIjCA,oBAAoB,GJiCG;CACxB,AIjCA,CLKC,AGIA,iBAAiB,QHJQ;AC6B3B,AIjCA,CFSC,CHJC,gBAAgB;AGKlB,CHJC,CC4BC,mBAAmB;AD3BrB,EC4BE,AExBA,OFwBO,OIjCO,GFSG;AERnB,CFSC,CHJC,AC4BA,QAAQ,SD5BS;AGKnB,CHJC,CC4BC,AIjCA,WJiCW,OIjCO;ALMpB,CC4BC,CExBC,AETA,aAAa,IFSI;AFyBnB,CExBC,AETA,CLKC,iBAAiB;AGKnB,AETA,CLKC,CC4BC,eAAe;AD3BjB,CC4BC,CExBC,AETA,aAAa,IFSI;AFyBnB,CExBC,CETC,mBAAmB;AFUrB,CETC,CLKC,eAAe;AKJjB,ELKE,AGIA,cFwBc,GExBG,GHJG;AC6BtB,CD5BC,AGIA,CETC,WAAW,CJiCC;AD3Bd,ACmEA,AE/DA,EETE,SAAS;ELMT,ACmEA,AE/DA,AETA,iBLKiB,AGIA,eETe;CLMjC,AGIA,CETC,EJwEE,WAAW,GIxEG;ALMlB,AGIA,CETC,GJ4EG,sBAAsB;AI3E1B,ELKE,AGIA,CFmEC,gBEnEgB,CHJC;CGKnB,CHJC,ACuEA,AI5EA,kBAAkB,KLKK;AGKzB,CETC,CLKC,ECuEE,WAAW,8BDvE8B;AKJ7C,CLKC,CGIC,EFuEE,eEvEe,OFuEO;AD1E1B,CGIC,CETC,CJgFC,0BIhF0B;AFU7B,EHJE,AC2EA,AIhFA,wBLKwB,EKLE;CLM3B,AKLA,CFSC,EFuEE,WAAW,IEvEI;AHHnB,AKLA,CFSC,GF2EG,oBAAoB;AE1ExB,EETE,CJoFC,YIpFY;CJqFd,CE3EC,AETA,iBFSiB,AETA;AJqFnB,CE3EC,CHJC,AKLA,YJoFY,AIpFA,cLKc;ACwH5B,AEnHA,CETC,CLKC,0BAA0B;AKJ5B,ELKE,ACuHA,AEnHA,iBAAiB,QHJQ;CGK1B,CHJC,AKLA,EJ4HE,WAAW,AI5HA,eLKe;AGK9B,CETC,CLKC,EC2HE,qBD3HqB,SC2HS;AI/HlC,CLKC,CGIC,CFuHC,gBEvHgB;AHHnB,CGIC,CFuHC,AIhIA,YLKY,MKLM;ALMpB,AGIA,EETE,EJgIE,WAAW,KIhIK;ELMlB,AGIA,AETA,EJoIE,eE3He,AETA,SLKS,IC+HI;CD9H/B,AGIA,AETA,EJoIE;AD9HH,AGIA,AETA,EJoIE,oBD/HoB;AACtB,EGIE,AETA,EJoIE,WAAW,EIpIE,EFSE;CAClB,CETC,EJwIE,cIxIc,WJwIW;AE9H7B,EHJE,AKLA,CJwIC,gBIxIgB,gBLKgB;CAClC,ACmIA,CE/HC,AETA,iBFSiB,CETC;ALMpB,ACmIA,CE/HC,CETC,YJwIY,sGIxIsG;AJoKpH,AE1JA,CETC,CLKC,0BAA0B;AKJ5B,ELKE,AC8JA,AE1JA,eHJe,EGIE;CHHlB,AGIA,GF0JG,WAAW;AD7Jf,AGIA,IF8JI,oBAAoB;EDjKtB,AGIA,CF8JC,gBE9JgB,SHJS;CGK3B,CHJC,ACkKA,eDlKe;AGKjB,CHJC,GCkKG,WAAW;ADjKf,EGIE,AETA,EJ2KE,eElKe,KFkKK,6BI3K6B;CFUpD,AETA,CLKC,CCsKC,oBDtKoB;AGKvB,AETA,CJ2KC,CDtKC,0BAA0B;ACuK5B,EDtKE,AGIA,AETA,ULKU,OGIO,IETI,GJ2KG;AAM1B,CD3KC,AGIA,AETA;ALMD,AGIA,AETA,EJgLE;EEtKA,AETA,EJgLE,SAAS,MEvKM,IETI;CFUtB,AETA,EJgLE,eD3Ke;AAClB,AGIA,AETA,CJgLC;AACD,ED3KE,AGIA,AETA,eLKe,EGIE,EFuKE,EIhLE;AJyMvB,CE/LC,AETA,CLKC,gBAAgB;AGKlB,AETA,ELKE,ACmMA,iBDnMiB;CAClB,CGIC,AETA,EJwME,eE/Le,IETI,KJwMK;ADlM5B,CGIC,AETA,EJwME;AE9LH,AETA,ELKE,ACmMA,iCDnMiC;CAClC,CGIC,AETA,EJwME,eE/Le,WF+LW;ADlM9B,CGIC,EF+LE,CIxMC,4BAA4B;AFUhC,CF+LC,CDnMC,CKLC,aLKa;AC2OhB,CI/OC,CLKC,AGIA,UHJU,OGIO;AERnB,CFSC,CHJC,AC0OA,WD1OW;AGKb,CHJC,GC0OG,iCAAiC;ADzOrC,EGIE,EFyOE,YIlPY,GFSG,YFyOY;AIjP/B,CFSC,CHJC,CC6OC,cD7Oc;AGKjB,CHJC,CC6OC;AD5OF,EGIE,AETA,EJkPE,eEzOe,kBFyOkB,CIlPC;CFUrC,CHJC,AKLA,CJkPC,eD7Oe,CKLC;AFUnB,CETC,CLKC,AC6OA,iBD7OiB;AKJnB,ELKE,AGIA,EFyOE,aD7Oa,EGIE,kBFyOkB;CD5OpC,AGIA,GF4OG,0BAA0B;AD/O9B,AGIA,EETE,CJqPC,aDhPa,sBKLsB;ALMtC,CCgPC,CE5OC,AETA,iBFSiB,AETA;AJsPnB,CE5OC,AETA,CLKC,aAAa;AGKf,AETA,CLKC,CCgPC;AD/OF,EGIE,AETA,EJqPE,cIrPc,CFSC,mBF4OmB;CE3OrC,AETA,CLKC,ECgPE,yBDhPyB,ECgPE;AE3O/B,AETA,CLKC,ECgPE;AD/OH,ECgPE,AE5OA,iBAAiB;CAClB,GF4OG,YIrPY,qBJqPqB;AE3OrC,AETA,GJqPG;EACD,AE5OA,AETA,iBFSiB,EETE;CFUpB,CETC,EJqPE,kBIrPkB,gBJqPgB;AE3OtC,CETC,GJqPG,0BAA0B;AIpP9B,EFSE,CF4OC,gBE5OgB;CF6OlB,AE5OA,CETC,mBAAmB;AJsPrB,AE5OA,EETE,kBAAkB;CACnB,CFSC,iBAAiB;AERnB,CFSC,eF4Oe;AAChB,AE5OA,EETE,mBAAmB;ELMnB,ACgPA,AE5OA,AETA,iBFSiB,MHJM,CKLC;CLMzB,AGIA,AETA;ALMD,AGIA,AETA;EFUE,AETA,gBAAgB,CFSC;CAClB,CETC,oBAAoB;AFUtB,EETE,EJqPE,aIrPa,CJqPC;EE3OhB,AETA,EJqPE,YAAY,GE5OG,SETS;CFU3B,CETC,EJqPE,aAAa,KIrPK;AFUtB,EETE,CJqPC,gBIrPgB;CAClB,CJqPC,AE5OA,iBAAiB;AERnB,CFSC;AACD,EETE,EJqPE,cAAc,AIrPA;EFUhB,AETA,CJqPC,gBE5OgB,GETG;CFUrB,CF4OC,AIrPA,eAAe;AFUjB,CETC,GJqPG,2BAA2B;AIpP/B,IJqPI,iBAAiB;EE3OnB,AETA,CJqPC,eIrPe,CFSC;CAClB,CF4OC,AIrPA,eAAe;AFUjB,CETC,GJqPG,4BAA4B;AIpPhC,EFSE,EF4OE,eE5Oe,CF4OC;CE3OnB,CETC,CJqPC,kBIrPkB;AFUrB,CF4OC,CIrPC,wBAAwB;CACzB,CLKC,AGIA,iBAAiB,SHJS;AKJ5B,CLKC,AGIA;AHHD,AGIA,EETE,oBAAoB;EFUpB,AETA,iBFSiB,CETC;CFUnB,AETA;AFUD,AETA;ELME,AGIA,AETA,gBAAgB,CFSC,oBHJoB;CGKtC,CHJC,AKLA,uBLKuB,AKLA;AFUzB,EHJE,AKLA,iBLKiB,CKLC;CACnB,CLKC,AGIA,iBAAiB,CHJC;AKJpB,CLKC,AGIA;AHHD,AGIA,EETE,mBAAmB;EFUnB,AETA,UAAU,OFSO;CAClB,CHJC,AKLA,UAAU,gBLKgB;AGK5B,CHJC,CKLC,WAAW;ALMb,EGIE,AETA,iBFSiB,AETA;CFUlB,CHJC,AKLA,YAAY,+BLK+B;AGK7C,CHJC,CKLC,aAAa;ALMf,EGIE,AETA,iBFSiB,CETC;CFUnB,AETA;AFUD,AETA,ELKE,0BAA0B;EAC1B,AGIA,AETA,gBAAgB,CFSC,KHJK;CACvB,AGIA,CETC,kBAAkB;ALMpB,AGIA,EETE,eAAe;ELMf,AGIA,AETA,iBFSiB,SHJS,AKLA;CLM3B,AGIA,CETC,mBAAmB;ALMrB,AGIA,EETE,kBAAkB;ELOlB,AGGA,AETA,iBFSiB,EHHE,OKNO;CFU3B,CHHC,AKNA,wBLMwB,UKNU;AFUpC,EHHE,AKNA,aAAa,gBLMgB;EAC7B,AKNA,eLMe,AKNA;ELOf,AGGA,AETA,iBLMiB,AGGA,wDETwD;CFU1E,CHHC,AKNA,gBLMgB,IKNI;AFUtB,EHHE,AKNA,sBLMsB,gCKNgC;ELOtD,AGGA,AETA,iBFSiB,EETE,OLMO;CAC3B,AGGA,CETC,UAAU;ALOZ,AGGA,EETE,oBAAoB;EFUpB,AETA,YAAY,KFSK;CAClB,AETA;AFUD,AETA;ELOE,AGGA,AETA,YAAY,KFSK,SHHS;CGI3B,CHHC,AKNA,aLMa,MKNM;AFUrB,EHHE,AKNA,QAAQ,ILMI;CACb,CKNC,UAAU;ALOZ,EGGE,AETA,YAAY,KFSK;CAClB,CETC,+BAA+B;AFUjC,EHHE,AKNA,0BLM0B,UKNU;ELOpC,AGGA,AETA,iBFSiB,SHHS,WKNW;CLOtC,AGGA,CETC,8BAA8B;ALOhC,AGGA,CETC;AACD,ELME,AGGA,iBAAiB,GHHG;CACrB,AGGA,CETC,YAAY;ALOd,AGGA,EETE,mBAAmB;ELOnB,AGGA,AETA,SAAS,QLMQ,AGGA;CAClB,CHHC,AKNA,UAAU,eLMe;AGI3B,CHHC,CKNC,YAAY;ALOd,EGGE,AETA,iBFSiB,kBETkB;CFUpC,CHHC,AKNA,iBLMiB,eKNe;AFUlC,CHHC,CKNC,qCAAqC;ALOvC,EGGE,AETA,iBFSiB,aETa;CFU/B,AETA,CLMC,0BAA0B;AGI5B,AETA,CLMC;AACD,EGGE,iBAAiB;CAClB,CHHC,cKNc,YLMY;AGI5B,AETA,CLMC;AACD,EKNE,aAAa;ELOb,AKNA,YAAY,+BLM+B;EAC3C,AGGA,AETA,eAAe,EFSE,EHHE;CGIpB,CHHC,AKNA,eLMe,WKNW;AFU5B,CHHC,CKNC,mBAAmB;ALOrB,EKNE,mBAAmB;ELOnB,AGGA,AETA,YAAY,KFSK,aHHa;CGI/B,CHHC,AKNA,kBAAkB,eLMe;AGInC,EHHE,AKNA,ULMU,OKNO;CLOlB,AKNA,CFSC,iBAAiB;AHFnB,AKNA,CFSC;AACD,EHHE,AKNA,cAAc,gBLMgB;CAC/B,CGGC,AETA,iBFSiB,CETC;ALOpB,CGGC,CETC,iBAAiB;AFUnB,EHHE,AKNA,gBAAgB,CLMC;CKLlB,CLMC,AGGA,aHHa,IGGI;AERnB,CFSC,CHHC,iBAAiB;AGInB,CHHC,CKNC,kBAAkB;ALOpB,EGGE,AETA,eAAe,EFSE;CAClB,CHHC,AKNA,oBAAoB,ILMI;AGI1B,EHHE,AKNA,eLMe,GKNG;CLOnB,AKNA,CFSC,iBAAiB;AHFnB,CGGC;AACD;EACE,iBAAiB;CAClB;AACD,EHHE,eAAe;CAChB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,wBAAwB;CACzB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,wBAAwB;CACzB,CGGC,iBAAiB;AHFnB,CGGC,eHHe;AAChB,AGGA;EHFE,AGGA,iBAAiB,aHHa;CGI/B,CHHC,0BAA0B;AGI5B,EHHE,mBAAmB;EACnB,AGGA,eHHe,EGGE;CAClB,CHHC,sBAAsB;AGIxB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;AACD,EGGE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB,CHHC,qCAAqC;AGIvC,EHHE,uBAAuB;EACvB,AGGA,iBHHiB,AGGA;CHFlB,AGGA;AHFD,AGGA,cHHc;AACd,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,EHHE,4CAA4C;EAC5C,AGGA,iBAAiB,OHHO;CGIzB,CHHC,mBAAmB;AGIrB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,gBAAgB;AGIlB,CHHC;AACD,EGGE,iBAAiB;CAClB;AACD,gBHHgB;AAChB,EGGE,iBAAiB;CAClB,CHHC,YAAY;AGId,EHHE,mBAAmB;CACpB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,iBAAiB;CAClB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,iBAAiB;CAClB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,mBAAmB;EACnB,AGGA,iBHHiB,AGGA;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,gBHHgB,CGGC;CAClB,CHHC,iBAAiB;AGInB,EHHE,kBAAkB;EAClB,0BAA0B;CAC3B,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,wBAAwB;CACzB;AACD,EGGE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD,EHHE,WAAW;CACZ,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,0BAA0B;CAC3B,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,0BAA0B;CAC3B,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,qCAAqC;EACrC,AGGA,gBHHgB,CGGC;CAClB,CHHC,kBAAkB;AGIpB,EHHE,kBAAkB;EAClB,AGGA,iBAAiB,SHHS;CAC3B,AGGA;AHFD,AGGA;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EHFE,AGGA,iBAAiB,aHHa;CGI/B,CHHC,uCAAuC;AGIzC,CHHC;AACD;EACE,oBAAoB;EACpB,AGGA,iBAAiB,SHHS;CGI3B,CHHC,eAAe;AGIjB,EHHE,2BAA2B;CAC5B;AACD,EGGE,iBAAiB;CAClB,CHHC,qBAAqB;AGIvB,EHHE,gBAAgB;CACjB;AACD,EGGE,iBAAiB;CAClB,CHHC,oBAAoB;AGItB,CHHC;AACD;EACE,AGGA,iBAAiB,GHHG;CACrB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,GHHG;CACrB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,OHHO;CACzB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,EHHE;CGIpB,CHHC,aAAa;AGIf,EHHE,aAAa;EACb,AGGA,gBHHgB,CGGC;CAClB,CHHC,gBAAgB;AGIlB,EHHE,iBAAiB;EACjB,mBAAmB;CACpB;AACD;EACE,eAAe;EACf,AGGA,aHHa,IGGI;CAClB,CHHC,eAAe;AGIjB,EHHE,kBAAkB;CACnB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,mBAAmB;CACpB;AACD,EGGE,iBAAiB;CAClB,CHHC,mBAAmB;AGIrB,CHHC;AACD;EGIE,iBAAiB;CAClB,eHHe;AAChB,AGGA,kBHHkB;AAClB,EGGE,iBAAiB;CAClB,CHHC,iCAAiC;AGInC,EHHE,iBAAiB;EACjB,AGGA,gBHHgB,CGGC;CAClB,CHHC,mBAAmB;AGIrB,CHHC;AACD;EACE,eAAe;EACf,AGGA,YHHY,KGGK;CAClB,CHHC,mBAAmB;AGIrB,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,eAAe;EACf,eAAe;EACf,AGGA,UHHU,OGGO;CHFlB,AGGA;AHFD,AGGA;EHFE,eAAe;EACf,AGGA,eHHe,EGGE;CAClB,CHHC,gBAAgB;AGIlB,EHHE,UAAU;CACX;AACD,EGGE,iBAAiB;CAClB,CHHC,eAAe;AGIjB,EHHE,gBAAgB;EAChB,AGGA,iBAAiB,EHHE;CGIpB,CHHC,WAAW;AGIb,EHHE,SAAS;CACV,CGGC,iBAAiB;AHFnB,CGGC,gBHHgB;AACjB,AGGA;EHFE,AGGA,iBHHiB,AGGA;CAClB,CHHC,cAAc;AGIhB,EHHE,kBAAkB;CACnB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,oBAAoB;CACrB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,sBAAsB;EACtB,AGGA,YHHY,KGGK;CAClB,CHHC,mBAAmB;AGIrB,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,oBAAoB;EACpB,AGGA,YHHY,KGGK;CHFlB,AGGA;AHFD,AGGA;EHFE,gBAAgB;EAChB,AGGA,iBAAiB,EHHE;CGIpB,CHHC,eAAe;AGIjB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,wBAAwB;AGI1B,EHHE,2BAA2B;EAC3B,AGGA,iBAAiB,oBHHoB;CGItC,CHHC,mBAAmB;AGIrB,EHHE,sBAAsB;EACtB,AGGA,cHHc,GGGG;CAClB,CHHC,mBAAmB;AGIrB,EHHE,yCAAyC;CAC1C,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,eAAe;EACf,AGGA,eHHe,EGGE;CAClB,CHHC,gBAAgB;AGIlB,EHHE,mBAAmB;EACnB,AGGA,iBAAiB,CHHC;CGInB,CHHC,mBAAmB;AGIrB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,YAAY;AGId,EHHE,iBAAiB;EACjB,AGGA,eHHe,EGGE;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,YHHY,KGGK;CAClB,CHHC,QAAQ;AGIV,EHHE,0BAA0B;EAC1B,AGGA,aHHa,IGGI;CAClB,CHHC,UAAU;AGIZ,EHHE,SAAS;EACT,AGGA,iBAAiB,EHHE;CGIpB,CHHC,qBAAqB;AGIvB,EHHE,2CAA2C;EAC3C,AGGA,iBAAiB,CHHC;CGInB,CHHC,kBAAkB;AGIpB,EHHE,6CAA6C;CAC9C,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,sBAAsB;EACtB,AGGA,YHHY,KGGK;CAClB,CHHC,gBAAgB;AGIlB,EHHE,kBAAkB;EAClB,AGGA,WHHW,MGGM;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,OHHO;CACzB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,OHHO;CGIzB,CHHC,mBAAmB;AGIrB,EHHE,kBAAkB;EAClB,AGGA,iBAAiB,KHHK;CACvB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,+BHH+B;CGIjD,CHHC,uDAAuD;AGIzD,EHHE,sDAAsD;EACtD,AGGA,iBAAiB,KHHK;CGIvB,CHHC,mBAAmB;AGIrB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,EHHE,oBAAoB;CACrB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,mBAAmB;CACpB,CGGC,iBAAiB;AHFnB,CGGC,iBHHiB;AAClB,AGGA;EHFE,AGGA,gBHHgB,CGGC;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,EHHE;CGIpB,CHHC,YAAY;AGId,EHHE,YAAY;EACZ,AGGA,aHHa,IGGI;CAClB,CHHC,eAAe;AGIjB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,oBAAoB;AGItB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,mCAAmC;AGIrC,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;AACD,EGGE,gBHHgB,CGGC;AHFnB,CGGC;AACD,EHHE,aAAa;EACb,AGGA,iBAAiB,KHHK;CGIvB,CHHC,aAAa;AGIf,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,mBAAmB;AGIrB,EHHE,mBAAmB;EACnB,AGGA,iBAAiB,EHHE;CGIpB,CHHC,mBAAmB;AGIrB,EHHE,oBAAoB;CACrB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,gBAAgB;EAChB,AGGA,cHHc,GGGG;CAClB,CHHC,qCAAqC;AGIvC,EHHE,mBAAmB;EACnB,AGGA,WHHW,MGGM;CAClB,CHHC,YAAY;AGId,EHHE,SAAS;EACT,kBAAkB;CACnB;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,aAAa;AGIf,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,kBAAkB;CACnB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,oBAAoB;EACpB,AGGA,eHHe,EGGE;CAClB,CHHC,iBAAiB;AGInB,EHHE,wBAAwB;CACzB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,YAAY;EACZ,AGGA,iBHHiB,AGGA;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,YHHY,KGGK;CAClB,CHHC,gBAAgB;AGIlB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;EGIC,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;;GAGG;AACH;EACE,2CAA2C;EAC3C,6DAA6D;EAC7D,+QAA+Q;EAC/Q,oBAAoB;EACpB,mBAAmB;CACpB;AACD;;EAEE,sBAAsB;EACtB,gEAAgE;EAChE,mBAAmB;EACnB,YAAY;EACZ,qBAAqB;EACrB,oCAAoC;EACpC,mCAAmC;CACpC;AACD;EACE,qBAAqB;EACrB,uBAAuB;CACxB;AACD;EACE,iBAAiB;EACjB,kBAAkB;EAClB,qBAAqB;CACtB;AACD;EACE,eAAe;CAChB;AACD;EACE,eAAe;CAChB;AACD;EACE,eAAe;CAChB;AACD;EACE,eAAe;CAChB;AACD;EACE,0BAA0B;EAC1B,0BAA0B;EAC1B,oBAAoB;CACrB;AACD;EACE,0BAA0B;EAC1B,0BAA0B;EAC1B,mBAAmB;CACpB;AACD;;EAEE,YAAY;EACZ,mBAAmB;CACpB;AACD;;EAEE,aAAa;EACb,kBAAkB;CACnB;AACD;EAEE,wCAAwC;CACzC;AACD;EAEE,gDAAgD;CACjD;AAWD;EACE;IAEE,wBAAwB;GACzB;EACD;IAEE,0BAA0B;GAC3B;CACF;AAWD;EACE;IAEE,wBAAwB;GACzB;EACD;IAEE,2BAA2B;GAC5B;CACF;AACD;EACE,iEAAiE;EAGjE,yBAAyB;CAC1B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;;;;;EAKE,aAAa;CACd;AACD;oEACoE;AACpE,oEAAoE;AACpE;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;;;;EAKE;AACF;EACE,wBAAwB;EACxB,0CAA0C;EAC1C,wPAAwP;EACxP,oBAAoB;EACpB,mBAAmB;CACpB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkmBE,sBAAsB;EACtB,wBAAwB;EACxB,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,oCAAoC;EACpC,mCAAmC;CACpC;AACD;;;;;;;;EAWE,mCAAmC;CACpC;AAiCD;EACE;IACE,wBAAwB;GACzB;EACD;IACE,0BAA0B;GAC3B;CACF;AACD;EAGE,2CAA2C;CAC5C;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,uBAAuB;EACvB,yCAAyC;EACzC,mPAAmP;EACnP,oBAAoB;EACpB,mBAAmB;CACpB;AACD;;EAEE,uBAAuB;EACvB,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,uCAAuC;EACvC,oCAAoC;EACpC,mCAAmC;CACpC;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;EACE,4BAA4B;EAC5B,sDAAsD;EACtD,yXAAyX;EACzX,oBAAoB;EACpB,mBAAmB;CACpB;AACD;EACE,sBAAsB;EACtB,4BAA4B;EAC5B,mBAAmB;EACnB,oBAAoB;EACpB,eAAe;EACf,oCAAoC;EACpC,mCAAmC;CACpC;AACD;EACE,mBAAmB;EACnB,aAAa;CACd;AACD;EACE,iEAAiE;EAGjE,yBAAyB;CAC1B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB","file":"app-bundle.js","sourcesContent":["import { autoinject } from 'aurelia-dependency-injection';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject()\r\nexport class EventService {\r\n constructor(eventAggregator: EventAggregator) {\r\n this._eventAggregator = eventAggregator;\r\n }\r\n\r\n private readonly _eventAggregator: EventAggregator;\r\n\r\n publish(eventType: EventType, data: any = null){\r\n this._eventAggregator.publish(eventType, data);\r\n }\r\n\r\n subscribe(eventType: EventType, callback: (data) => void){\r\n this._eventAggregator.subscribe(eventType, callback)\r\n }\r\n}\r\n\r\nexport type EventType =\r\n 'login' |\r\n 'logout' |\r\n 'request' |\r\n 'response' |\r\n 'routed' |\r\n 'notAdmin' |\r\n 'adminDetected';","import { inject } from \"aurelia-framework\";\r\nimport { Router } from \"aurelia-router\";\r\nimport { RouterConfiguration } from \"aurelia-router\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { EventService } from '../resources/services/eventService';\r\n\r\n@inject(Router, EventAggregator, EventService)\r\nexport class RouterService {\r\n\r\n private currentRoute: string = 'statistics';\r\n private readonly eventAggregator: EventAggregator;\r\n private readonly eventService: EventService;\r\n\r\n constructor(router: Router, eventAggregator: EventAggregator, eventService: EventService) {\r\n console.log('router ctor'); \r\n console.log(router);\r\n this.eventAggregator = eventAggregator;\r\n this.eventService = eventService;\r\n this.eventAggregator.subscribe('router:navigation:complete', data => {\r\n if (data.instruction.fragment == '/') {\r\n this.currentRoute = 'statistics';\r\n } else {\r\n this.currentRoute = this.determineRoute(data.instruction.fragment);\r\n }\r\n console.log(\"route: \" + data.instruction.fragment);\r\n this.eventService.publish('routed', this.currentRoute);\r\n }); \r\n }\r\n\r\n public configure(config: RouterConfiguration) : RouterConfiguration {\r\n\r\n console.log('configuring router');\r\n config.title = \"ppppool\",\r\n config.map([\r\n { route: [\"\"], moduleId: \"./main/statistics/statistics\", title: 'Statistics', nav: true },\r\n { route: [\"picks\"], moduleId: \"./main/picks/picks\", title: 'Picks', nav: true },\r\n { route: [\"feedback\"], moduleId: \"./main/feedback/feedback\", title: 'Feedback' },\r\n { route: [\"admin\"], moduleId: \"./main/admin/admin\", title: 'Admin', nav: true },\r\n { route: [\"settings\"], moduleId: \"./main/settings/settings\", title: 'Settings', nav: true },\r\n ]);\r\n return config;\r\n }\r\n\r\n determineRoute(route) {\r\n let firstSlash = false;\r\n let buffer = '';\r\n for (let c of route) {\r\n if (!firstSlash) {\r\n if (c == '/') {\r\n firstSlash = true;\r\n continue;\r\n }\r\n }\r\n if (c == '/') {\r\n return buffer;\r\n }\r\n buffer = buffer + c;\r\n }\r\n return buffer;\r\n }\r\n}","import { inject } from 'aurelia-dependency-injection';\nimport { EventService } from './resources/services/eventService';\nimport { RouterService } from './shell/routerService';\nimport { Router } from 'aurelia-router';\n\n@inject(EventService, Router, RouterService)\nexport class App {\n constructor(eventService: EventService, router: Router, routerService: RouterService) {\n this.eventService = eventService;\n this.router = router;\n this.routerService = routerService;\n this.data = [\n {\n colOne: 1,\n colTwo: 2,\n },\n {\n colThree: 3,\n colFour: 4\n }\n ]\n }\n\n eventService: EventService;\n routerService: RouterService;\n router: Router;\n data: any;\n\n async activate() {\n await this.router.configure(this.routerService.configure); }\n}\n\n\n\n\n\n\n/*\n\n this.data = [\n {\n colOne: 1,\n colTwo: 2,\n },\n {\n colThree: 3,\n colFour: 4\n }\n ]\n\n\n*/","export default {\n debug: true,\n testing: true\n};\n","import { autoinject } from 'aurelia-dependency-injection';\r\nimport { HttpClient } from \"aurelia-fetch-client\";\r\n\r\n@autoinject()\r\nexport class RestService {\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n private http: HttpClient\r\n\r\n public async post(url: string, query: Object = null, headers: Object = {}, body: Object = {}): Promise {\r\n let urlQuery = this.getQueryUrl(url, query);\r\n this.requestDiagnostic();\r\n if(!headers){\r\n headers = {}\r\n }\r\n headers['Content-Type'] = 'application/json; charset=utf-8';\r\n let response = await this.http.fetch(urlQuery, {\r\n method: 'post',\r\n headers: headers ? headers : {},\r\n body: body ? JSON.stringify(body) : JSON.stringify({empty: true})\r\n });\r\n this.responseDiagnostic();\r\n let content = {};\r\n try {\r\n content = await response.json();\r\n } catch (err) {\r\n content = {};\r\n console.log(err);\r\n }\r\n return new Response(content[\"Status\"] ? content[\"Status\"] : response.status , content[\"StatusText\"] ? content[\"StatusText\"] : response.statusText, content);\r\n }\r\n\r\n\r\n private getQueryUrl(url: string, query: Object): string {\r\n return !query ? url : `${url}?${this.serialize(query)}`\r\n }\r\n\r\n private serialize(obj: Object): string {\r\n let str = [];\r\n for (var p in obj)\r\n if (obj.hasOwnProperty(p)) {\r\n str.push(encodeURIComponent(p) + \"=\" + encodeURIComponent(obj[p]));\r\n }\r\n return str.join(\"&\");\r\n }\r\n\r\n private requestDiagnostic() {\r\n }\r\n\r\n private responseDiagnostic() {\r\n }\r\n\r\n}\r\n\r\nexport class Response {\r\n constructor(status: number, statusText: string, data: Object = null){\r\n this.Status = status;\r\n this.StatusText = statusText;\r\n this.Data = data;\r\n this.IsError = status != 200;\r\n }\r\n\r\n StatusText: string;\r\n Status: number;\r\n Data: Object;\r\n IsError: Boolean;\r\n}","// http://www.w3schools.com/js/js_cookies.asp\r\nexport class CookieService {\r\n \r\n constructor(){\r\n \r\n }\r\n\r\n setCookie(cname: string, cvalue: string, exdays: number) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n }\r\n\r\n getCookie(cname: string) : string {\r\n var name = cname + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n cookieExists(cname: string) : boolean {\r\n var value = this.getCookie(cname);\r\n return value != \"\";\r\n }\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { CookieService } from './cookieService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { EventService, EventType } from './eventService';\r\nlet log = LogManager.getLogger('authService');\r\n\r\n@inject(CookieService, EventService)\r\nexport class AuthService {\r\n constructor(cs: CookieService, ea: EventService) {\r\n this.cookieService = cs;\r\n this.eventService = ea;\r\n }\r\n\r\n eventService: EventService;\r\n cookieService: CookieService;\r\n adminRequestCallback: (authToken: string) => Promise = null;\r\n\r\n login(token: WebToken) {\r\n log.debug('storing auth cookie');\r\n this.cookieService.setCookie(\"authToken\", JSON.stringify(token), 1000);\r\n this.eventService.publish('login');\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n let isLoggedIn = this.cookieService.cookieExists(\"authToken\");\r\n log.debug(`is logged in: ${isLoggedIn}`);\r\n return isLoggedIn;\r\n }\r\n\r\n getWebToken() : WebToken {\r\n if(this.isLoggedIn()){\r\n let data = JSON.parse(this.cookieService.getCookie(\"authToken\"));\r\n return new WebToken(data.email, data.authToken, data.userId, data.name);\r\n }\r\n return null;\r\n }\r\n\r\n logout() {\r\n log.debug(`logging out.`);\r\n this.cookieService.setCookie(\"authToken\", \"\", 1);\r\n window.location.replace(\"#\");\r\n this.eventService.publish('logout');\r\n window.location.reload(true);\r\n }\r\n\r\n setAdminRequestCallback(adminRequestCallback: (authToken: string) => Promise) {\r\n log.debug(\"setting admin request callback\");\r\n this.adminRequestCallback = adminRequestCallback;\r\n }\r\n\r\n async requestAdminAuthorization(): Promise {\r\n if (!this.isLoggedIn()) {\r\n return;\r\n }\r\n log.debug(`Requesting admin authorization`);\r\n let authToken = this.getWebToken().authToken;\r\n var isAdmin = await this.adminRequestCallback(authToken);\r\n log.debug(`Admin authorization: ${isAdmin}`);\r\n if(isAdmin){\r\n this.eventService.publish('adminDetected');\r\n } else {\r\n this.eventService.publish('notAdmin');\r\n }\r\n return isAdmin;\r\n }\r\n}\r\n\r\nexport class WebToken{\r\n constructor(email: string, authToken: string, userId: string, name: string){\r\n this.email = email;\r\n this.authToken = authToken;\r\n this.userId = userId;\r\n this.name = name;\r\n }\r\n\r\n readonly email: string;\r\n readonly authToken: string;\r\n readonly userId: string;\r\n readonly name: string;\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { RestService } from '../../resources/services/restService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { AuthService, WebToken } from '../../resources/services/authService';\r\nlet log = LogManager.getLogger('authClient');\r\n\r\n@inject(RestService, AuthService)\r\nexport class AuthClient {\r\n constructor(restService: RestService, authService: AuthService) {\r\n this.restService = restService;\r\n this.authService = authService;\r\n this.authService.setAdminRequestCallback(async authToken => {\r\n let result = await this.authorize(\"admin\", authToken);\r\n return result;\r\n });\r\n }\r\n\r\n private readonly serviceUrl: string = \"https://ppppoolauthservice.azurewebsites.net\"\r\n private readonly restService: RestService;\r\n private readonly authService: AuthService;\r\n\r\n async login(userId, password): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/login`, {\r\n userId: userId,\r\n password: password\r\n });\r\n\r\n if(!response.IsError){\r\n let data = response.Data;\r\n this.authService.login(new WebToken(data[\"email\"], data[\"authToken\"], data[\"userId\"], data[\"name\"]));\r\n }\r\n\r\n return !response.IsError\r\n }\r\n\r\n async authorize(role, authToken): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/authenticate`, {\r\n role: role,\r\n authToken: authToken\r\n });\r\n return !response.IsError;\r\n }\r\n}","import { Aurelia } from 'aurelia-framework'\nimport environment from './environment';\nimport { LogManager } from \"aurelia-framework\";\nimport { ConsoleAppender } from \"aurelia-logging-console\";\nimport { HttpClient } from 'aurelia-fetch-client';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { Container } from 'aurelia-dependency-injection';\nimport { AuthClient } from './microservices/auth/authClient';\nimport { EventService } from './resources/services/eventService';\nimport { RouterService } from './shell/routerService';\nimport { Router, RouterConfiguration } from 'aurelia-router';\n\n//Configure Bluebird Promises.\n(Promise).config({\n longStackTraces: environment.debug,\n warnings: {\n wForgottenReturn: false\n }\n});\n\nexport function configure(aurelia: Aurelia) {\n aurelia.use\n .standardConfiguration()\n .feature('resources')\n .feature('microservices/auth')\n .feature('shell')\n .feature('microservices/stats/current')\n .feature('microservices/stats/history')\n .feature('microservices/stats/majors')\n .feature('microservices/stats/monthly')\n .feature('microservices/stats/playoffs')\n .feature('microservices/stats/season')\n .feature('microservices/picks');\n\n if (environment.debug) {\n LogManager.addAppender(new ConsoleAppender());\n LogManager.setLevel(LogManager.logLevel.debug); // debug, info\n }\n\n if (environment.testing) {\n aurelia.use.plugin('aurelia-testing');\n }\n\n\n let log = LogManager.getLogger('RestService');\n let ea = aurelia.container.get(EventAggregator);\n let httpClient = aurelia.container.get(HttpClient)\n httpClient.configure(config => {\n config\n .withDefaults({\n headers: {\n 'Accept': 'application/json',\n 'X-Requested-With': 'Fetch'\n }\n })\n .withInterceptor({\n request(request) {\n //log.info(`Requesting ${request.method} ${request.url}`);\n log.info(request);\n ea.publish('request');\n return request;\n },\n response(response) {\n //log.info(`Received ${response.status} ${response.url}`);\n log.info(response);\n ea.publish('response');\n return response;\n }\n });\n });\n\n let authClient = aurelia.container.get(AuthClient);\n \n aurelia.start().then(() => aurelia.setRoot());\n}\n","import { FrameworkConfiguration } from 'aurelia-framework';\n\nexport function configure(config: FrameworkConfiguration) {\n config.globalResources([\n 'bootstrap/css/bootstrap.css',\n 'resources/styles/iconfonts.css',\n 'resources/styles/datatablestyles.css',\n 'resources/styles/minton/css/components.css',\n 'resources/styles/minton/css/core.css',\n 'resources/styles/minton/css/elements.css',\n 'resources/styles/minton/css/icons.css',\n 'resources/styles/minton/css/menu.css',\n 'resources/styles/minton/css/pages.css',\n 'resources/styles/minton/css/responsive.css',\n 'resources/styles/minton/css/variables.css',\n 'resources/valueConverters/dateFormat',\n ]);\n}\n","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n \"./shell\"\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { EventService } from '../resources/services/eventService';\r\nimport { AuthService } from '../resources/services/authService';\r\n\r\n@inject(EventService, AuthService)\r\nexport class NavBarCustomElement {\r\n constructor(es: EventService, as: AuthService){\r\n this.eventService = es;\r\n this.authService = as;\r\n this.eventService.subscribe('routed', (data) => {\r\n this.currentRoute = data;\r\n });\r\n this.eventService.subscribe('adminDetected', async () => {\r\n this.isAdmin = true;\r\n });\r\n this.eventService.subscribe('notAdmin', async () => {\r\n this.isAdmin = false;\r\n }); \r\n this.eventService.subscribe('logout', () => {\r\n this.isAdmin = false;\r\n });\r\n }\r\n\r\n private currentRoute: string = 'statistics';\r\n private isAdmin: boolean;\r\n private readonly eventService: EventService;\r\n private readonly authService: AuthService;\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { EventService } from '../resources/services/eventService';\r\nimport { AuthService } from '../resources/services/authService';\r\nimport { RouterService } from './routerService';\r\nimport { Router } from \"aurelia-router\";\r\n\r\n@inject(EventService, AuthService, RouterService, Router)\r\nexport class ShellCustomElement {\r\n constructor(es: EventService, as: AuthService, rs: RouterService, r: Router) {\r\n this.eventService = es;\r\n this.authService = as;\r\n this.routerService = rs;\r\n this.router = r;\r\n this.eventService.subscribe('routed', (data) => {\r\n this.currentRoute = data;\r\n });\r\n this.eventService.subscribe('login', () => {\r\n this.loggedIn = true;\r\n });\r\n this.eventService.subscribe('logout', () => {\r\n this.loggedIn = false;\r\n });\r\n this.loggedIn = this.authService.isLoggedIn();\r\n //this.router.configure(this.routerService.configureRouter);\r\n }\r\n\r\n private loggedIn: boolean;\r\n private currentRoute: string = 'statistics';\r\n private readonly eventService: EventService;\r\n private readonly authService: AuthService;\r\n private readonly routerService: RouterService;\r\n private readonly router: Router;\r\n\r\n async attached(){\r\n await this.authService.requestAdminAuthorization();\r\n }\r\n\r\n}","import { inject } from \"aurelia-framework\";\r\nimport { bindable, bindingMode } from 'aurelia-framework';\r\nimport { EventService } from '../resources/services/eventService';\r\nimport { AuthService, WebToken } from '../resources/services/authService';\r\n\r\n@inject(AuthService, EventService)\r\nexport class TopBarCustomElement {\r\n private title: string = \"PPP PGA Pool\";\r\n private currentRoute: string = 'statistics';\r\n private loggedIn: boolean = false;\r\n\r\n constructor(authService, eventService) {\r\n this.authService = authService;\r\n this.eventService = eventService;\r\n this.eventService.subscribe('routed', (data) => {\r\n this.currentRoute = data;\r\n });\r\n this.eventService.subscribe('login', () => {\r\n this.loggedIn = true;\r\n });\r\n this.eventService.subscribe('logout', () => {\r\n this.loggedIn = false;\r\n });\r\n this.loggedIn = this.authService.isLoggedIn();\r\n }\r\n\r\n private readonly authService: AuthService;\r\n private readonly eventService: EventService;\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n}","\r\nexport class Admin {\r\n \r\n}","\r\nexport class Feedback {\r\n \r\n}","\r\nexport class Picks{\r\n \r\n}","\r\nexport class Statistics {\r\n message = \"statistics\";\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n \"./login\"\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { AuthClient } from './authClient';\r\n\r\n@inject(AuthClient)\r\nexport class LoginCustomElement {\r\n constructor(ac: AuthClient){\r\n this.authClient = ac;\r\n }\r\n\r\n authClient: AuthClient\r\n userId: string;\r\n password: string;\r\n errorMessage: string = '';\r\n\r\n async login(){\r\n this.errorMessage = \"\";\r\n if(!this.userId || !this.password){\r\n return;\r\n }\r\n let response = await this.authClient.login(this.userId, this.password);\r\n if(!response){\r\n this.errorMessage = \"Login failed\";\r\n }\r\n }\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { RestService } from '../../resources/services/restService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { AuthService } from '../../resources/services/authService';\r\nlet log = LogManager.getLogger('statsClient');\r\n\r\n@inject(RestService, AuthService)\r\nexport class StatsClient {\r\n constructor(restService: RestService, authService: AuthService) {\r\n this.restService = restService;\r\n this.authService = authService;\r\n }\r\n\r\n private readonly serviceUrl: string = \"https://ppppoolstatsservice.azurewebsites.net\"\r\n private readonly restService: RestService;\r\n private readonly authService: AuthService;\r\n\r\n async getTournamentStats(\r\n season: string = 'current', \r\n tour: string = 'PGA TOUR', \r\n key: string = 'current', \r\n value: string = ''): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getTournament`, {\r\n season, tour, key, value\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n }); \r\n return response.Data;\r\n }\r\n\r\n async getSeasonStats(\r\n season: string = 'current',\r\n tour: string = 'PGA TOUR'): Promise{\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getSeason`, {\r\n season, tour\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n }\r\n\r\n async getMonthlyStats(\r\n season: string = 'current',\r\n tour: string = 'PGA TOUR',\r\n key: string = 'user'): Promise{\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getMonthly`, {\r\n season, tour, key\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n } \r\n}","\r\nexport class DateFormatValueConverter {\r\n toView(value) {\r\n let date = new Date(value);\r\n let year = date.getFullYear();\r\n let month = this.getNumber(date.getMonth() + 1);\r\n let day = this.getNumber(date.getDate());\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n getNumber(number){\r\n return (\"0\" + number).slice(-2);\r\n }\r\n}","import { inject } from 'aurelia-framework';\r\nimport { StatsClient } from '../statsClient';\r\n\r\n@inject(StatsClient)\r\nexport class CurrentStatsCustomElement {\r\n constructor(sc: StatsClient) {\r\n this.statsClient = sc;\r\n }\r\n\r\n private readonly statsClient: StatsClient;\r\n private tournament: Object = null;\r\n private course: Object = {};\r\n private golfers: Array = [];\r\n private poolies: Array = [];\r\n private golfersConfig: Object;\r\n private pooliesConfig: Object;\r\n private maxPoints: number;\r\n\r\n async attached() {\r\n await this.getData();\r\n window.setTimeout(() => {\r\n ($('#pooliestable')).dataTable(this.getPooliesConfig());\r\n ($('#golferstable')).dataTable(this.getGolfersConfig());\r\n ($('input')).addClass(\"form-control input-sm\");\r\n }, 1000);\r\n\r\n }\r\n\r\n async getData() {\r\n this.tournament = await this.statsClient.getTournamentStats();\r\n this.course = this.tournament[\"Course\"];\r\n this.poolies = >this.tournament[\"Poolies\"];\r\n this.golfers = >this.tournament[\"Golfers\"];\r\n let points = [];\r\n this.golfers.forEach(golfer => {\r\n points.push(golfer.Points);\r\n });\r\n this.maxPoints = Math.max.apply(null, points);\r\n }\r\n\r\n getPooliesConfig() {\r\n return {\r\n columnDefs: [\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"string\" },\r\n { type: \"string\" }\r\n ],\r\n order: [[1, 'asc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n\r\n getGolfersConfig() {\r\n return {\r\n columnDefs: [\r\n { type: \"string\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" }\r\n ],\r\n order: [[1, 'desc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './current-stats'\r\n ]);\r\n}\r\n","\r\nexport class HistoryStatsCustomElement {\r\n \r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './history-stats'\r\n ]);\r\n}\r\n","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './majors-stats'\r\n ]);\r\n}\r\n","\r\nexport class MajorsStatsCustomElement {\r\n \r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './monthly-stats'\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { StatsClient } from '../statsClient';\r\n\r\n@inject(StatsClient)\r\nexport class MonthlyStatsCustomElement {\r\n constructor(sc: StatsClient) {\r\n this.statsClient = sc;\r\n }\r\n\r\n private readonly statsClient: StatsClient;\r\n private poolies: Array;\r\n private currentMonth: number;\r\n private monthNames: Array;\r\n\r\n async attached() {\r\n await this.getData();\r\n window.setTimeout(() => {\r\n ($('#monthtable')).dataTable(this.getTableConfig());\r\n ($('input')).addClass(\"form-control input-sm\");\r\n }, 1000);\r\n }\r\n\r\n async getData() {\r\n let data = await this.statsClient.getMonthlyStats();\r\n this.poolies = >data;\r\n this.currentMonth = (>this.poolies[0][\"Points\"]).length;\r\n this.monthNames = [];\r\n for(var i = 0; i < this.currentMonth; i++){\r\n this.monthNames.push(this.getMonthName(i + 1));\r\n }\r\n }\r\n\r\n getMonthName(month: number): string {\r\n let strMonth = month > 9 ? `${month}` : `0${month}`;\r\n let date = new Date(`${strMonth}/02/2000`);\r\n let locale = 'en-us';\r\n return date.toLocaleString(locale, { month: \"long\" });\r\n }\r\n\r\n getTableConfig() {\r\n let columnDefs = [\r\n { type: 'string' }\r\n ]\r\n for (var i = 0; i < this.currentMonth; i++) {\r\n columnDefs.push({ type: 'num' });\r\n }\r\n\r\n return {\r\n columnDefs: columnDefs,\r\n order: [[this.currentMonth, 'desc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n\r\n getMonthNameLiteral(month: number) : string {\r\n switch (month) {\r\n case 0: return \"Invalid\"\r\n case 1: return 'January'\r\n case 2: return 'Februray'\r\n case 3: return 'March'\r\n case 4: return 'April'\r\n case 5: return 'May'\r\n case 6: return 'June'\r\n case 7: return 'July'\r\n case 8: return 'August'\r\n case 9: return 'September'\r\n case 10: return 'October'\r\n case 11: return 'November'\r\n case 12: return 'December'\r\n default:\r\n return 'invalid';\r\n }\r\n }\r\n\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './playoff-stats'\r\n ]);\r\n}\r\n","export class PlayoffStatsCustomElement {\r\n \r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './season-stats'\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { StatsClient } from '../statsClient';\r\n\r\n@inject(StatsClient)\r\nexport class SeasonStatsCustomElement {\r\n constructor(sc: StatsClient) {\r\n this.statsClient = sc;\r\n }\r\n\r\n private readonly statsClient: StatsClient;\r\n private poolies: Array;\r\n private season: number;\r\n private week: number;\r\n private tournamentName: string;\r\n\r\n private maxWins: number;\r\n private maxTop5: number;\r\n private maxTop10: number;\r\n private maxCuts: number;\r\n private maxPlusMinus: number;\r\n\r\n async attached() {\r\n await this.getData();\r\n window.setTimeout(() => {\r\n ($('#seasontable')).dataTable(this.getTableConfig());\r\n ($('input')).addClass(\"form-control input-sm\");\r\n }, 1000);\r\n }\r\n\r\n async getData() {\r\n let data = await this.statsClient.getSeasonStats();\r\n this.week = data[\"Week\"];\r\n this.season = data[\"Season\"];\r\n this.tournamentName = data[\"Tournament\"]\r\n this.tournamentName = this.tournamentName.toLowerCase().startsWith(\"the \") ? this.tournamentName : `The ${this.tournamentName}`;\r\n this.poolies = >data[\"Poolies\"];\r\n this.getMaxValues();\r\n }\r\n\r\n getTableConfig(): Object {\r\n return {\r\n columnDefs: [\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"string\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" }\r\n ],\r\n order: [[0, 'asc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n\r\n getMaxValues() {\r\n let array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Wins\"]){\r\n array.push(poolie[\"Wins\"]);\r\n }\r\n });\r\n this.maxWins = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Top5\"]){\r\n array.push(poolie[\"Top5\"]);\r\n }\r\n });\r\n this.maxTop5 = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Top10\"]){\r\n array.push(poolie[\"Top10\"]);\r\n }\r\n });\r\n this.maxTop10 = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Cuts\"]){\r\n array.push(poolie[\"Cuts\"]);\r\n }\r\n });\r\n this.maxCuts = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"PlusMinus\"]){\r\n array.push(poolie[\"PlusMinus\"]);\r\n }\r\n });\r\n this.maxPlusMinus = Math.max.apply(null, array);\r\n\r\n }\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n \"./picks-main\"\r\n ]);\r\n}\r\n",null,null,"import { inject } from 'aurelia-dependency-injection';\r\nimport { RestService } from '../../resources/services/restService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { AuthService } from '../../resources/services/authService';\r\nlet log = LogManager.getLogger('pickClient');\r\n\r\n@inject(RestService, AuthService)\r\nexport class PickClient {\r\n constructor(restService: RestService, authService: AuthService) {\r\n this.restService = restService;\r\n this.authService = authService;\r\n }\r\n\r\n private readonly serviceUrl: string = \"https://ppppoolpicksservice.azurewebsites.net\"\r\n private readonly restService: RestService;\r\n private readonly authService: AuthService;\r\n\r\n async getCurrentPickInfo(): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getGolfers`, null, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n }\r\n\r\n async getPickForCurrent(tournamentIndex: string): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getPicks`, {\r\n season: 'current', tour: 'PGA TOUR', tournamentIndex: tournamentIndex, user: 'true'\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n }\r\n\r\n async pickGolfer(playerId: string, playerName: string){\r\n let response = await this.restService.post(`${this.serviceUrl}/api/pickGolfer`, {\r\n tour: 'PGA TOUR', playerId: playerId, playerName: playerName\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data; \r\n }\r\n}","import { inject } from 'aurelia-framework';\r\nimport { PickClient } from './pickClient';\r\n\r\n@inject(PickClient)\r\nexport class PicksMainCustomElement {\r\n constructor(pc: PickClient){\r\n this.pickClient = pc;\r\n }\r\n\r\n private readonly pickClient : PickClient;\r\n private tournament: Object;\r\n private golfers: Array;\r\n private pick: any;\r\n private selectedPlayer: Object;\r\n private submitting: boolean = false;\r\n\r\n async attached(){\r\n let data = await this.pickClient.getCurrentPickInfo();\r\n this.tournament = data[\"Tournament\"];\r\n this.golfers = data[\"Golfers\"];\r\n this.tournament[\"State\"] = 'picking';\r\n let pickData = await this.pickClient.getPickForCurrent(this.tournament[\"Index\"]);\r\n if(pickData[\"empty\"]){\r\n this.pick = 'none';\r\n } else {\r\n this.pick = pickData; \r\n }\r\n }\r\n\r\n async submitPick(){\r\n if(!this.selectedPlayer){\r\n return;\r\n }\r\n this.submitting = true;\r\n let response = await this.pickClient.pickGolfer(this.selectedPlayer[\"TournamentPlayerId\"], this.selectedPlayer[\"PlayerName\"]);\r\n console.log(response);\r\n let pickData = await this.pickClient.getPickForCurrent(this.tournament[\"Index\"]);\r\n if(pickData[\"empty\"]){\r\n this.pick = 'none';\r\n } else {\r\n this.pick = pickData; \r\n }\r\n this.submitting = false;\r\n }\r\n}","#topnav .top-bar-color {\r\n background-color: #55bb22;\r\n}","div.dataTables_length label {\r\n\tfont-weight: normal;\r\n\ttext-align: left;\r\n\twhite-space: nowrap;\r\n}\r\n\r\ndiv.dataTables_length select {\r\n\twidth: 75px;\r\n\tdisplay: inline-block;\r\n}\r\n\r\ndiv.dataTables_filter {\r\n\ttext-align: right;\r\n}\r\n\r\ndiv.dataTables_filter label {\r\n\tfont-weight: normal;\r\n\twhite-space: nowrap;\r\n\ttext-align: left;\r\n}\r\n\r\ndiv.dataTables_filter input {\r\n\tmargin-left: 0.5em;\r\n\tdisplay: inline-block;\r\n}\r\n\r\ndiv.dataTables_info {\r\n\tpadding-top: 8px;\r\n\twhite-space: nowrap;\r\n}\r\n\r\ndiv.dataTables_paginate {\r\n\tmargin: 0;\r\n\twhite-space: nowrap;\r\n\ttext-align: right;\r\n}\r\n\r\ndiv.dataTables_paginate ul.pagination {\r\n\tmargin: 2px 0;\r\n\twhite-space: nowrap;\r\n}\r\n\r\n@media screen and (max-width: 767px) {\r\n\tdiv.dataTables_length,\r\n\tdiv.dataTables_filter,\r\n\tdiv.dataTables_info,\r\n\tdiv.dataTables_paginate {\r\n\t\ttext-align: center;\r\n\t}\r\n}\r\n\r\n\r\ntable.dataTable td,\r\ntable.dataTable th {\r\n\t-webkit-box-sizing: content-box;\r\n\t-moz-box-sizing: content-box;\r\n\tbox-sizing: content-box;\r\n}\r\n\r\n\r\ntable.dataTable {\r\n\tclear: both;\r\n\tmargin-top: 6px !important;\r\n\tmargin-bottom: 6px !important;\r\n\tmax-width: none !important;\r\n}\r\n\r\ntable.dataTable thead .sorting,\r\ntable.dataTable thead .sorting_asc,\r\ntable.dataTable thead .sorting_desc,\r\ntable.dataTable thead .sorting_asc_disabled,\r\ntable.dataTable thead .sorting_desc_disabled {\r\n\tcursor: pointer;\r\n\tposition: relative;\r\n}\r\n\r\ntable.dataTable thead .sorting:after,\r\ntable.dataTable thead .sorting_asc:after,\r\ntable.dataTable thead .sorting_desc:after {\r\n\tposition: absolute;\r\n\ttop: 8px;\r\n\tright: 8px;\r\n\tdisplay: block;\r\n\tfont-family: 'Glyphicons Halflings Edit';\r\n\topacity: 0.5;\r\n}\r\ntable.dataTable thead .sorting:after {\r\n\topacity: 0.2;\r\n\tcontent: \"\\e150\"; /* sort */\r\n}\r\ntable.dataTable thead .sorting_asc:after {\r\n\tcontent: \"\\e155\"; /* sort-by-attributes */\r\n}\r\ntable.dataTable thead .sorting_desc:after {\r\n\tcontent: \"\\e156\"; /* sort-by-attributes-alt */\r\n}\r\n\r\ntable.dataTable thead .sorting_asc_disabled:after,\r\ntable.dataTable thead .sorting_desc_disabled:after {\r\n\tcolor: #eee;\r\n}\r\n\r\ntable.dataTable thead > tr > th {\r\n\tpadding-left: 8px;\r\n\tpadding-right: 30px;\r\n}\r\n\r\ntable.dataTable th:active {\r\n\toutline: none;\r\n}\r\n\r\n/* Scrolling */\r\ndiv.dataTables_scrollHead table {\r\n\tmargin-bottom: 0 !important;\r\n\tborder-bottom-left-radius: 0;\r\n\tborder-bottom-right-radius: 0;\r\n}\r\n\r\ndiv.dataTables_scrollHead table thead tr:last-child th:first-child,\r\ndiv.dataTables_scrollHead table thead tr:last-child td:first-child {\r\n\tborder-bottom-left-radius: 0 !important;\r\n\tborder-bottom-right-radius: 0 !important;\r\n}\r\n\r\ndiv.dataTables_scrollBody table {\r\n\tborder-top: none;\r\n\tmargin-top: 0 !important;\r\n\tmargin-bottom: 0 !important;\r\n}\r\n\r\ndiv.dataTables_scrollBody tbody tr:first-child th,\r\ndiv.dataTables_scrollBody tbody tr:first-child td {\r\n\tborder-top: none;\r\n}\r\n\r\ndiv.dataTables_scrollFoot table {\r\n\tmargin-top: 0 !important;\r\n\tborder-top: none;\r\n}\r\n\r\n/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column\r\n width calculations when using scrolling impossible to align columns. We have\r\n to use separate\r\n */\r\ntable.table-bordered.dataTable {\r\n\tborder-collapse: separate !important;\r\n}\r\ntable.table-bordered thead th,\r\ntable.table-bordered thead td {\r\n\tborder-left-width: 0;\r\n\tborder-top-width: 0;\r\n}\r\ntable.table-bordered tbody th,\r\ntable.table-bordered tbody td {\r\n\tborder-left-width: 0;\r\n\tborder-bottom-width: 0;\r\n}\r\ntable.table-bordered th:last-child,\r\ntable.table-bordered td:last-child {\r\n\tborder-right-width: 0;\r\n}\r\ndiv.dataTables_scrollHead table.table-bordered {\r\n\tborder-bottom-width: 0;\r\n}\r\n\r\n\r\n\r\n\r\n/*\r\n * TableTools styles\r\n */\r\n.table.dataTable tbody tr.active td,\r\n.table.dataTable tbody tr.active th {\r\n\tbackground-color: #08C;\r\n\tcolor: white;\r\n}\r\n\r\n.table.dataTable tbody tr.active:hover td,\r\n.table.dataTable tbody tr.active:hover th {\r\n\tbackground-color: #0075b0 !important;\r\n}\r\n\r\n.table.dataTable tbody tr.active th > a,\r\n.table.dataTable tbody tr.active td > a {\r\n\tcolor: white;\r\n}\r\n\r\n.table-striped.dataTable tbody tr.active:nth-child(odd) td,\r\n.table-striped.dataTable tbody tr.active:nth-child(odd) th {\r\n\tbackground-color: #017ebc;\r\n}\r\n\r\ntable.DTTT_selectable tbody tr {\r\n\tcursor: pointer;\r\n}\r\n\r\ndiv.DTTT .btn:hover {\r\n\ttext-decoration: none !important;\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu {\r\n z-index: 2003;\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu a {\r\n\tcolor: #333 !important; /* needed only when demo_page.css is included */\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu li {\r\n\tposition: relative;\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu li:hover a {\r\n\tbackground-color: #0088cc;\r\n\tcolor: white !important;\r\n}\r\n\r\ndiv.DTTT_collection_background {\r\n\tz-index: 2002;\t\r\n}\r\n\r\n/* TableTools information display */\r\ndiv.DTTT_print_info {\r\n\tposition: fixed;\r\n\ttop: 50%;\r\n\tleft: 50%;\r\n\twidth: 400px;\r\n\theight: 150px;\r\n\tmargin-left: -200px;\r\n\tmargin-top: -75px;\r\n\ttext-align: center;\r\n\tcolor: #333;\r\n\tpadding: 10px 30px;\r\n\topacity: 0.95;\r\n\r\n\tbackground-color: white;\r\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\r\n\tborder-radius: 6px;\r\n\t\r\n\t-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);\r\n\t box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);\r\n}\r\n\r\ndiv.DTTT_print_info h6 {\r\n\tfont-weight: normal;\r\n\tfont-size: 28px;\r\n\tline-height: 28px;\r\n\tmargin: 1em;\r\n}\r\n\r\ndiv.DTTT_print_info p {\r\n\tfont-size: 14px;\r\n\tline-height: 20px;\r\n}\r\n\r\ndiv.dataTables_processing {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 100%;\r\n height: 60px;\r\n margin-left: -50%;\r\n margin-top: -25px;\r\n padding-top: 20px;\r\n padding-bottom: 20px;\r\n text-align: center;\r\n font-size: 1.2em;\r\n background-color: white;\r\n background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));\r\n background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n}\r\n\r\n\r\n\r\n/*\r\n * FixedColumns styles\r\n */\r\ndiv.DTFC_LeftHeadWrapper table,\r\ndiv.DTFC_LeftFootWrapper table,\r\ndiv.DTFC_RightHeadWrapper table,\r\ndiv.DTFC_RightFootWrapper table,\r\ntable.DTFC_Cloned tr.even {\r\n background-color: white;\r\n margin-bottom: 0;\r\n}\r\n \r\ndiv.DTFC_RightHeadWrapper table ,\r\ndiv.DTFC_LeftHeadWrapper table {\r\n\tborder-bottom: none !important;\r\n margin-bottom: 0 !important;\r\n border-top-right-radius: 0 !important;\r\n border-bottom-left-radius: 0 !important;\r\n border-bottom-right-radius: 0 !important;\r\n}\r\n \r\ndiv.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,\r\ndiv.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,\r\ndiv.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,\r\ndiv.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {\r\n border-bottom-left-radius: 0 !important;\r\n border-bottom-right-radius: 0 !important;\r\n}\r\n \r\ndiv.DTFC_RightBodyWrapper table,\r\ndiv.DTFC_LeftBodyWrapper table {\r\n border-top: none;\r\n margin: 0 !important;\r\n}\r\n \r\ndiv.DTFC_RightBodyWrapper tbody tr:first-child th,\r\ndiv.DTFC_RightBodyWrapper tbody tr:first-child td,\r\ndiv.DTFC_LeftBodyWrapper tbody tr:first-child th,\r\ndiv.DTFC_LeftBodyWrapper tbody tr:first-child td {\r\n border-top: none;\r\n}\r\n \r\ndiv.DTFC_RightFootWrapper table,\r\ndiv.DTFC_LeftFootWrapper table {\r\n border-top: none;\r\n margin-top: 0 !important;\r\n}\r\n\r\n\r\n/*\r\n * FixedHeader styles\r\n */\r\ndiv.FixedHeader_Cloned table {\r\n\tmargin: 0 !important\r\n}\r\n","@font-face {\r\n font-family: 'Glyphicons Halflings Edit';\r\n\r\n src: url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot');\r\n src: url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff') format('woff'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\r\n}\r\n\r\n.glyphicon {\r\n position: relative;\r\n top: 1px;\r\n display: inline-block;\r\n font-family: 'Glyphicons Halflings Edit' !important;\r\n font-style: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@font-face {\r\n font-family: 'FontAwesome Edit';\r\n src: url('src/resources/styles/minton/fonts/fontawesome-webfont.eot?v=4.5.0');\r\n src: url('src/resources/styles/minton/fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('src/resources/styles/minton/fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('src/resources/styles/minton/fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('src/resources/styles/minton/fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('src/resources/styles/minton/fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.fa {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 FontAwesome Edit !important;\r\n font-size: inherit;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@font-face {\r\n font-family: 'Material Design Iconic Font Edit';\r\n src: url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.eot?v=1.0.1');\r\n src: url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.eot?#iefix&v=1.0.1') format('embedded-opentype'), url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.ttf?v=1.0.1') format('truetype'), url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.svg?v=1.0.1#Material-Design-Iconic-Font') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n\r\n.md {\r\n font: normal normal normal 14px/1 'Material Design Iconic Font Edit' !important;\r\n}",".table-green {\r\n color: #00bb00;\r\n}\r\n\r\n.table-red {\r\n color: #cc0000;\r\n}\r\n\r\n.table-grey {\r\n color: #aaaaaa;\r\n}\r\n\r\n.form-control {\r\n \r\n width: 75%;\r\n\ttransition: none;\r\n}",".table-green {\r\n color: #00bb00;\r\n}\r\n\r\n.table-red {\r\n color: #cc0000;\r\n}\r\n\r\n.table-grey {\r\n color: #aaaaaa;\r\n}\r\n\r\n.form-control {\r\n \r\n width: 75%;\r\n\ttransition: none;\r\n}","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Components List\r\n\r\n - Buttons\r\n - Panels\r\n - Portlets\r\n - Checkbox and radio\r\n - Progressbars\r\n - Carousel\r\n - Tables\r\n - Form Elements\r\n - Calendar\r\n - Widgets\r\n =============*/\r\n/* ===========\r\n Buttons\r\n =============*/\r\n.btn {\r\n border-radius: 2px;\r\n padding: 6px 14px;\r\n}\r\n.btn-group-lg > .btn,\r\n.btn-lg {\r\n padding: 10px 16px !important;\r\n font-size: 16px;\r\n}\r\n.btn-group-sm > .btn,\r\n.btn-sm {\r\n padding: 5px 10px !important;\r\n}\r\n.btn-group-xs > .btn,\r\n.btn-xs {\r\n padding: 1px 5px !important;\r\n}\r\n.btn-group .btn + .btn,\r\n.btn-group .btn + .btn-group,\r\n.btn-group .btn-group + .btn,\r\n.btn-group .btn-group + .btn-group {\r\n margin-left: 0px;\r\n}\r\n.btn-group.open .dropdown-toggle {\r\n -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset;\r\n box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset;\r\n}\r\n.btn-primary,\r\n.btn-success,\r\n.btn-info,\r\n.btn-warning,\r\n.btn-danger,\r\n.btn-inverse,\r\n.btn-purple,\r\n.btn-pink {\r\n color: #ffffff !important;\r\n}\r\n.btn-default {\r\n background-color: #dae6ec;\r\n border-color: #dae6ec;\r\n}\r\n.btn-default:focus {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default:hover {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default:active {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default.active,\r\n.btn-default:active,\r\n.open > .dropdown-toggle.btn-default {\r\n background-color: #dae6ec !important;\r\n border-color: #C2CED4 !important;\r\n}\r\n.btn-primary {\r\n background-color: #3bafda !important;\r\n border: 1px solid #3bafda !important;\r\n}\r\n.btn-primary:hover,\r\n.btn-primary:focus,\r\n.btn-primary:active,\r\n.btn-primary.active,\r\n.btn-primary.focus,\r\n.btn-primary:active,\r\n.btn-primary:focus,\r\n.btn-primary:hover,\r\n.open > .dropdown-toggle.btn-primary {\r\n background-color: #28a5d4 !important;\r\n border: 1px solid #28a5d4 !important;\r\n}\r\n.btn-success {\r\n background-color: #00b19d !important;\r\n border: 1px solid #00b19d !important;\r\n}\r\n.btn-success:hover,\r\n.btn-success:focus,\r\n.btn-success:active,\r\n.btn-success.active,\r\n.btn-success.focus,\r\n.btn-success:active,\r\n.btn-success:focus,\r\n.btn-success:hover,\r\n.open > .dropdown-toggle.btn-success {\r\n background-color: #009886 !important;\r\n border: 1px solid #009886 !important;\r\n}\r\n.btn-info {\r\n background-color: #3ddcf7 !important;\r\n border: 1px solid #3ddcf7 !important;\r\n}\r\n.btn-info:hover,\r\n.btn-info:focus,\r\n.btn-info:active,\r\n.btn-info.active,\r\n.btn-info.focus,\r\n.btn-info:active,\r\n.btn-info:focus,\r\n.btn-info:hover,\r\n.open > .dropdown-toggle.btn-info {\r\n background-color: #25d8f6 !important;\r\n border: 1px solid #25d8f6 !important;\r\n}\r\n.btn-warning {\r\n background-color: #ffaa00 !important;\r\n border: 1px solid #ffaa00 !important;\r\n}\r\n.btn-warning:hover,\r\n.btn-warning:focus,\r\n.btn-warning:active,\r\n.btn-warning.active,\r\n.btn-warning.focus,\r\n.btn-warning:active,\r\n.btn-warning:focus,\r\n.btn-warning:hover,\r\n.open > .dropdown-toggle.btn-warning {\r\n background-color: #e69900 !important;\r\n border: 1px solid #e69900 !important;\r\n}\r\n.btn-danger {\r\n background-color: #ef5350 !important;\r\n border: 1px solid #ef5350 !important;\r\n}\r\n.btn-danger:active,\r\n.btn-danger:focus,\r\n.btn-danger:hover,\r\n.btn-danger.active,\r\n.btn-danger.focus,\r\n.btn-danger:active,\r\n.btn-danger:focus,\r\n.btn-danger:hover,\r\n.open > .dropdown-toggle.btn-danger {\r\n background-color: #ed3c39 !important;\r\n border: 1px solid #ed3c39 !important;\r\n}\r\n.btn-inverse {\r\n background-color: #4c5667 !important;\r\n border: 1px solid #4c5667 !important;\r\n}\r\n.btn-inverse:hover,\r\n.btn-inverse:focus,\r\n.btn-inverse:active,\r\n.btn-inverse.active,\r\n.btn-inverse.focus,\r\n.btn-inverse:active,\r\n.btn-inverse:focus,\r\n.btn-inverse:hover,\r\n.open > .dropdown-toggle.btn-inverse {\r\n background-color: #414a58 !important;\r\n border: 1px solid #414a58 !important;\r\n}\r\n.btn-purple {\r\n background-color: #7266ba !important;\r\n border: 1px solid #7266ba !important;\r\n}\r\n.btn-purple:hover,\r\n.btn-purple:focus,\r\n.btn-purple:active {\r\n background-color: #6254b2 !important;\r\n border: 1px solid #6254b2 !important;\r\n}\r\n.btn-pink {\r\n background-color: #f76397 !important;\r\n border: 1px solid #f76397 !important;\r\n}\r\n.btn-pink:hover,\r\n.btn-pink:focus,\r\n.btn-pink:active {\r\n background-color: #f64b87 !important;\r\n border: 1px solid #f64b87 !important;\r\n}\r\n.btn-custom {\r\n border-bottom: 3px solid transparent;\r\n}\r\n.btn-custom.btn-default {\r\n background-color: #dae6ec;\r\n border-bottom: 2px solid #a4b6bf !important;\r\n}\r\n.btn-custom.btn-primary {\r\n border-bottom: 2px solid #2494be !important;\r\n}\r\n.btn-custom.btn-success {\r\n border-bottom: 2px solid #007e70 !important;\r\n}\r\n.btn-custom.btn-info {\r\n border-bottom: 2px solid #08aac6 !important;\r\n}\r\n.btn-custom.btn-warning {\r\n border-bottom: 2px solid #cc8800 !important;\r\n}\r\n.btn-custom.btn-danger {\r\n border-bottom: 2px solid #c71612 !important;\r\n}\r\n.btn-custom.btn-inverse {\r\n border-bottom: 2px solid #21252c !important;\r\n}\r\n.btn-custom.btn-purple {\r\n border-bottom: 2px solid #443a80 !important;\r\n}\r\n.btn-custom.btn-pink {\r\n border-bottom: 2px solid #e80c59 !important;\r\n}\r\n.btn-rounded {\r\n border-radius: 2em;\r\n padding: 6px 18px;\r\n}\r\n.fileupload {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n.fileupload input.upload {\r\n cursor: pointer;\r\n filter: alpha(opacity=0);\r\n font-size: 20px;\r\n margin: 0;\r\n opacity: 0;\r\n padding: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n}\r\n/* ===========\r\n Panels\r\n =============*/\r\n.panel {\r\n border-radius: 0;\r\n margin-bottom: 20px;\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n border-top: none;\r\n}\r\n.panel .panel-body {\r\n padding: 20px;\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n.panel .panel-body p {\r\n margin: 0px;\r\n}\r\n.panel .panel-body p + p {\r\n margin-top: 15px;\r\n}\r\n.panel-heading {\r\n border-radius: 0;\r\n border: none !important;\r\n padding: 10px 20px;\r\n margin: 0 -2px;\r\n}\r\n.panel-default > .panel-heading {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n border-bottom: none;\r\n}\r\n.panel-title {\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.03em;\r\n color: #ffffff;\r\n}\r\n.panel-sub-title {\r\n margin-bottom: 3px;\r\n color: rgba(255, 255, 255, 0.6) !important;\r\n margin-top: -3px;\r\n}\r\n.panel-footer {\r\n background: transparent;\r\n border-top: 1px solid rgba(238, 238, 238, 0.2);\r\n}\r\n.panel-color .panel-title {\r\n color: #ffffff;\r\n}\r\n.panel-primary > .panel-heading {\r\n background-color: #3bafda;\r\n}\r\n.panel-success > .panel-heading {\r\n background-color: #00b19d;\r\n}\r\n.panel-info > .panel-heading {\r\n background-color: #3ddcf7;\r\n}\r\n.panel-warning > .panel-heading {\r\n background-color: #ffaa00;\r\n}\r\n.panel-danger > .panel-heading {\r\n background-color: #ef5350;\r\n}\r\n.panel-purple > .panel-heading {\r\n background-color: #7266ba;\r\n}\r\n.panel-pink > .panel-heading {\r\n background-color: #f76397;\r\n}\r\n.panel-inverse > .panel-heading {\r\n background-color: #4c5667;\r\n}\r\n.panel-border {\r\n border-radius: 3px;\r\n}\r\n.panel-border .panel-heading {\r\n background-color: transparent;\r\n border-top: 3px solid #ccc !important;\r\n border-radius: 3px;\r\n padding: 10px 20px 0px;\r\n}\r\n.panel-border .panel-body {\r\n padding: 15px 20px 20px 20px;\r\n}\r\n.panel-border.panel-primary .panel-heading {\r\n border-color: #3bafda !important;\r\n color: #3bafda !important;\r\n}\r\n.panel-border.panel-success .panel-heading {\r\n border-color: #00b19d !important;\r\n color: #00b19d !important;\r\n}\r\n.panel-border.panel-info .panel-heading {\r\n border-color: #3ddcf7 !important;\r\n color: #3ddcf7 !important;\r\n}\r\n.panel-border.panel-warning .panel-heading {\r\n border-color: #ffaa00 !important;\r\n color: #ffaa00 !important;\r\n}\r\n.panel-border.panel-danger .panel-heading {\r\n border-color: #ef5350 !important;\r\n color: #ef5350 !important;\r\n}\r\n.panel-border.panel-purple .panel-heading {\r\n border-color: #7266ba !important;\r\n color: #7266ba !important;\r\n}\r\n.panel-border.panel-pink .panel-heading {\r\n border-color: #f76397 !important;\r\n color: #f76397 !important;\r\n}\r\n.panel-border.panel-inverse .panel-heading {\r\n border-color: #4c5667 !important;\r\n color: #4c5667 !important;\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse].collapsed:before {\r\n content: '\\f067';\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle.collapsed:before {\r\n content: '\\f067';\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse] {\r\n display: block;\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse]:before {\r\n content: '\\f068';\r\n display: block;\r\n float: right;\r\n font-family: 'FontAwesome';\r\n font-size: 14px;\r\n text-align: right;\r\n width: 25px;\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle {\r\n display: block;\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle:before {\r\n content: '\\f068';\r\n display: block;\r\n float: right;\r\n font-family: 'FontAwesome';\r\n font-size: 14px;\r\n text-align: right;\r\n width: 25px;\r\n}\r\n.panel-group .panel .panel-heading + .panel-collapse .panel-body {\r\n border-top: none;\r\n}\r\n.panel-group .panel-heading {\r\n padding: 12px 26px;\r\n}\r\n.panel-group.panel-group-joined .panel + .panel {\r\n border-top: 1px solid rgba(255, 255, 255, 0.3);\r\n margin-top: 0;\r\n}\r\n.panel-group-joined .panel-group .panel + .panel {\r\n border-top: 1px solid #eeeeee;\r\n margin-top: 0;\r\n}\r\n/* ===========\r\n Portlets\r\n =============*/\r\n.portlet {\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n -moz-transition: all 0.4s;\r\n -o-transition: all 0.4s;\r\n -webkit-transition: all 0.4s;\r\n margin-bottom: 20px;\r\n transition: all 0.4s;\r\n}\r\n.portlet .portlet-heading {\r\n border-radius: 3px;\r\n color: #ffffff;\r\n padding: 12px 20px;\r\n margin: -1px;\r\n}\r\n.portlet .portlet-heading .portlet-title {\r\n color: #ffffff;\r\n float: left;\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.03em;\r\n}\r\n.portlet .portlet-heading .portlet-widgets {\r\n display: inline-block;\r\n float: right;\r\n font-size: 15px;\r\n line-height: 30px;\r\n padding-left: 15px;\r\n position: relative;\r\n text-align: right;\r\n}\r\n.portlet .portlet-heading .portlet-widgets .divider {\r\n margin: 0 5px;\r\n}\r\n.portlet .portlet-heading a {\r\n color: #999999;\r\n}\r\n.portlet .portlet-body {\r\n -moz-border-radius-bottomleft: 5px;\r\n -moz-border-radius-bottomright: 5px;\r\n -webkit-border-bottom-left-radius: 5px;\r\n -webkit-border-bottom-right-radius: 5px;\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n padding: 15px;\r\n color: #98a6ad;\r\n}\r\n.portlet .portlet-heading .portlet-widgets .collapsed .ion-minus-round:before {\r\n content: \"\\f217\" !important;\r\n}\r\n.portlet .portlet-heading.bg-purple a,\r\n.portlet .portlet-heading.bg-info a,\r\n.portlet .portlet-heading.bg-success a,\r\n.portlet .portlet-heading.bg-primary a,\r\n.portlet .portlet-heading.bg-danger a,\r\n.portlet .portlet-heading.bg-warning a,\r\n.portlet .portlet-heading.bg-inverse a,\r\n.portlet .portlet-heading.bg-pink a {\r\n color: #ffffff;\r\n}\r\n.panel-disabled {\r\n background: rgba(238, 238, 238, 0.2);\r\n cursor: progress;\r\n bottom: 20px;\r\n left: 10px;\r\n position: absolute;\r\n right: 10px;\r\n top: 0;\r\n}\r\n.loader-1 {\r\n width: 30px;\r\n height: 30px;\r\n background-color: #3bafda;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;\r\n animation: sk-rotateplane 1.2s infinite ease-in-out;\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin-left: -15px;\r\n margin-top: -15px;\r\n}\r\n@-webkit-keyframes sk-rotateplane {\r\n 0% {\r\n -webkit-transform: perspective(120px);\r\n }\r\n 50% {\r\n -webkit-transform: perspective(120px) rotateY(180deg);\r\n }\r\n 100% {\r\n -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg);\r\n }\r\n}\r\n@keyframes sk-rotateplane {\r\n 0% {\r\n transform: perspective(120px) rotateX(0deg) rotateY(0deg);\r\n -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);\r\n }\r\n 50% {\r\n transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n }\r\n 100% {\r\n transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n }\r\n}\r\n/* ===========\r\n Checkbox and Radio\r\n =============*/\r\n.checkbox {\r\n padding-left: 20px;\r\n}\r\n.checkbox label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.checkbox label::before {\r\n -o-transition: 0.3s ease-in-out;\r\n -webkit-transition: 0.3s ease-in-out;\r\n background-color: transparent;\r\n border-radius: 3px;\r\n border: 2px solid #98a6ad;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n position: absolute;\r\n transition: 0.3s ease-in-out;\r\n width: 17px;\r\n outline: none !important;\r\n}\r\n.checkbox label::after {\r\n color: #eeeeee;\r\n display: inline-block;\r\n font-size: 11px;\r\n height: 16px;\r\n left: 0;\r\n margin-left: -20px;\r\n padding-left: 3px;\r\n padding-top: 1px;\r\n position: absolute;\r\n top: 0;\r\n width: 16px;\r\n}\r\n.checkbox input[type=\"checkbox\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.checkbox input[type=\"checkbox\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.checkbox input[type=\"checkbox\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: none;\r\n}\r\n.checkbox input[type=\"checkbox\"]:checked + label::after {\r\n content: \"\\f00c\";\r\n font-family: 'FontAwesome';\r\n}\r\n.checkbox input[type=\"checkbox\"]:disabled + label::before {\r\n background-color: #eeeeee;\r\n cursor: not-allowed;\r\n}\r\n.checkbox.checkbox-circle label::before {\r\n border-radius: 50%;\r\n}\r\n.checkbox.checkbox-inline {\r\n margin-top: 0;\r\n}\r\n.checkbox.checkbox-single label {\r\n height: 17px;\r\n}\r\n.checkbox-primary input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.checkbox-primary input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-danger input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #ef5350;\r\n border-color: #ef5350;\r\n}\r\n.checkbox-danger input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-info input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3ddcf7;\r\n border-color: #3ddcf7;\r\n}\r\n.checkbox-info input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-warning input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #ffaa00;\r\n border-color: #ffaa00;\r\n}\r\n.checkbox-warning input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-success input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #00b19d;\r\n border-color: #00b19d;\r\n}\r\n.checkbox-success input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-purple input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #7266ba;\r\n border-color: #7266ba;\r\n}\r\n.checkbox-purple input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-pink input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #f76397;\r\n border-color: #f76397;\r\n}\r\n.checkbox-pink input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-inverse input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #4c5667;\r\n border-color: #4c5667;\r\n}\r\n.checkbox-inverse input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.radio {\r\n padding-left: 20px;\r\n}\r\n.radio label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.radio label::before {\r\n -o-transition: border 0.5s ease-in-out;\r\n -webkit-transition: border 0.5s ease-in-out;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border: 2px solid #98a6ad;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n outline: none !important;\r\n position: absolute;\r\n transition: border 0.5s ease-in-out;\r\n width: 17px;\r\n}\r\n.radio label::after {\r\n -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n -ms-transform: scale(0, 0);\r\n -o-transform: scale(0, 0);\r\n -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n -webkit-transform: scale(0, 0);\r\n -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n background-color: #98a6ad;\r\n border-radius: 50%;\r\n content: \" \";\r\n display: inline-block;\r\n height: 11px;\r\n left: 3px;\r\n margin-left: -20px;\r\n position: absolute;\r\n top: 3px;\r\n transform: scale(0, 0);\r\n transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n width: 11px;\r\n}\r\n.radio input[type=\"radio\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.radio input[type=\"radio\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.radio input[type=\"radio\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n outline: thin dotted;\r\n}\r\n.radio input[type=\"radio\"]:checked + label::after {\r\n -ms-transform: scale(1, 1);\r\n -o-transform: scale(1, 1);\r\n -webkit-transform: scale(1, 1);\r\n transform: scale(1, 1);\r\n}\r\n.radio input[type=\"radio\"]:disabled + label::before {\r\n cursor: not-allowed;\r\n}\r\n.radio.radio-inline {\r\n margin-top: 0;\r\n}\r\n.radio.radio-single label {\r\n height: 17px;\r\n}\r\n.radio-primary input[type=\"radio\"] + label::after {\r\n background-color: #3bafda;\r\n}\r\n.radio-primary input[type=\"radio\"]:checked + label::before {\r\n border-color: #3bafda;\r\n}\r\n.radio-primary input[type=\"radio\"]:checked + label::after {\r\n background-color: #3bafda;\r\n}\r\n.radio-danger input[type=\"radio\"] + label::after {\r\n background-color: #ef5350;\r\n}\r\n.radio-danger input[type=\"radio\"]:checked + label::before {\r\n border-color: #ef5350;\r\n}\r\n.radio-danger input[type=\"radio\"]:checked + label::after {\r\n background-color: #ef5350;\r\n}\r\n.radio-info input[type=\"radio\"] + label::after {\r\n background-color: #3ddcf7;\r\n}\r\n.radio-info input[type=\"radio\"]:checked + label::before {\r\n border-color: #3ddcf7;\r\n}\r\n.radio-info input[type=\"radio\"]:checked + label::after {\r\n background-color: #3ddcf7;\r\n}\r\n.radio-warning input[type=\"radio\"] + label::after {\r\n background-color: #ffaa00;\r\n}\r\n.radio-warning input[type=\"radio\"]:checked + label::before {\r\n border-color: #ffaa00;\r\n}\r\n.radio-warning input[type=\"radio\"]:checked + label::after {\r\n background-color: #ffaa00;\r\n}\r\n.radio-success input[type=\"radio\"] + label::after {\r\n background-color: #00b19d;\r\n}\r\n.radio-success input[type=\"radio\"]:checked + label::before {\r\n border-color: #00b19d;\r\n}\r\n.radio-success input[type=\"radio\"]:checked + label::after {\r\n background-color: #00b19d;\r\n}\r\n.radio-purple input[type=\"radio\"] + label::after {\r\n background-color: #7266ba;\r\n}\r\n.radio-purple input[type=\"radio\"]:checked + label::before {\r\n border-color: #7266ba;\r\n}\r\n.radio-purple input[type=\"radio\"]:checked + label::after {\r\n background-color: #7266ba;\r\n}\r\n.radio-pink input[type=\"radio\"] + label::after {\r\n background-color: #f76397;\r\n}\r\n.radio-pink input[type=\"radio\"]:checked + label::before {\r\n border-color: #f76397;\r\n}\r\n.radio-pink input[type=\"radio\"]:checked + label::after {\r\n background-color: #f76397;\r\n}\r\n.radio-inverse input[type=\"radio\"] + label::after {\r\n background-color: #4c5667;\r\n}\r\n.radio-inverse input[type=\"radio\"]:checked + label::before {\r\n border-color: #4c5667;\r\n}\r\n.radio-inverse input[type=\"radio\"]:checked + label::after {\r\n background-color: #4c5667;\r\n}\r\n/* ===========\r\n Progressbars\r\n =============*/\r\n.progress {\r\n -webkit-box-shadow: none !important;\r\n background-color: rgba(152, 166, 173, 0.4);\r\n box-shadow: none !important;\r\n height: 10px;\r\n margin-bottom: 18px;\r\n overflow: hidden;\r\n}\r\n.progress-bar {\r\n box-shadow: none;\r\n font-size: 8px;\r\n font-weight: 600;\r\n line-height: 12px;\r\n}\r\n.progress.progress-sm {\r\n height: 5px !important;\r\n}\r\n.progress.progress-sm .progress-bar {\r\n font-size: 8px;\r\n line-height: 5px;\r\n}\r\n.progress.progress-md {\r\n height: 15px !important;\r\n}\r\n.progress.progress-md .progress-bar {\r\n font-size: 10.8px;\r\n line-height: 14.4px;\r\n}\r\n.progress.progress-lg {\r\n height: 20px !important;\r\n}\r\n.progress.progress-lg .progress-bar {\r\n font-size: 12px;\r\n line-height: 20px;\r\n}\r\n.progress-bar-primary {\r\n background-color: #3bafda;\r\n}\r\n.progress-bar-success {\r\n background-color: #00b19d;\r\n}\r\n.progress-bar-info {\r\n background-color: #3ddcf7;\r\n}\r\n.progress-bar-warning {\r\n background-color: #ffaa00;\r\n}\r\n.progress-bar-danger {\r\n background-color: #ef5350;\r\n}\r\n.progress-bar-inverse {\r\n background-color: #4c5667;\r\n}\r\n.progress-bar-purple {\r\n background-color: #7266ba;\r\n}\r\n.progress-bar-pink {\r\n background-color: #f76397;\r\n}\r\n.progress-animated {\r\n -webkit-animation-duration: 5s;\r\n -webkit-animation-name: animationProgress;\r\n -webkit-transition: 5s all;\r\n animation-duration: 5s;\r\n animation-name: animationProgress;\r\n transition: 5s all;\r\n}\r\n/* ===========\r\n Carousel\r\n =============*/\r\n.carousel-control {\r\n width: 10%;\r\n}\r\n.carousel-control span {\r\n position: absolute;\r\n top: 50%;\r\n /* pushes the icon in the middle of the height */\r\n z-index: 5;\r\n display: inline-block;\r\n font-size: 30px;\r\n}\r\n.carousel-indicators li {\r\n border: 2px solid #ffffff;\r\n}\r\n/* ===========\r\n Tables\r\n =============*/\r\n.table {\r\n margin-bottom: 10px;\r\n}\r\ntbody {\r\n color: rgba(255, 255, 255, 0.4);\r\n}\r\nth {\r\n color: rgba(255, 255, 255, 0.7);\r\n font-size: 15px;\r\n font-weight: 500;\r\n}\r\n.table > tbody > tr > td,\r\n.table > tbody > tr > th,\r\n.table > tfoot > tr > td,\r\n.table > tfoot > tr > th,\r\n.table > thead > tr > td,\r\n.table > thead > tr > th {\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.table > thead > tr > th {\r\n border-bottom: 2px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.table-hover > tbody > tr:hover {\r\n background-color: #323b44;\r\n}\r\n.table-striped > tbody > tr:nth-of-type(odd),\r\n.table-hover > tbody > tr:hover,\r\n.table > thead > tr > td.active,\r\n.table > tbody > tr > td.active,\r\n.table > tfoot > tr > td.active,\r\n.table > thead > tr > th.active,\r\n.table > tbody > tr > th.active,\r\n.table > tfoot > tr > th.active,\r\n.table > thead > tr.active > td,\r\n.table > tbody > tr.active > td,\r\n.table > tfoot > tr.active > td,\r\n.table > thead > tr.active > th,\r\n.table > tbody > tr.active > th,\r\n.table > tfoot > tr.active > th {\r\n background-color: #323b44 !important;\r\n}\r\n.table > tbody > tr.success > td,\r\n.table > tbody > tr.success > th,\r\n.table > tbody > tr > td.success,\r\n.table > tbody > tr > th.success,\r\n.table > tfoot > tr.success > td,\r\n.table > tfoot > tr.success > th,\r\n.table > tfoot > tr > td.success,\r\n.table > tfoot > tr > th.success,\r\n.table > thead > tr.success > td,\r\n.table > thead > tr.success > th,\r\n.table > thead > tr > td.success,\r\n.table > thead > tr > th.success {\r\n background-color: rgba(0, 177, 157, 0.15);\r\n}\r\n.table > tbody > tr.info > td,\r\n.table > tbody > tr.info > th,\r\n.table > tbody > tr > td.info,\r\n.table > tbody > tr > th.info,\r\n.table > tfoot > tr.info > td,\r\n.table > tfoot > tr.info > th,\r\n.table > tfoot > tr > td.info,\r\n.table > tfoot > tr > th.info,\r\n.table > thead > tr.info > td,\r\n.table > thead > tr.info > th,\r\n.table > thead > tr > td.info,\r\n.table > thead > tr > th.info {\r\n background-color: rgba(61, 220, 247, 0.15);\r\n}\r\n.table > tbody > tr.warning > td,\r\n.table > tbody > tr.warning > th,\r\n.table > tbody > tr > td.warning,\r\n.table > tbody > tr > th.warning,\r\n.table > tfoot > tr.warning > td,\r\n.table > tfoot > tr.warning > th,\r\n.table > tfoot > tr > td.warning,\r\n.table > tfoot > tr > th.warning,\r\n.table > thead > tr.warning > td,\r\n.table > thead > tr.warning > th,\r\n.table > thead > tr > td.warning,\r\n.table > thead > tr > th.warning {\r\n background-color: rgba(255, 170, 0, 0.15);\r\n}\r\n.table > tbody > tr.danger > td,\r\n.table > tbody > tr.danger > th,\r\n.table > tbody > tr > td.danger,\r\n.table > tbody > tr > th.danger,\r\n.table > tfoot > tr.danger > td,\r\n.table > tfoot > tr.danger > th,\r\n.table > tfoot > tr > td.danger,\r\n.table > tfoot > tr > th.danger,\r\n.table > thead > tr.danger > td,\r\n.table > thead > tr.danger > th,\r\n.table > thead > tr > td.danger,\r\n.table > thead > tr > th.danger {\r\n background-color: rgba(239, 83, 80, 0.15);\r\n}\r\n.table-bordered {\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.table-striped > tbody > tr:nth-of-type(odd) {\r\n background-color: #323b44;\r\n}\r\n.table-bordered > thead > tr > th,\r\n.table-bordered > tbody > tr > th,\r\n.table-bordered > tfoot > tr > th,\r\n.table-bordered > thead > tr > td,\r\n.table-bordered > tbody > tr > td,\r\n.table-bordered > tfoot > tr > td {\r\n border: 1px solid rgba(255, 255, 255, 0.2);\r\n}\r\n.modal-block {\r\n background: transparent;\r\n margin: 40px auto;\r\n max-width: 600px;\r\n padding: 0;\r\n position: relative;\r\n text-align: left;\r\n}\r\n/* Data table */\r\n#datatable-editable .actions a {\r\n padding: 5px;\r\n}\r\n#datatable-editable .form-control {\r\n background-color: transparent;\r\n width: 100%;\r\n}\r\n#datatable-editable .fa-trash-o {\r\n color: #ef5350;\r\n}\r\n#datatable-editable .fa-times {\r\n color: #ef5350;\r\n}\r\n#datatable-editable .fa-pencil {\r\n color: #29b6f6;\r\n}\r\n#datatable-editable .fa-save {\r\n color: #33b86c;\r\n}\r\n#datatable td {\r\n font-weight: normal;\r\n}\r\ndiv.dataTables_paginate ul.pagination {\r\n margin-top: 30px;\r\n}\r\ndiv.dataTables_info {\r\n padding-top: 38px;\r\n}\r\n.dt-buttons {\r\n float: left;\r\n}\r\ndiv#datatable-buttons_info {\r\n float: left;\r\n}\r\n/* Fixed Header */\r\n.fixedHeader-floating {\r\n top: 70px !important;\r\n}\r\n/* Key table */\r\ntable.dataTable th.focus,\r\ntable.dataTable td.focus {\r\n outline: 3px solid #3bafda !important;\r\n outline-offset: -1px;\r\n}\r\n.fixedHeader-floating {\r\n border: none !important;\r\n}\r\n.fixedHeader-floating .sorting,\r\n.fixedHeader-floating .sorting_asc {\r\n background-color: #323b44;\r\n border-color: rgba(238, 238, 238, 0.3);\r\n}\r\ndiv.DTS tbody tr.even {\r\n background-color: #272e35;\r\n}\r\ndiv.DTS div.dataTables_scrollBody {\r\n background: none !important;\r\n}\r\n/* Responsive table */\r\n.table-rep-plugin .table-responsive {\r\n border: none !important;\r\n}\r\n.table-rep-plugin .dropdown-menu li.checkbox-row {\r\n color: #ffffff !important;\r\n background-color: transparent !important;\r\n}\r\n.table-rep-plugin tbody th {\r\n font-size: 14px;\r\n font-weight: normal;\r\n}\r\n.table-rep-plugin .checkbox-row {\r\n padding-left: 40px;\r\n}\r\n.table-rep-plugin .checkbox-row label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.table-rep-plugin .checkbox-row label::before {\r\n -o-transition: 0.3s ease-in-out;\r\n -webkit-transition: 0.3s ease-in-out;\r\n background-color: #ffffff;\r\n border-radius: 3px;\r\n border: 1px solid #cccccc;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n position: absolute;\r\n transition: 0.3s ease-in-out;\r\n width: 17px;\r\n outline: none !important;\r\n}\r\n.table-rep-plugin .checkbox-row label::after {\r\n color: #555555;\r\n display: inline-block;\r\n font-size: 11px;\r\n height: 16px;\r\n left: 0;\r\n margin-left: -20px;\r\n padding-left: 3px;\r\n padding-top: 1px;\r\n position: absolute;\r\n top: -1px;\r\n width: 16px;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: none;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::after {\r\n content: \"\\f00c\";\r\n font-family: 'FontAwesome';\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:disabled + label::before {\r\n background-color: #eeeeee;\r\n cursor: not-allowed;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n/* Tablesaw */\r\n.tablesaw thead {\r\n background: rgba(255, 255, 255, 0.05);\r\n background-image: none;\r\n border: none;\r\n}\r\n.tablesaw thead th {\r\n text-shadow: none;\r\n letter-spacing: 0.06em;\r\n color: rgba(255, 255, 255, 0.7) !important;\r\n}\r\n.tablesaw thead tr:first-child th {\r\n padding-top: 1.1em;\r\n padding-bottom: 0.9em;\r\n font-weight: 600;\r\n font-family: inherit;\r\n border: none;\r\n}\r\n.tablesaw td,\r\n.tablesaw tbody th {\r\n font-size: inherit;\r\n line-height: inherit;\r\n padding: 10px !important;\r\n}\r\n.tablesaw-stack tbody tr,\r\n.tablesaw tbody tr {\r\n border-bottom: none;\r\n}\r\n.tablesaw-swipe .tablesaw-cell-persist {\r\n border-right: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after,\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {\r\n font-family: FontAwesome;\r\n font-size: 10px;\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after {\r\n content: \"\\f176\";\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {\r\n content: \"\\f175\";\r\n}\r\n.tablesaw-bar .btn-select.btn-small:after,\r\n.tablesaw-bar .btn-select.btn-micro:after {\r\n font-size: 8px;\r\n padding-right: 10px;\r\n}\r\n.tablesaw-swipe .tablesaw-cell-persist {\r\n box-shadow: none;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn {\r\n text-shadow: none;\r\n background-image: none;\r\n color: rgba(255, 255, 255, 0.7) !important;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn.btn-select:hover {\r\n background: transparent;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn:hover,\r\n.tablesaw-enhanced .tablesaw-bar .btn:focus,\r\n.tablesaw-enhanced .tablesaw-bar .btn:active {\r\n color: #3bafda !important;\r\n background-color: #f5f5f5;\r\n outline: none !important;\r\n box-shadow: none !important;\r\n background-image: none;\r\n}\r\n/* Footable */\r\n.footable-odd {\r\n background-color: #2e363e;\r\n}\r\n/* Responsive table */\r\ntable.focus-on tbody tr.unfocused th,\r\ntable.focus-on tbody tr.unfocused td {\r\n color: rgba(255, 255, 255, 0.25);\r\n}\r\ntable.focus-on tbody tr.focused th {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\ntable.focus-on tbody tr.focused td {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.table-rep-plugin .sticky-table-header.fixed-solution {\r\n top: 70px !important;\r\n background-color: #272e35;\r\n border: 0;\r\n}\r\n/* =============\r\n Form elements\r\n ============= */\r\n.error {\r\n color: #ef5350;\r\n font-size: 12px;\r\n font-weight: 500;\r\n}\r\n.parsley-error {\r\n border-color: #ef5350 !important;\r\n}\r\n.parsley-errors-list {\r\n display: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n.parsley-errors-list.filled {\r\n display: block;\r\n}\r\n.parsley-errors-list > li {\r\n font-size: 12px;\r\n list-style: none;\r\n color: #f6504d;\r\n}\r\n/* Datepicker */\r\n.datepicker {\r\n padding: 8px;\r\n}\r\n.datepicker th {\r\n font-size: 14px !important;\r\n}\r\n.datepicker table tr td.today,\r\n.datepicker table tr td.today:hover,\r\n.datepicker table tr td.today.disabled,\r\n.datepicker table tr td.today.disabled:hover,\r\n.datepicker table tr td.selected,\r\n.datepicker table tr td.selected:hover,\r\n.datepicker table tr td.selected.disabled,\r\n.datepicker table tr td.selected.disabled:hover,\r\n.datepicker table tr td span.active,\r\n.datepicker table tr td span.active:hover,\r\n.datepicker table tr td span.active.disabled,\r\n.datepicker table tr td span.active.disabled:hover {\r\n background-image: none;\r\n}\r\n.datepicker table tr td span.active:hover,\r\n.datepicker table tr td span.active:hover:hover,\r\n.datepicker table tr td span.active.disabled:hover,\r\n.datepicker table tr td span.active.disabled:hover:hover,\r\n.datepicker table tr td span.active:active,\r\n.datepicker table tr td span.active:hover:active,\r\n.datepicker table tr td span.active.disabled:active,\r\n.datepicker table tr td span.active.disabled:hover:active,\r\n.datepicker table tr td span.active.active,\r\n.datepicker table tr td span.active:hover.active,\r\n.datepicker table tr td span.active.disabled.active,\r\n.datepicker table tr td span.active.disabled:hover.active,\r\n.datepicker table tr td span.active.disabled,\r\n.datepicker table tr td span.active:hover.disabled,\r\n.datepicker table tr td span.active.disabled.disabled,\r\n.datepicker table tr td span.active.disabled:hover.disabled,\r\n.datepicker table tr td span.active[disabled],\r\n.datepicker table tr td span.active:hover[disabled],\r\n.datepicker table tr td span.active.disabled[disabled],\r\n.datepicker table tr td span.active.disabled:hover[disabled] {\r\n background-color: #3bafda;\r\n}\r\n.datepicker table tr td.active,\r\n.datepicker table tr td.active:hover,\r\n.datepicker table tr td.active.disabled,\r\n.datepicker table tr td.active.disabled:hover {\r\n background-color: #3bafda !important;\r\n background-image: none;\r\n box-shadow: none;\r\n text-shadow: none;\r\n}\r\n.datepicker thead tr:first-child th:hover,\r\n.datepicker tfoot tr th:hover {\r\n background-color: #1c2127;\r\n}\r\n.datepicker-inline {\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.daterangepicker td.active,\r\n.daterangepicker td.active:hover {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.daterangepicker .input-mini.active {\r\n border: 1px solid #AAAAAA;\r\n}\r\n.daterangepicker .ranges li {\r\n -webkit-border-radius: 2px;\r\n border-radius: 2px;\r\n -moz-border-radius: 2px;\r\n background-clip: padding-box;\r\n color: #98a6ad;\r\n font-weight: 600;\r\n font-size: 12px;\r\n border-color: #323b44;\r\n background-color: #323b44;\r\n}\r\n.daterangepicker select.hourselect,\r\n.daterangepicker select.minuteselect,\r\n.daterangepicker select.secondselect,\r\n.daterangepicker select.ampmselect {\r\n border: 1px solid #e3e3e3;\r\n padding: 2px;\r\n width: 60px;\r\n}\r\n.daterangepicker .ranges li.active,\r\n.daterangepicker .ranges li:hover {\r\n background-color: #3bafda;\r\n border: 1px solid #3bafda;\r\n}\r\n.search-input {\r\n margin-bottom: 10px;\r\n}\r\n.ms-selectable {\r\n box-shadow: none;\r\n outline: none !important;\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n}\r\n.ms-container .ms-selectable li.ms-hover {\r\n background-color: #3bafda;\r\n}\r\n.ms-container .ms-selection li.ms-hover {\r\n background-color: #3bafda;\r\n}\r\n.note-editor {\r\n border: 2px solid rgba(255, 255, 255, 0.2);\r\n position: relative;\r\n color: #98a6ad;\r\n}\r\n.note-editor .note-toolbar {\r\n background-color: transparent;\r\n border-bottom: 1px solid #eeeeee;\r\n margin: 0;\r\n}\r\n.note-editor .note-statusbar {\r\n background-color: transparent;\r\n}\r\n.note-editor .note-statusbar .note-resizebar {\r\n border-top: none;\r\n height: 15px;\r\n padding-top: 3px;\r\n}\r\n.note-editor .note-editing-area .note-editable {\r\n background: transparent;\r\n color: #98a6ad;\r\n}\r\n.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,\r\n.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title,\r\n.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,\r\n.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {\r\n color: #323b44;\r\n}\r\n.note-popover .popover .popover-content {\r\n padding: 5px 0 10px 5px;\r\n}\r\n.note-toolbar {\r\n padding: 5px 0 10px 5px;\r\n}\r\n/* Timepicker */\r\n.bootstrap-timepicker-widget table td a:hover {\r\n background-color: transparent;\r\n border-color: transparent;\r\n border-radius: 4px;\r\n color: #3bafda;\r\n text-decoration: none;\r\n}\r\n.editor-horizontal .popover-content {\r\n padding: 9px 30px;\r\n}\r\n.datepicker table tr td.active,\r\n.datepicker table tr td.active:hover,\r\n.datepicker table tr td.active.disabled,\r\n.datepicker table tr td.active.disabled:hover {\r\n background-color: #3bafda !important;\r\n background-image: none;\r\n box-shadow: none;\r\n}\r\n/* Dropzone */\r\n.dropzone {\r\n min-height: 230px;\r\n border: 2px dashed rgba(255, 255, 255, 0.2);\r\n background: transparent;\r\n border-radius: 6px;\r\n}\r\n.dropzone .dz-message {\r\n font-size: 30px;\r\n}\r\n/* =============\r\n Calendar\r\n============= */\r\n.calendar {\r\n float: left;\r\n margin-bottom: 0px;\r\n}\r\n.fc-view {\r\n margin-top: 30px;\r\n}\r\n.none-border .modal-footer {\r\n border-top: none;\r\n}\r\n.fc-toolbar {\r\n margin-bottom: 5px;\r\n margin-top: 15px;\r\n}\r\n.fc-toolbar h2 {\r\n font-size: 18px;\r\n font-weight: 600;\r\n line-height: 30px;\r\n text-transform: uppercase;\r\n}\r\n.fc-day {\r\n background: transparent;\r\n}\r\n.fc-toolbar .fc-state-active,\r\n.fc-toolbar .ui-state-active,\r\n.fc-toolbar button:focus,\r\n.fc-toolbar button:hover,\r\n.fc-toolbar .ui-state-hover {\r\n z-index: 0;\r\n}\r\n.fc-widget-header {\r\n border: 1px solid #f5f5f5;\r\n}\r\n.fc-widget-content {\r\n border: 1px solid #f5f5f5;\r\n}\r\n.fc th.fc-widget-header {\r\n background: rgba(255, 255, 255, 0.2);\r\n font-size: 14px;\r\n line-height: 20px;\r\n padding: 10px 0px;\r\n text-transform: uppercase;\r\n}\r\n.fc-unthemed th,\r\n.fc-unthemed td,\r\n.fc-unthemed thead,\r\n.fc-unthemed tbody,\r\n.fc-unthemed .fc-divider,\r\n.fc-unthemed .fc-row,\r\n.fc-unthemed .fc-popover {\r\n background-color: transparent;\r\n border-color: rgba(255, 255, 255, 0.1);\r\n}\r\n.fc-button {\r\n background: #ffffff;\r\n border: 1px solid #f5f5f5;\r\n color: #555555;\r\n text-transform: capitalize;\r\n}\r\n.fc-text-arrow {\r\n font-family: inherit;\r\n font-size: 16px;\r\n}\r\n.fc-state-hover {\r\n background: #F5F5F5;\r\n}\r\n.fc-state-highlight {\r\n background: #f0f0f0;\r\n}\r\n.fc-cell-overlay {\r\n background: #f0f0f0;\r\n}\r\n.fc-unthemed .fc-today {\r\n background: transparent;\r\n}\r\n.fc-event {\r\n border-radius: 2px;\r\n border: none;\r\n cursor: move;\r\n font-size: 13px;\r\n margin: 5px 7px;\r\n padding: 5px 5px;\r\n text-align: center;\r\n}\r\n.external-event {\r\n color: #ffffff;\r\n cursor: move;\r\n margin: 10px 0;\r\n padding: 6px 10px;\r\n}\r\n.fc-basic-view td.fc-week-number span {\r\n padding-right: 5px;\r\n}\r\n.fc-basic-view td.fc-day-number {\r\n padding-right: 5px;\r\n}\r\n/* ===========\r\n Widgets\r\n =============*/\r\n/* Inbox-widget */\r\n.inbox-widget .inbox-item {\r\n border-bottom: 1px solid #323b44;\r\n overflow: hidden;\r\n padding: 10px 0;\r\n position: relative;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-img {\r\n display: block;\r\n float: left;\r\n margin-right: 15px;\r\n width: 40px;\r\n}\r\n.inbox-widget .inbox-item img {\r\n width: 40px;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-author {\r\n color: #f5f5f5;\r\n display: block;\r\n margin: 0;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-text {\r\n color: #98a6ad;\r\n display: block;\r\n font-size: 12px;\r\n margin: 0;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-date {\r\n color: #98a6ad;\r\n font-size: 11px;\r\n position: absolute;\r\n right: 7px;\r\n top: 2px;\r\n}\r\n/* Chat widget */\r\n.conversation-list {\r\n list-style: none;\r\n height: 332px;\r\n padding: 0px 20px;\r\n}\r\n.conversation-list li {\r\n margin-bottom: 24px;\r\n}\r\n.conversation-list .chat-avatar {\r\n display: inline-block;\r\n float: left;\r\n text-align: center;\r\n width: 42px;\r\n}\r\n.conversation-list .chat-avatar img {\r\n border-radius: 100%;\r\n width: 100%;\r\n}\r\n.conversation-list .chat-avatar i {\r\n font-size: 12px;\r\n font-style: normal;\r\n color: #98a6ad;\r\n}\r\n.conversation-list .ctext-wrap {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n background: rgba(255, 255, 255, 0.1);\r\n border-radius: 3px;\r\n display: inline-block;\r\n padding: 12px;\r\n position: relative;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n}\r\n.conversation-list .ctext-wrap i {\r\n color: #f5f5f5;\r\n display: block;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: bold;\r\n position: relative;\r\n}\r\n.conversation-list .ctext-wrap p {\r\n margin: 0px;\r\n padding-top: 3px;\r\n color: #98a6ad;\r\n}\r\n.conversation-list .ctext-wrap:after {\r\n right: 100%;\r\n top: 0%;\r\n border: solid transparent;\r\n content: \" \";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-top-color: rgba(255, 255, 255, 0.1);\r\n border-width: 8px;\r\n margin-left: -1px;\r\n border-right-color: rgba(255, 255, 255, 0.1);\r\n}\r\n.conversation-list .conversation-text {\r\n display: inline-block;\r\n float: left;\r\n font-size: 12px;\r\n margin-left: 12px;\r\n width: 70%;\r\n}\r\n.conversation-list .odd .chat-avatar {\r\n float: right !important;\r\n}\r\n.conversation-list .odd .conversation-text {\r\n float: right !important;\r\n margin-right: 12px;\r\n text-align: right;\r\n width: 70% !important;\r\n}\r\n.conversation-list .odd .ctext-wrap:after {\r\n border-color: rgba(238, 238, 242, 0) !important;\r\n border-left-color: rgba(255, 255, 255, 0.1) !important;\r\n border-top-color: rgba(255, 255, 255, 0.1) !important;\r\n left: 100% !important;\r\n margin-right: -1px;\r\n}\r\n.chat-send {\r\n padding-left: 0px;\r\n padding-right: 30px;\r\n}\r\n.chat-send button {\r\n width: 100%;\r\n}\r\n.chat-inputbar {\r\n padding-left: 30px;\r\n}\r\n/* Todos widget */\r\n#todo-message {\r\n font-size: 16px;\r\n}\r\n.todo-list li {\r\n border-radius: 0px;\r\n border: 0px;\r\n margin: 0px;\r\n padding: 1px;\r\n color: #98a6ad;\r\n}\r\n.todo-list li:last-of-type {\r\n border-bottom: none;\r\n}\r\n.todo-list li:hover {\r\n background: transparent !important;\r\n}\r\n.todo-send {\r\n padding-left: 0px;\r\n}\r\n/* Widget-chart */\r\n.widget-chart ul li {\r\n width: 31.5%;\r\n display: inline-block;\r\n padding: 0px;\r\n}\r\n.widget-panel {\r\n padding: 30px 20px;\r\n padding-left: 30px;\r\n border-radius: 4px;\r\n position: relative;\r\n margin-bottom: 20px;\r\n}\r\n.widget-panel i {\r\n font-size: 60px;\r\n padding: 30px;\r\n background: rgba(255, 255, 255, 0.2);\r\n position: absolute;\r\n right: 0px;\r\n bottom: 0px;\r\n top: 0px;\r\n line-height: 60px;\r\n}\r\n.widget-user {\r\n min-height: 112px;\r\n}\r\n.widget-user img {\r\n height: 72px;\r\n float: left;\r\n}\r\n.widget-user .wid-u-info {\r\n margin-left: 90px;\r\n}\r\n.widget-user .wid-u-info p {\r\n white-space: nowrap;\r\n display: block;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.widget-simple-chart .circliful-chart {\r\n float: left;\r\n margin-top: -5px;\r\n}\r\n.widget-icon i {\r\n float: left;\r\n font-size: 48px;\r\n}\r\n.widget-icon .wid-icon-info {\r\n margin-left: 80px;\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Core file List\r\n\r\n - Common\r\n - Bootstrap custom\r\n - Helper class\r\n - Waves effect\r\n - Animation\r\n - Print css\r\n =============*/\r\n/* ===========\r\n Common\r\n =============*/\r\nbody {\r\n background: #2d353d;\r\n font-family: 'Roboto', sans-serif;\r\n margin: 0;\r\n color: #98a6ad;\r\n overflow-x: hidden !important;\r\n}\r\nhtml {\r\n overflow-x: hidden;\r\n position: relative;\r\n min-height: 100%;\r\n background: #2d353d;\r\n}\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6 {\r\n color: rgba(255, 255, 255, 0.8);\r\n font-family: 'Source Sans Pro', sans-serif;\r\n margin: 10px 0;\r\n}\r\nh1 small,\r\nh2 small,\r\nh3 small,\r\nh4 small,\r\nh5 small,\r\nh6 small {\r\n color: rgba(255, 255, 255, 0.5);\r\n}\r\nh1 {\r\n line-height: 43px;\r\n}\r\nh2 {\r\n line-height: 35px;\r\n}\r\nh3 {\r\n line-height: 30px;\r\n}\r\nh4 {\r\n line-height: 22px;\r\n}\r\n* {\r\n outline: none !important;\r\n}\r\na:hover {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\na:active {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\na:focus {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\n.container {\r\n width: auto;\r\n}\r\n.container-alt {\r\n margin-left: auto;\r\n margin-right: auto;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n}\r\n.footer {\r\n background-color: #323b44;\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n bottom: 0;\r\n color: #98a6ad;\r\n text-align: left !important;\r\n padding: 20px 30px;\r\n position: absolute;\r\n right: 0;\r\n left: 240px;\r\n}\r\n#wrapper {\r\n height: 100%;\r\n overflow: hidden;\r\n width: 100%;\r\n}\r\n.page {\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n}\r\n.page-title {\r\n margin-bottom: 0px;\r\n margin-top: 0px;\r\n}\r\n.page-header {\r\n border-bottom: 1px solid rgba(238, 238, 238, 0.2);\r\n}\r\n.page-title-box {\r\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.03), 0 1px 0 rgba(0, 0, 0, 0.03);\r\n padding: 20px;\r\n margin: -20px -20px 0 -20px;\r\n}\r\n.page-title-box .breadcrumb {\r\n margin-top: 0px;\r\n padding-top: 2px;\r\n}\r\n.page-title-box .breadcrumb a {\r\n color: #3bafda;\r\n}\r\n.page-title-box .breadcrumb > .active {\r\n color: #98a6ad;\r\n}\r\n.card-box {\r\n padding: 20px;\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n -webkit-border-radius: 5px;\r\n border-radius: 5px;\r\n -moz-border-radius: 5px;\r\n background-clip: padding-box;\r\n margin-bottom: 20px;\r\n background-color: #323b44;\r\n}\r\n.header-title {\r\n text-transform: uppercase;\r\n font-size: 15px;\r\n font-weight: 600;\r\n letter-spacing: 0.04em;\r\n line-height: 16px;\r\n margin-bottom: 8px;\r\n}\r\n.social-links li a {\r\n -webkit-border-radius: 50%;\r\n background: #EFF0F4;\r\n border-radius: 50%;\r\n color: #7A7676;\r\n display: inline-block;\r\n height: 30px;\r\n line-height: 30px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n/* ===========\r\n Bootstrap-custom\r\n =============*/\r\n.row {\r\n margin-right: -10px;\r\n margin-left: -10px;\r\n}\r\n.col-lg-1,\r\n.col-lg-10,\r\n.col-lg-11,\r\n.col-lg-12,\r\n.col-lg-2,\r\n.col-lg-3,\r\n.col-lg-4,\r\n.col-lg-5,\r\n.col-lg-6,\r\n.col-lg-7,\r\n.col-lg-8,\r\n.col-lg-9,\r\n.col-md-1,\r\n.col-md-10,\r\n.col-md-11,\r\n.col-md-12,\r\n.col-md-2,\r\n.col-md-3,\r\n.col-md-4,\r\n.col-md-5,\r\n.col-md-6,\r\n.col-md-7,\r\n.col-md-8,\r\n.col-md-9,\r\n.col-sm-1,\r\n.col-sm-10,\r\n.col-sm-11,\r\n.col-sm-12,\r\n.col-sm-2,\r\n.col-sm-3,\r\n.col-sm-4,\r\n.col-sm-5,\r\n.col-sm-6,\r\n.col-sm-7,\r\n.col-sm-8,\r\n.col-sm-9,\r\n.col-xs-1,\r\n.col-xs-10,\r\n.col-xs-11,\r\n.col-xs-12,\r\n.col-xs-2,\r\n.col-xs-3,\r\n.col-xs-4,\r\n.col-xs-5,\r\n.col-xs-6,\r\n.col-xs-7,\r\n.col-xs-8,\r\n.col-xs-9 {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n}\r\n.breadcrumb {\r\n background-color: transparent;\r\n margin-bottom: 15px;\r\n margin-top: 5px;\r\n}\r\n.dropdown-menu {\r\n padding: 4px 0;\r\n background-color: #1c2127;\r\n -webkit-animation: dropdownOpen 0.3s ease-out;\r\n -o-animation: dropdownOpen 0.3s ease-out;\r\n animation: dropdownOpen 0.3s ease-out;\r\n border: 0;\r\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n}\r\n.dropdown-menu > li > a {\r\n padding: 6px 20px;\r\n color: #98a6ad;\r\n}\r\n.dropdown-menu .divider {\r\n background-color: rgba(238, 238, 238, 0.2);\r\n}\r\n.dropdown-menu > li > a:focus,\r\n.dropdown-menu > li > a:hover {\r\n color: rgba(255, 255, 255, 0.7);\r\n text-decoration: none;\r\n background-color: #121518;\r\n}\r\nhr {\r\n border-top: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\ncode {\r\n color: #3bafda;\r\n border-radius: 4px;\r\n}\r\ncode,\r\npre {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n}\r\npre {\r\n background-color: #21272c;\r\n color: #eeeeee;\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.bg-empty {\r\n background: transparent !important;\r\n}\r\n.bg-primary {\r\n background-color: #3bafda !important;\r\n}\r\n.bg-success {\r\n background-color: #00b19d !important;\r\n}\r\n.bg-info {\r\n background-color: #3ddcf7 !important;\r\n}\r\n.bg-warning {\r\n background-color: #ffaa00 !important;\r\n}\r\n.bg-danger {\r\n background-color: #ef5350 !important;\r\n}\r\n.bg-muted {\r\n background-color: #F5F5F5 !important;\r\n}\r\n.bg-inverse {\r\n background-color: #4c5667 !important;\r\n}\r\n.bg-purple {\r\n background-color: #7266ba !important;\r\n}\r\n.bg-pink {\r\n background-color: #f76397 !important;\r\n}\r\n.bg-white {\r\n background-color: #ffffff !important;\r\n}\r\n.text-white {\r\n color: #ffffff;\r\n}\r\n.text-danger {\r\n color: #ef5350;\r\n}\r\n.text-muted {\r\n color: #98a6ad !important;\r\n}\r\n.text-primary {\r\n color: #3bafda;\r\n}\r\n.text-warning {\r\n color: #ffaa00;\r\n}\r\n.text-success {\r\n color: #00b19d;\r\n}\r\n.text-info {\r\n color: #3ddcf7;\r\n}\r\n.text-inverse {\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n.text-pink {\r\n color: #f76397;\r\n}\r\n.text-purple {\r\n color: #7266ba;\r\n}\r\n.form-control {\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n border-radius: 4px;\r\n color: #ffffff;\r\n height: 36px;\r\n max-width: 100%;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n -webkit-transition: all 300ms linear;\r\n -moz-transition: all 300ms linear;\r\n -o-transition: all 300ms linear;\r\n -ms-transition: all 300ms linear;\r\n transition: all 300ms linear;\r\n}\r\n.form-control:focus {\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n outline: 0 !important;\r\n color: #ffffff;\r\n}\r\n.form-control[disabled],\r\n.form-control[readonly],\r\nfieldset[disabled] .form-control {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n}\r\ninput.form-control::-webkit-input-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control:-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control::-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control:-ms-input-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\n.label {\r\n color: #ffffff !important;\r\n}\r\n.label-primary {\r\n background-color: #3bafda;\r\n}\r\n.label-success {\r\n background-color: #00b19d;\r\n}\r\n.label-info {\r\n background-color: #3ddcf7;\r\n}\r\n.label-warning {\r\n background-color: #ffaa00;\r\n}\r\n.label-danger {\r\n background-color: #ef5350;\r\n}\r\n.label-purple {\r\n background-color: #7266ba;\r\n}\r\n.label-pink {\r\n background-color: #f76397;\r\n}\r\n.label-dark {\r\n background: #4f595b;\r\n}\r\n.label-inverse {\r\n background-color: #4c5667;\r\n}\r\n.badge {\r\n font-weight: 600;\r\n padding: 3px 5px;\r\n font-size: 12px;\r\n margin-top: 1px;\r\n}\r\n.badge-xs {\r\n font-size: 9px;\r\n}\r\n.badge-xs,\r\n.badge-sm {\r\n -webkit-transform: translate(0, -2px);\r\n -ms-transform: translate(0, -2px);\r\n -o-transform: translate(0, -2px);\r\n transform: translate(0, -2px);\r\n}\r\n.badge-primary {\r\n background-color: #3bafda;\r\n}\r\n.badge-success {\r\n background-color: #00b19d;\r\n}\r\n.badge-info {\r\n background-color: #3ddcf7;\r\n}\r\n.badge-warning {\r\n background-color: #ffaa00;\r\n}\r\n.badge-danger {\r\n background-color: #ef5350;\r\n}\r\n.badge-purple {\r\n background-color: #7266ba;\r\n}\r\n.badge-pink {\r\n background-color: #f76397;\r\n}\r\n.badge-inverse {\r\n background-color: #4c5667;\r\n}\r\n/* Pagination/ Pager */\r\n.pagination > li:first-child > a,\r\n.pagination > li:first-child > span {\r\n border-bottom-left-radius: 3px;\r\n border-top-left-radius: 3px;\r\n}\r\n.pagination > li:last-child > a,\r\n.pagination > li:last-child > span {\r\n border-bottom-right-radius: 3px;\r\n border-top-right-radius: 3px;\r\n}\r\n.pagination > li > a,\r\n.pagination > li > span {\r\n color: #ffffff;\r\n background-color: transparent;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.pagination > li > a:hover,\r\n.pagination > li > span:hover,\r\n.pagination > li > a:focus,\r\n.pagination > li > span:focus {\r\n background-color: #e4e7ea;\r\n}\r\n.pagination-split li {\r\n margin-left: 5px;\r\n display: inline-block;\r\n float: left;\r\n}\r\n.pagination-split li:first-child {\r\n margin-left: 0;\r\n}\r\n.pagination-split li a {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n}\r\n.pagination > .active > a,\r\n.pagination > .active > span,\r\n.pagination > .active > a:hover,\r\n.pagination > .active > span:hover,\r\n.pagination > .active > a:focus,\r\n.pagination > .active > span:focus {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.pager li > a,\r\n.pager li > span {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n color: #ffffff;\r\n background: transparent;\r\n}\r\n.pager li > a:hover,\r\n.pager li > span:hover {\r\n background: rgba(255, 255, 255, 0.2);\r\n}\r\n.pagination > .disabled > a,\r\n.pagination > .disabled > a:focus,\r\n.pagination > .disabled > a:hover,\r\n.pagination > .disabled > span,\r\n.pagination > .disabled > span:focus,\r\n.pagination > .disabled > span:hover,\r\n.pager .disabled > a,\r\n.pager .disabled > a:focus,\r\n.pager .disabled > a:hover,\r\n.pager .disabled > span {\r\n background: rgba(255, 255, 255, 0.2);\r\n color: #ffffff;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\nblockquote .small,\r\nblockquote footer,\r\nblockquote small {\r\n color: #ffffff;\r\n}\r\n/* Tabs */\r\n.tabs {\r\n margin: 0 auto;\r\n padding: 0px;\r\n position: relative;\r\n white-space: nowrap;\r\n width: 100%;\r\n}\r\n.tabs li.tab {\r\n display: block;\r\n float: left;\r\n margin: 0;\r\n text-align: center;\r\n}\r\n.tabs li.tab a {\r\n -moz-transition: color 0.28s ease;\r\n -ms-transition: color 0.28s ease;\r\n -o-transition: color 0.28s ease;\r\n -webkit-transition: color 0.28s ease;\r\n color: #eeeeee;\r\n display: block;\r\n height: 100%;\r\n text-decoration: none;\r\n transition: color 0.28s ease;\r\n width: 100%;\r\n}\r\n.tabs li.tab a.active {\r\n color: #3bafda !important;\r\n}\r\n.tabs .indicator {\r\n background-color: #3bafda;\r\n bottom: 0;\r\n height: 2px;\r\n position: absolute;\r\n will-change: left, right;\r\n}\r\n.tabs-top .indicator {\r\n top: 0;\r\n}\r\n.nav-pills li a {\r\n line-height: 36px !important;\r\n}\r\n.nav-pills li.active a {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li.active a:hover {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li.active a:focus {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li a:hover {\r\n color: #3bafda;\r\n background: transparent !important;\r\n}\r\n.nav.nav-tabs + .tab-content {\r\n border: 2px solid rgba(255, 255, 255, 0.1);\r\n margin-bottom: 30px;\r\n padding: 30px;\r\n color: #98a6ad;\r\n background-color: #323b44;\r\n}\r\n.tabs-vertical-env {\r\n margin-bottom: 30px;\r\n}\r\n.tabs-vertical-env .tab-content {\r\n border: 2px solid rgba(255, 255, 255, 0.1);\r\n display: table-cell;\r\n margin-bottom: 30px;\r\n padding: 30px;\r\n color: #98a6ad;\r\n vertical-align: top;\r\n background-color: #272e35;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical {\r\n display: table-cell;\r\n min-width: 120px;\r\n vertical-align: top;\r\n width: 150px;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n background-color: #ffffff;\r\n border: 0;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical li > a {\r\n color: #333333;\r\n text-align: center;\r\n white-space: nowrap;\r\n}\r\n.nav.nav-tabs > li.active > a {\r\n border: 0;\r\n}\r\n.nav.nav-tabs > li > a,\r\n.nav.tabs-vertical > li > a {\r\n background: rgba(255, 255, 255, 0.1) !important;\r\n border-radius: 0;\r\n border: none;\r\n cursor: pointer;\r\n line-height: 50px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n letter-spacing: 0.03em;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n font-family: 'Source Sans Pro', sans-serif;\r\n}\r\n.nav.nav-tabs > li > a:hover,\r\n.nav.tabs-vertical > li > a:hover {\r\n color: #3bafda !important;\r\n background: rgba(255, 255, 255, 0.1) !important;\r\n}\r\n.nav.nav-tabs > li:last-of-type a {\r\n margin-right: 0px;\r\n}\r\n.nav.nav-tabs {\r\n border-bottom: 0;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus,\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n border: none;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:focus,\r\n.nav-tabs > li.active > a:hover,\r\n.tabs-vertical > li.active > a,\r\n.tabs-vertical > li.active > a:focus,\r\n.tabs-vertical > li.active > a:hover {\r\n color: #3bafda !important;\r\n}\r\n.navtab-custom li {\r\n margin-bottom: -2px;\r\n}\r\n.navtab-custom li a {\r\n border-top: 2px solid transparent !important;\r\n}\r\n.navtab-custom li.active a {\r\n border-top: 2px solid #3bafda !important;\r\n}\r\n.nav-tab-left.navtab-custom li a {\r\n border: none !important;\r\n border-left: 2px solid transparent !important;\r\n}\r\n.nav-tab-left.navtab-custom li.active a {\r\n border-left: 2px solid #3bafda !important;\r\n}\r\n.nav-tab-right.navtab-custom li a {\r\n border: none !important;\r\n border-right: 2px solid transparent !important;\r\n}\r\n.nav-tab-right.navtab-custom li.active a {\r\n border-right: 2px solid #3bafda !important;\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus,\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n border: none;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:focus,\r\n.nav-tabs > li.active > a:hover,\r\n.tabs-vertical > li.active > a,\r\n.tabs-vertical > li.active > a:focus,\r\n.tabs-vertical > li.active > a:hover {\r\n color: #3bafda !important;\r\n}\r\n/* Dropcap */\r\n.dropcap {\r\n font-size: 3.1em;\r\n}\r\n.dropcap,\r\n.dropcap-circle,\r\n.dropcap-square {\r\n display: block;\r\n float: left;\r\n font-weight: 400;\r\n line-height: 36px;\r\n margin-right: 6px;\r\n text-shadow: none;\r\n}\r\n/* Modal */\r\n.modal .modal-dialog .modal-content {\r\n -moz-box-shadow: none;\r\n -webkit-box-shadow: none;\r\n border-color: rgba(238, 238, 238, 0.3);\r\n border-radius: 2px;\r\n box-shadow: none;\r\n padding: 30px;\r\n background-color: #323b44;\r\n}\r\n.modal .modal-dialog .modal-content .modal-header {\r\n margin: 0;\r\n padding: 0;\r\n border-bottom: 2px solid rgba(238, 238, 238, 0.3);\r\n padding-bottom: 15px;\r\n}\r\n.modal .modal-dialog .modal-content .modal-body {\r\n padding: 20px 0;\r\n}\r\n.modal .modal-dialog .modal-content .modal-footer {\r\n padding: 0;\r\n padding-top: 15px;\r\n border-top: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.modal .close {\r\n color: #ffffff;\r\n text-shadow: none;\r\n}\r\n.modal-full {\r\n width: 98%;\r\n}\r\n.modal-backdrop {\r\n background-color: #eeeeee;\r\n}\r\n.modal-content .nav.nav-tabs + .tab-content {\r\n margin-bottom: 0px;\r\n}\r\n.modal-content .panel-group {\r\n margin-bottom: 0px;\r\n}\r\n.modal-content .panel {\r\n border-top: none;\r\n}\r\n/* Custom-modal */\r\n.modal-demo {\r\n background-color: #FFF;\r\n width: 600px;\r\n -webkit-border-radius: 4px;\r\n border-radius: 4px;\r\n -moz-border-radius: 4px;\r\n background-clip: padding-box;\r\n display: none;\r\n}\r\n.modal-demo .close {\r\n position: absolute;\r\n top: 15px;\r\n right: 25px;\r\n color: #eeeeee;\r\n}\r\n.custom-modal-title {\r\n padding: 15px 25px 15px 25px;\r\n line-height: 22px;\r\n font-size: 18px;\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n text-align: left;\r\n margin: 0px;\r\n}\r\n.custom-modal-text {\r\n padding: 20px;\r\n}\r\n.custombox-modal-flash .close,\r\n.custombox-modal-rotatedown .close {\r\n top: 20px;\r\n z-index: 9999;\r\n}\r\n.tabs-vertical-env .tab-content {\r\n margin-bottom: 0px;\r\n}\r\n.table > thead > tr > td.middle-align,\r\n.table > tbody > tr > td.middle-align {\r\n vertical-align: middle;\r\n}\r\n.legendLabel {\r\n padding-left: 10px !important;\r\n}\r\n/* Alerts */\r\n.alert-success {\r\n background-color: rgba(0, 177, 157, 0.25) !important;\r\n border-color: rgba(0, 177, 157, 0.5) !important;\r\n color: #00b19d;\r\n}\r\n.alert-success .alert-link {\r\n color: #00b19d;\r\n}\r\n.alert-info {\r\n background-color: rgba(61, 220, 247, 0.2) !important;\r\n border-color: rgba(61, 220, 247, 0.5) !important;\r\n color: #3ddcf7;\r\n}\r\n.alert-info .alert-link {\r\n color: #3ddcf7;\r\n}\r\n.alert-warning {\r\n background-color: rgba(255, 170, 0, 0.2) !important;\r\n border-color: rgba(255, 170, 0, 0.5) !important;\r\n color: #ffaa00;\r\n}\r\n.alert-warning .alert-link {\r\n color: #ffaa00;\r\n}\r\n.alert-danger {\r\n background-color: rgba(239, 83, 80, 0.2) !important;\r\n border-color: rgba(239, 83, 80, 0.5) !important;\r\n color: #ef5350;\r\n}\r\n.alert-danger .alert-link {\r\n color: #ef5350;\r\n}\r\n/* List group */\r\n.list-group-item {\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n background: transparent;\r\n color: #ffffff !important;\r\n}\r\n.list-group-item:hover {\r\n background-color: rgba(255, 255, 255, 0.07) !important;\r\n}\r\n.list-group-item.disabled,\r\n.list-group-item.disabled:focus,\r\n.list-group-item.disabled:hover {\r\n background-color: rgba(255, 255, 255, 0.07) !important;\r\n}\r\n.list-group-item.active,\r\n.list-group-item.active:hover,\r\n.list-group-item.active:focus {\r\n background-color: #3bafda !important;\r\n border-color: #3bafda;\r\n}\r\n.list-group-item.disabled .list-group-item-text,\r\n.list-group-item.disabled:focus .list-group-item-text,\r\n.list-group-item.disabled:hover .list-group-item-text {\r\n color: rgba(255, 255, 255, 0.5);\r\n}\r\na.list-group-item .list-group-item-heading,\r\nbutton.list-group-item .list-group-item-heading {\r\n color: #ffffff;\r\n}\r\n.nav-pills > .active > a > .badge {\r\n color: #3bafda;\r\n}\r\n.has-success .form-control {\r\n border-color: #00b19d;\r\n box-shadow: none !important;\r\n}\r\n.has-warning .form-control {\r\n border-color: #ffaa00;\r\n box-shadow: none !important;\r\n}\r\n.has-error .form-control {\r\n border-color: #ef5350;\r\n box-shadow: none !important;\r\n}\r\n.input-group-addon {\r\n border-radius: 2px;\r\n border: none;\r\n background-color: rgba(255, 255, 255, 0.2);\r\n color: #ffffff;\r\n}\r\n/* Tooltips */\r\n.tooltip-inner {\r\n border-radius: 1px;\r\n padding: 6px 10px;\r\n}\r\n.jqstooltip {\r\n -webkit-box-sizing: content-box;\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box;\r\n width: auto !important;\r\n height: auto !important;\r\n}\r\n/* Popover */\r\n.popover {\r\n font-family: inherit;\r\n border: none;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.popover .popover-title {\r\n background-color: transparent;\r\n color: #3bafda;\r\n font-weight: 600;\r\n}\r\n/* ===========\r\n Helper classes\r\n =============*/\r\n.p-0 {\r\n padding: 0px !important;\r\n}\r\n.p-t-0 {\r\n padding-top: 0px !important;\r\n}\r\n.p-t-10 {\r\n padding-top: 10px !important;\r\n}\r\n.p-b-0 {\r\n padding-bottom: 0px !important;\r\n}\r\n.p-b-10 {\r\n padding-bottom: 10px !important;\r\n}\r\n.m-0 {\r\n margin: 0px !important;\r\n}\r\n.m-r-5 {\r\n margin-right: 5px;\r\n}\r\n.m-r-10 {\r\n margin-right: 10px;\r\n}\r\n.m-r-15 {\r\n margin-right: 15px !important;\r\n}\r\n.m-l-5 {\r\n margin-left: 5px;\r\n}\r\n.m-l-10 {\r\n margin-left: 10px;\r\n}\r\n.m-l-15 {\r\n margin-left: 15px;\r\n}\r\n.m-t-5 {\r\n margin-top: 5px !important;\r\n}\r\n.m-t-0 {\r\n margin-top: 0px;\r\n}\r\n.m-t-10 {\r\n margin-top: 10px !important;\r\n}\r\n.m-t-15 {\r\n margin-top: 15px !important;\r\n}\r\n.m-t-20 {\r\n margin-top: 20px !important;\r\n}\r\n.m-t-30 {\r\n margin-top: 30px !important;\r\n}\r\n.m-t-40 {\r\n margin-top: 40px !important;\r\n}\r\n.m-b-0 {\r\n margin-bottom: 0px !important;\r\n}\r\n.m-b-5 {\r\n margin-bottom: 5px;\r\n}\r\n.m-b-10 {\r\n margin-bottom: 10px;\r\n}\r\n.m-b-15 {\r\n margin-bottom: 15px;\r\n}\r\n.m-b-20 {\r\n margin-bottom: 20px;\r\n}\r\n.m-b-25 {\r\n margin-bottom: 25px;\r\n}\r\n.m-b-30 {\r\n margin-bottom: 30px !important;\r\n}\r\n.w-xs {\r\n min-width: 80px;\r\n}\r\n.w-sm {\r\n min-width: 95px;\r\n}\r\n.w-md {\r\n min-width: 110px;\r\n}\r\n.w-lg {\r\n min-width: 140px;\r\n}\r\n.m-h-50 {\r\n min-height: 50px;\r\n}\r\n.l-h-34 {\r\n line-height: 34px !important;\r\n}\r\n.font-light {\r\n font-weight: 300;\r\n}\r\n.font-500 {\r\n font-weight: 500;\r\n}\r\n.font-normal {\r\n font-weight: normal;\r\n}\r\n.font-13 {\r\n font-size: 13px;\r\n}\r\n.wrapper-md {\r\n padding: 20px;\r\n}\r\n.center-page {\r\n float: none !important;\r\n margin: 0 auto;\r\n}\r\n.pull-in {\r\n margin-left: -20px;\r\n margin-right: -20px;\r\n}\r\n.b-0 {\r\n border: none !important;\r\n}\r\n.no-border {\r\n border: none;\r\n}\r\n.bx-s-0 {\r\n box-shadow: none !important;\r\n}\r\n.bx-shadow {\r\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n}\r\n.mx-box {\r\n max-height: 380px;\r\n min-height: 380px;\r\n}\r\n.thumb-sm {\r\n height: 32px;\r\n width: 32px;\r\n}\r\n.thumb-md {\r\n height: 48px;\r\n width: 48px;\r\n}\r\n.thumb-lg {\r\n height: 88px;\r\n width: 88px;\r\n}\r\n/* Demo Only */\r\n.grid-structure .grid-container {\r\n background-color: rgba(255, 255, 255, 0.03);\r\n margin-bottom: 10px;\r\n padding: 10px 20px;\r\n}\r\n.icon-list-demo div {\r\n cursor: pointer;\r\n line-height: 45px;\r\n white-space: nowrap;\r\n color: #98a6ad;\r\n}\r\n.icon-list-demo div p {\r\n margin-bottom: 0px;\r\n line-height: inherit;\r\n}\r\n.icon-list-demo i {\r\n -webkit-transition: all 0.2s;\r\n display: inline-block;\r\n font-size: 18px;\r\n margin: 0;\r\n text-align: center;\r\n transition: all 0.2s;\r\n vertical-align: middle;\r\n width: 40px;\r\n}\r\n.icon-list-demo .col-md-4 {\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.icon-list-demo .col-md-4:hover {\r\n color: #3bafda;\r\n}\r\n.icon-list-demo .col-md-4:hover i {\r\n -o-transform: scale(1.5);\r\n -webkit-transform: scale(1.5);\r\n moz-transform: scale(1.5);\r\n transform: scale(1.5);\r\n}\r\n.ionicon-list i {\r\n font-size: 16px;\r\n}\r\n.ionicon-list .col-md-3:hover i {\r\n -o-transform: scale(2);\r\n -webkit-transform: scale(2);\r\n moz-transform: scale(2);\r\n transform: scale(2);\r\n}\r\n.button-list {\r\n margin-left: -8px;\r\n margin-bottom: -12px;\r\n}\r\n.button-list .btn {\r\n margin-bottom: 12px;\r\n margin-left: 8px;\r\n}\r\n/* ===========\r\n Waves Effect\r\n =============*/\r\n/*!\r\n * Waves v0.6.0\r\n * http://fian.my.id/Waves\r\n *\r\n * Copyright 2014 Alfiana E. Sibuea and other contributors\r\n * Released under the MIT license\r\n * https://github.com/fians/Waves/blob/master/LICENSE\r\n */\r\n.waves-effect {\r\n position: relative;\r\n cursor: pointer;\r\n display: inline-block;\r\n overflow: hidden;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: transparent;\r\n vertical-align: middle;\r\n z-index: 1;\r\n will-change: opacity, transform;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n -ms-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n}\r\n.waves-effect .waves-ripple {\r\n position: absolute;\r\n border-radius: 50%;\r\n width: 20px;\r\n height: 20px;\r\n margin-top: -10px;\r\n margin-left: -10px;\r\n opacity: 0;\r\n background: rgba(0, 0, 0, 0.2);\r\n -webkit-transition: all 0.7s ease-out;\r\n -moz-transition: all 0.7s ease-out;\r\n -o-transition: all 0.7s ease-out;\r\n -ms-transition: all 0.7s ease-out;\r\n transition: all 0.7s ease-out;\r\n -webkit-transition-property: -webkit-transform, opacity;\r\n -moz-transition-property: -moz-transform, opacity;\r\n -o-transition-property: -o-transform, opacity;\r\n transition-property: transform, opacity;\r\n -webkit-transform: scale(0);\r\n -moz-transform: scale(0);\r\n -ms-transform: scale(0);\r\n -o-transform: scale(0);\r\n transform: scale(0);\r\n pointer-events: none;\r\n}\r\n.waves-effect.waves-light .waves-ripple {\r\n background-color: rgba(255, 255, 255, 0.45);\r\n}\r\n.waves-effect.waves-red .waves-ripple {\r\n background-color: rgba(244, 67, 54, 0.7);\r\n}\r\n.waves-effect.waves-yellow .waves-ripple {\r\n background-color: rgba(255, 235, 59, 0.7);\r\n}\r\n.waves-effect.waves-orange .waves-ripple {\r\n background-color: rgba(255, 152, 0, 0.7);\r\n}\r\n.waves-effect.waves-purple .waves-ripple {\r\n background-color: rgba(156, 39, 176, 0.7);\r\n}\r\n.waves-effect.waves-green .waves-ripple {\r\n background-color: rgba(76, 175, 80, 0.7);\r\n}\r\n.waves-effect.waves-teal .waves-ripple {\r\n background-color: rgba(0, 150, 136, 0.7);\r\n}\r\n.waves-effect.waves-primary .waves-ripple {\r\n background-color: rgba(59, 175, 218, 0.4);\r\n}\r\n.waves-notransition {\r\n -webkit-transition: none !important;\r\n -moz-transition: none !important;\r\n -o-transition: none !important;\r\n -ms-transition: none !important;\r\n transition: none !important;\r\n}\r\n.waves-circle {\r\n -webkit-transform: translateZ(0);\r\n -moz-transform: translateZ(0);\r\n -ms-transform: translateZ(0);\r\n -o-transform: translateZ(0);\r\n transform: translateZ(0);\r\n text-align: center;\r\n width: 2.5em;\r\n height: 2.5em;\r\n line-height: 2.5em;\r\n border-radius: 50%;\r\n -webkit-mask-image: none;\r\n}\r\n.waves-input-wrapper {\r\n border-radius: 0.2em;\r\n vertical-align: bottom;\r\n}\r\n.waves-input-wrapper .waves-button-input {\r\n position: relative;\r\n top: 0;\r\n left: 0;\r\n z-index: 1;\r\n}\r\n.waves-block {\r\n display: block;\r\n}\r\n/* ===========\r\n Animation\r\n =============*/\r\n/* Bounce 1 */\r\n@-webkit-keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: scale(1.2);\r\n }\r\n 100% {\r\n -webkit-transform: scale(1);\r\n }\r\n}\r\n@-moz-keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -moz-transform: scale(1.2);\r\n }\r\n 100% {\r\n -moz-transform: scale(1);\r\n }\r\n}\r\n@-o-keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -o-transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -o-transform: scale(1.2);\r\n }\r\n 100% {\r\n -o-transform: scale(1);\r\n }\r\n}\r\n@keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0.5);\r\n -moz-transform: scale(0.5);\r\n -ms-transform: scale(0.5);\r\n -o-transform: scale(0.5);\r\n transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: scale(1.2);\r\n -moz-transform: scale(1.2);\r\n -ms-transform: scale(1.2);\r\n -o-transform: scale(1.2);\r\n transform: scale(1.2);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: scale(1);\r\n -moz-transform: scale(1);\r\n -ms-transform: scale(1);\r\n -o-transform: scale(1);\r\n transform: scale(1);\r\n }\r\n}\r\n/* Bounce 2 */\r\n@-webkit-keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: translateX(20px);\r\n }\r\n 100% {\r\n -webkit-transform: translateX(0);\r\n }\r\n}\r\n@-moz-keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -moz-transform: translateX(20px);\r\n }\r\n 100% {\r\n -moz-transform: translateX(0);\r\n }\r\n}\r\n@-o-keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -o-transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -o-transform: translateX(20px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -o-transform: translateX(0);\r\n }\r\n}\r\n@keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: translateX(-100px);\r\n -moz-transform: translateX(-100px);\r\n -ms-transform: translateX(-100px);\r\n -o-transform: translateX(-100px);\r\n transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: translateX(20px);\r\n -moz-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n -o-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: translateX(0);\r\n -moz-transform: translateX(0);\r\n -ms-transform: translateX(0);\r\n -o-transform: translateX(0);\r\n transform: translateX(0);\r\n }\r\n}\r\n/* Dropdown */\r\n@-webkit-keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0);\r\n }\r\n 100% {\r\n -webkit-transform: scale(1);\r\n }\r\n}\r\n@-moz-keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: scale(0);\r\n }\r\n 100% {\r\n -moz-transform: scale(1);\r\n }\r\n}\r\n@-o-keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -o-transform: scale(0);\r\n }\r\n 100% {\r\n -o-transform: scale(1);\r\n }\r\n}\r\n@keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0);\r\n -moz-transform: scale(0);\r\n -ms-transform: scale(0);\r\n -o-transform: scale(0);\r\n transform: scale(0);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: scale(1);\r\n -moz-transform: scale(1);\r\n -ms-transform: scale(1);\r\n -o-transform: scale(1);\r\n transform: scale(1);\r\n }\r\n}\r\n/* Progressbar Animated */\r\n@-webkit-keyframes animationProgress {\r\n from {\r\n width: 0;\r\n }\r\n}\r\n@keyframes animationProgress {\r\n from {\r\n width: 0;\r\n }\r\n}\r\n/* Portlets loader */\r\n@-webkit-keyframes loaderAnimate {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(220deg);\r\n }\r\n}\r\n@-moz-keyframes loaderAnimate {\r\n 0% {\r\n -moz-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -moz-transform: rotate(220deg);\r\n }\r\n}\r\n@-o-keyframes loaderAnimate {\r\n 0% {\r\n -o-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -o-transform: rotate(220deg);\r\n }\r\n}\r\n@keyframes loaderAnimate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(220deg);\r\n }\r\n}\r\n@-webkit-keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(140deg);\r\n }\r\n}\r\n@-moz-keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -moz-transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -moz-transform: rotate(140deg);\r\n }\r\n}\r\n@-o-keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -o-transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -o-transform: rotate(140deg);\r\n }\r\n}\r\n@keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(-140deg);\r\n -moz-transform: rotate(-140deg);\r\n -ms-transform: rotate(-140deg);\r\n transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(140deg);\r\n -moz-transform: rotate(140deg);\r\n -ms-transform: rotate(140deg);\r\n transform: rotate(140deg);\r\n }\r\n}\r\n@keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #999 0 0 0 17px;\r\n transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #999 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #999 0 0 0 17px;\r\n transform: rotate(140deg);\r\n }\r\n}\r\n/* =============\r\n Print css\r\n============= */\r\n@media print {\r\n .logo,\r\n .breadcrumb,\r\n .page-title,\r\n .footer,\r\n .topbar-left {\r\n display: none;\r\n margin: 0px;\r\n padding: 0px;\r\n }\r\n .left,\r\n .right-bar {\r\n display: none;\r\n }\r\n .content {\r\n margin-top: 0px !important;\r\n padding-top: 0px;\r\n }\r\n .content-page {\r\n margin-left: 0px !important;\r\n margin-top: 0px;\r\n }\r\n}\r\n",null,"@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Icons\r\n*/\r\n/*!\r\n * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome\r\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\r\n */\r\n/* FONT PATH\r\n * -------------------------- */\r\n@font-face {\r\n font-family: 'FontAwesome';\r\n src: url('../fonts/fontawesome-webfont.eot?v=4.5.0');\r\n src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.fa {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 FontAwesome;\r\n font-size: inherit;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n/* makes the font 33% larger relative to the icon container */\r\n.fa-lg {\r\n font-size: 1.33333333em;\r\n line-height: 0.75em;\r\n vertical-align: -15%;\r\n}\r\n.fa-2x {\r\n font-size: 2em;\r\n}\r\n.fa-3x {\r\n font-size: 3em;\r\n}\r\n.fa-4x {\r\n font-size: 4em;\r\n}\r\n.fa-5x {\r\n font-size: 5em;\r\n}\r\n.fa-fw {\r\n width: 1.28571429em;\r\n text-align: center;\r\n}\r\n.fa-ul {\r\n padding-left: 0;\r\n margin-left: 2.14285714em;\r\n list-style-type: none;\r\n}\r\n.fa-ul > li {\r\n position: relative;\r\n}\r\n.fa-li {\r\n position: absolute;\r\n left: -2.14285714em;\r\n width: 2.14285714em;\r\n top: 0.14285714em;\r\n text-align: center;\r\n}\r\n.fa-li.fa-lg {\r\n left: -1.85714286em;\r\n}\r\n.fa-border {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em #eeeeee;\r\n border-radius: .1em;\r\n}\r\n.fa-pull-left {\r\n float: left;\r\n}\r\n.fa-pull-right {\r\n float: right;\r\n}\r\n.fa.fa-pull-left {\r\n margin-right: .3em;\r\n}\r\n.fa.fa-pull-right {\r\n margin-left: .3em;\r\n}\r\n/* Deprecated as of 4.4.0 */\r\n.pull-right {\r\n float: right;\r\n}\r\n.pull-left {\r\n float: left;\r\n}\r\n.fa.pull-left {\r\n margin-right: .3em;\r\n}\r\n.fa.pull-right {\r\n margin-left: .3em;\r\n}\r\n.fa-spin {\r\n -webkit-animation: fa-spin 2s infinite linear;\r\n animation: fa-spin 2s infinite linear;\r\n}\r\n.fa-pulse {\r\n -webkit-animation: fa-spin 1s infinite steps(8);\r\n animation: fa-spin 1s infinite steps(8);\r\n}\r\n@-webkit-keyframes fa-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes fa-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n.fa-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n -webkit-transform: rotate(90deg);\r\n -ms-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n.fa-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n -webkit-transform: rotate(180deg);\r\n -ms-transform: rotate(180deg);\r\n transform: rotate(180deg);\r\n}\r\n.fa-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n -webkit-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n}\r\n.fa-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n -webkit-transform: scale(-1, 1);\r\n -ms-transform: scale(-1, 1);\r\n transform: scale(-1, 1);\r\n}\r\n.fa-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n -webkit-transform: scale(1, -1);\r\n -ms-transform: scale(1, -1);\r\n transform: scale(1, -1);\r\n}\r\n:root .fa-rotate-90,\r\n:root .fa-rotate-180,\r\n:root .fa-rotate-270,\r\n:root .fa-flip-horizontal,\r\n:root .fa-flip-vertical {\r\n filter: none;\r\n}\r\n.fa-stack {\r\n position: relative;\r\n display: inline-block;\r\n width: 2em;\r\n height: 2em;\r\n line-height: 2em;\r\n vertical-align: middle;\r\n}\r\n.fa-stack-1x,\r\n.fa-stack-2x {\r\n position: absolute;\r\n left: 0;\r\n width: 100%;\r\n text-align: center;\r\n}\r\n.fa-stack-1x {\r\n line-height: inherit;\r\n}\r\n.fa-stack-2x {\r\n font-size: 2em;\r\n}\r\n.fa-inverse {\r\n color: #ffffff;\r\n}\r\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\r\n readers do not read off random characters that represent icons */\r\n.fa-glass:before {\r\n content: \"\\f000\";\r\n}\r\n.fa-music:before {\r\n content: \"\\f001\";\r\n}\r\n.fa-search:before {\r\n content: \"\\f002\";\r\n}\r\n.fa-envelope-o:before {\r\n content: \"\\f003\";\r\n}\r\n.fa-heart:before {\r\n content: \"\\f004\";\r\n}\r\n.fa-star:before {\r\n content: \"\\f005\";\r\n}\r\n.fa-star-o:before {\r\n content: \"\\f006\";\r\n}\r\n.fa-user:before {\r\n content: \"\\f007\";\r\n}\r\n.fa-film:before {\r\n content: \"\\f008\";\r\n}\r\n.fa-th-large:before {\r\n content: \"\\f009\";\r\n}\r\n.fa-th:before {\r\n content: \"\\f00a\";\r\n}\r\n.fa-th-list:before {\r\n content: \"\\f00b\";\r\n}\r\n.fa-check:before {\r\n content: \"\\f00c\";\r\n}\r\n.fa-remove:before,\r\n.fa-close:before,\r\n.fa-times:before {\r\n content: \"\\f00d\";\r\n}\r\n.fa-search-plus:before {\r\n content: \"\\f00e\";\r\n}\r\n.fa-search-minus:before {\r\n content: \"\\f010\";\r\n}\r\n.fa-power-off:before {\r\n content: \"\\f011\";\r\n}\r\n.fa-signal:before {\r\n content: \"\\f012\";\r\n}\r\n.fa-gear:before,\r\n.fa-cog:before {\r\n content: \"\\f013\";\r\n}\r\n.fa-trash-o:before {\r\n content: \"\\f014\";\r\n}\r\n.fa-home:before {\r\n content: \"\\f015\";\r\n}\r\n.fa-file-o:before {\r\n content: \"\\f016\";\r\n}\r\n.fa-clock-o:before {\r\n content: \"\\f017\";\r\n}\r\n.fa-road:before {\r\n content: \"\\f018\";\r\n}\r\n.fa-download:before {\r\n content: \"\\f019\";\r\n}\r\n.fa-arrow-circle-o-down:before {\r\n content: \"\\f01a\";\r\n}\r\n.fa-arrow-circle-o-up:before {\r\n content: \"\\f01b\";\r\n}\r\n.fa-inbox:before {\r\n content: \"\\f01c\";\r\n}\r\n.fa-play-circle-o:before {\r\n content: \"\\f01d\";\r\n}\r\n.fa-rotate-right:before,\r\n.fa-repeat:before {\r\n content: \"\\f01e\";\r\n}\r\n.fa-refresh:before {\r\n content: \"\\f021\";\r\n}\r\n.fa-list-alt:before {\r\n content: \"\\f022\";\r\n}\r\n.fa-lock:before {\r\n content: \"\\f023\";\r\n}\r\n.fa-flag:before {\r\n content: \"\\f024\";\r\n}\r\n.fa-headphones:before {\r\n content: \"\\f025\";\r\n}\r\n.fa-volume-off:before {\r\n content: \"\\f026\";\r\n}\r\n.fa-volume-down:before {\r\n content: \"\\f027\";\r\n}\r\n.fa-volume-up:before {\r\n content: \"\\f028\";\r\n}\r\n.fa-qrcode:before {\r\n content: \"\\f029\";\r\n}\r\n.fa-barcode:before {\r\n content: \"\\f02a\";\r\n}\r\n.fa-tag:before {\r\n content: \"\\f02b\";\r\n}\r\n.fa-tags:before {\r\n content: \"\\f02c\";\r\n}\r\n.fa-book:before {\r\n content: \"\\f02d\";\r\n}\r\n.fa-bookmark:before {\r\n content: \"\\f02e\";\r\n}\r\n.fa-print:before {\r\n content: \"\\f02f\";\r\n}\r\n.fa-camera:before {\r\n content: \"\\f030\";\r\n}\r\n.fa-font:before {\r\n content: \"\\f031\";\r\n}\r\n.fa-bold:before {\r\n content: \"\\f032\";\r\n}\r\n.fa-italic:before {\r\n content: \"\\f033\";\r\n}\r\n.fa-text-height:before {\r\n content: \"\\f034\";\r\n}\r\n.fa-text-width:before {\r\n content: \"\\f035\";\r\n}\r\n.fa-align-left:before {\r\n content: \"\\f036\";\r\n}\r\n.fa-align-center:before {\r\n content: \"\\f037\";\r\n}\r\n.fa-align-right:before {\r\n content: \"\\f038\";\r\n}\r\n.fa-align-justify:before {\r\n content: \"\\f039\";\r\n}\r\n.fa-list:before {\r\n content: \"\\f03a\";\r\n}\r\n.fa-dedent:before,\r\n.fa-outdent:before {\r\n content: \"\\f03b\";\r\n}\r\n.fa-indent:before {\r\n content: \"\\f03c\";\r\n}\r\n.fa-video-camera:before {\r\n content: \"\\f03d\";\r\n}\r\n.fa-photo:before,\r\n.fa-image:before,\r\n.fa-picture-o:before {\r\n content: \"\\f03e\";\r\n}\r\n.fa-pencil:before {\r\n content: \"\\f040\";\r\n}\r\n.fa-map-marker:before {\r\n content: \"\\f041\";\r\n}\r\n.fa-adjust:before {\r\n content: \"\\f042\";\r\n}\r\n.fa-tint:before {\r\n content: \"\\f043\";\r\n}\r\n.fa-edit:before,\r\n.fa-pencil-square-o:before {\r\n content: \"\\f044\";\r\n}\r\n.fa-share-square-o:before {\r\n content: \"\\f045\";\r\n}\r\n.fa-check-square-o:before {\r\n content: \"\\f046\";\r\n}\r\n.fa-arrows:before {\r\n content: \"\\f047\";\r\n}\r\n.fa-step-backward:before {\r\n content: \"\\f048\";\r\n}\r\n.fa-fast-backward:before {\r\n content: \"\\f049\";\r\n}\r\n.fa-backward:before {\r\n content: \"\\f04a\";\r\n}\r\n.fa-play:before {\r\n content: \"\\f04b\";\r\n}\r\n.fa-pause:before {\r\n content: \"\\f04c\";\r\n}\r\n.fa-stop:before {\r\n content: \"\\f04d\";\r\n}\r\n.fa-forward:before {\r\n content: \"\\f04e\";\r\n}\r\n.fa-fast-forward:before {\r\n content: \"\\f050\";\r\n}\r\n.fa-step-forward:before {\r\n content: \"\\f051\";\r\n}\r\n.fa-eject:before {\r\n content: \"\\f052\";\r\n}\r\n.fa-chevron-left:before {\r\n content: \"\\f053\";\r\n}\r\n.fa-chevron-right:before {\r\n content: \"\\f054\";\r\n}\r\n.fa-plus-circle:before {\r\n content: \"\\f055\";\r\n}\r\n.fa-minus-circle:before {\r\n content: \"\\f056\";\r\n}\r\n.fa-times-circle:before {\r\n content: \"\\f057\";\r\n}\r\n.fa-check-circle:before {\r\n content: \"\\f058\";\r\n}\r\n.fa-question-circle:before {\r\n content: \"\\f059\";\r\n}\r\n.fa-info-circle:before {\r\n content: \"\\f05a\";\r\n}\r\n.fa-crosshairs:before {\r\n content: \"\\f05b\";\r\n}\r\n.fa-times-circle-o:before {\r\n content: \"\\f05c\";\r\n}\r\n.fa-check-circle-o:before {\r\n content: \"\\f05d\";\r\n}\r\n.fa-ban:before {\r\n content: \"\\f05e\";\r\n}\r\n.fa-arrow-left:before {\r\n content: \"\\f060\";\r\n}\r\n.fa-arrow-right:before {\r\n content: \"\\f061\";\r\n}\r\n.fa-arrow-up:before {\r\n content: \"\\f062\";\r\n}\r\n.fa-arrow-down:before {\r\n content: \"\\f063\";\r\n}\r\n.fa-mail-forward:before,\r\n.fa-share:before {\r\n content: \"\\f064\";\r\n}\r\n.fa-expand:before {\r\n content: \"\\f065\";\r\n}\r\n.fa-compress:before {\r\n content: \"\\f066\";\r\n}\r\n.fa-plus:before {\r\n content: \"\\f067\";\r\n}\r\n.fa-minus:before {\r\n content: \"\\f068\";\r\n}\r\n.fa-asterisk:before {\r\n content: \"\\f069\";\r\n}\r\n.fa-exclamation-circle:before {\r\n content: \"\\f06a\";\r\n}\r\n.fa-gift:before {\r\n content: \"\\f06b\";\r\n}\r\n.fa-leaf:before {\r\n content: \"\\f06c\";\r\n}\r\n.fa-fire:before {\r\n content: \"\\f06d\";\r\n}\r\n.fa-eye:before {\r\n content: \"\\f06e\";\r\n}\r\n.fa-eye-slash:before {\r\n content: \"\\f070\";\r\n}\r\n.fa-warning:before,\r\n.fa-exclamation-triangle:before {\r\n content: \"\\f071\";\r\n}\r\n.fa-plane:before {\r\n content: \"\\f072\";\r\n}\r\n.fa-calendar:before {\r\n content: \"\\f073\";\r\n}\r\n.fa-random:before {\r\n content: \"\\f074\";\r\n}\r\n.fa-comment:before {\r\n content: \"\\f075\";\r\n}\r\n.fa-magnet:before {\r\n content: \"\\f076\";\r\n}\r\n.fa-chevron-up:before {\r\n content: \"\\f077\";\r\n}\r\n.fa-chevron-down:before {\r\n content: \"\\f078\";\r\n}\r\n.fa-retweet:before {\r\n content: \"\\f079\";\r\n}\r\n.fa-shopping-cart:before {\r\n content: \"\\f07a\";\r\n}\r\n.fa-folder:before {\r\n content: \"\\f07b\";\r\n}\r\n.fa-folder-open:before {\r\n content: \"\\f07c\";\r\n}\r\n.fa-arrows-v:before {\r\n content: \"\\f07d\";\r\n}\r\n.fa-arrows-h:before {\r\n content: \"\\f07e\";\r\n}\r\n.fa-bar-chart-o:before,\r\n.fa-bar-chart:before {\r\n content: \"\\f080\";\r\n}\r\n.fa-twitter-square:before {\r\n content: \"\\f081\";\r\n}\r\n.fa-facebook-square:before {\r\n content: \"\\f082\";\r\n}\r\n.fa-camera-retro:before {\r\n content: \"\\f083\";\r\n}\r\n.fa-key:before {\r\n content: \"\\f084\";\r\n}\r\n.fa-gears:before,\r\n.fa-cogs:before {\r\n content: \"\\f085\";\r\n}\r\n.fa-comments:before {\r\n content: \"\\f086\";\r\n}\r\n.fa-thumbs-o-up:before {\r\n content: \"\\f087\";\r\n}\r\n.fa-thumbs-o-down:before {\r\n content: \"\\f088\";\r\n}\r\n.fa-star-half:before {\r\n content: \"\\f089\";\r\n}\r\n.fa-heart-o:before {\r\n content: \"\\f08a\";\r\n}\r\n.fa-sign-out:before {\r\n content: \"\\f08b\";\r\n}\r\n.fa-linkedin-square:before {\r\n content: \"\\f08c\";\r\n}\r\n.fa-thumb-tack:before {\r\n content: \"\\f08d\";\r\n}\r\n.fa-external-link:before {\r\n content: \"\\f08e\";\r\n}\r\n.fa-sign-in:before {\r\n content: \"\\f090\";\r\n}\r\n.fa-trophy:before {\r\n content: \"\\f091\";\r\n}\r\n.fa-github-square:before {\r\n content: \"\\f092\";\r\n}\r\n.fa-upload:before {\r\n content: \"\\f093\";\r\n}\r\n.fa-lemon-o:before {\r\n content: \"\\f094\";\r\n}\r\n.fa-phone:before {\r\n content: \"\\f095\";\r\n}\r\n.fa-square-o:before {\r\n content: \"\\f096\";\r\n}\r\n.fa-bookmark-o:before {\r\n content: \"\\f097\";\r\n}\r\n.fa-phone-square:before {\r\n content: \"\\f098\";\r\n}\r\n.fa-twitter:before {\r\n content: \"\\f099\";\r\n}\r\n.fa-facebook-f:before,\r\n.fa-facebook:before {\r\n content: \"\\f09a\";\r\n}\r\n.fa-github:before {\r\n content: \"\\f09b\";\r\n}\r\n.fa-unlock:before {\r\n content: \"\\f09c\";\r\n}\r\n.fa-credit-card:before {\r\n content: \"\\f09d\";\r\n}\r\n.fa-feed:before,\r\n.fa-rss:before {\r\n content: \"\\f09e\";\r\n}\r\n.fa-hdd-o:before {\r\n content: \"\\f0a0\";\r\n}\r\n.fa-bullhorn:before {\r\n content: \"\\f0a1\";\r\n}\r\n.fa-bell:before {\r\n content: \"\\f0f3\";\r\n}\r\n.fa-certificate:before {\r\n content: \"\\f0a3\";\r\n}\r\n.fa-hand-o-right:before {\r\n content: \"\\f0a4\";\r\n}\r\n.fa-hand-o-left:before {\r\n content: \"\\f0a5\";\r\n}\r\n.fa-hand-o-up:before {\r\n content: \"\\f0a6\";\r\n}\r\n.fa-hand-o-down:before {\r\n content: \"\\f0a7\";\r\n}\r\n.fa-arrow-circle-left:before {\r\n content: \"\\f0a8\";\r\n}\r\n.fa-arrow-circle-right:before {\r\n content: \"\\f0a9\";\r\n}\r\n.fa-arrow-circle-up:before {\r\n content: \"\\f0aa\";\r\n}\r\n.fa-arrow-circle-down:before {\r\n content: \"\\f0ab\";\r\n}\r\n.fa-globe:before {\r\n content: \"\\f0ac\";\r\n}\r\n.fa-wrench:before {\r\n content: \"\\f0ad\";\r\n}\r\n.fa-tasks:before {\r\n content: \"\\f0ae\";\r\n}\r\n.fa-filter:before {\r\n content: \"\\f0b0\";\r\n}\r\n.fa-briefcase:before {\r\n content: \"\\f0b1\";\r\n}\r\n.fa-arrows-alt:before {\r\n content: \"\\f0b2\";\r\n}\r\n.fa-group:before,\r\n.fa-users:before {\r\n content: \"\\f0c0\";\r\n}\r\n.fa-chain:before,\r\n.fa-link:before {\r\n content: \"\\f0c1\";\r\n}\r\n.fa-cloud:before {\r\n content: \"\\f0c2\";\r\n}\r\n.fa-flask:before {\r\n content: \"\\f0c3\";\r\n}\r\n.fa-cut:before,\r\n.fa-scissors:before {\r\n content: \"\\f0c4\";\r\n}\r\n.fa-copy:before,\r\n.fa-files-o:before {\r\n content: \"\\f0c5\";\r\n}\r\n.fa-paperclip:before {\r\n content: \"\\f0c6\";\r\n}\r\n.fa-save:before,\r\n.fa-floppy-o:before {\r\n content: \"\\f0c7\";\r\n}\r\n.fa-square:before {\r\n content: \"\\f0c8\";\r\n}\r\n.fa-navicon:before,\r\n.fa-reorder:before,\r\n.fa-bars:before {\r\n content: \"\\f0c9\";\r\n}\r\n.fa-list-ul:before {\r\n content: \"\\f0ca\";\r\n}\r\n.fa-list-ol:before {\r\n content: \"\\f0cb\";\r\n}\r\n.fa-strikethrough:before {\r\n content: \"\\f0cc\";\r\n}\r\n.fa-underline:before {\r\n content: \"\\f0cd\";\r\n}\r\n.fa-table:before {\r\n content: \"\\f0ce\";\r\n}\r\n.fa-magic:before {\r\n content: \"\\f0d0\";\r\n}\r\n.fa-truck:before {\r\n content: \"\\f0d1\";\r\n}\r\n.fa-pinterest:before {\r\n content: \"\\f0d2\";\r\n}\r\n.fa-pinterest-square:before {\r\n content: \"\\f0d3\";\r\n}\r\n.fa-google-plus-square:before {\r\n content: \"\\f0d4\";\r\n}\r\n.fa-google-plus:before {\r\n content: \"\\f0d5\";\r\n}\r\n.fa-money:before {\r\n content: \"\\f0d6\";\r\n}\r\n.fa-caret-down:before {\r\n content: \"\\f0d7\";\r\n}\r\n.fa-caret-up:before {\r\n content: \"\\f0d8\";\r\n}\r\n.fa-caret-left:before {\r\n content: \"\\f0d9\";\r\n}\r\n.fa-caret-right:before {\r\n content: \"\\f0da\";\r\n}\r\n.fa-columns:before {\r\n content: \"\\f0db\";\r\n}\r\n.fa-unsorted:before,\r\n.fa-sort:before {\r\n content: \"\\f0dc\";\r\n}\r\n.fa-sort-down:before,\r\n.fa-sort-desc:before {\r\n content: \"\\f0dd\";\r\n}\r\n.fa-sort-up:before,\r\n.fa-sort-asc:before {\r\n content: \"\\f0de\";\r\n}\r\n.fa-envelope:before {\r\n content: \"\\f0e0\";\r\n}\r\n.fa-linkedin:before {\r\n content: \"\\f0e1\";\r\n}\r\n.fa-rotate-left:before,\r\n.fa-undo:before {\r\n content: \"\\f0e2\";\r\n}\r\n.fa-legal:before,\r\n.fa-gavel:before {\r\n content: \"\\f0e3\";\r\n}\r\n.fa-dashboard:before,\r\n.fa-tachometer:before {\r\n content: \"\\f0e4\";\r\n}\r\n.fa-comment-o:before {\r\n content: \"\\f0e5\";\r\n}\r\n.fa-comments-o:before {\r\n content: \"\\f0e6\";\r\n}\r\n.fa-flash:before,\r\n.fa-bolt:before {\r\n content: \"\\f0e7\";\r\n}\r\n.fa-sitemap:before {\r\n content: \"\\f0e8\";\r\n}\r\n.fa-umbrella:before {\r\n content: \"\\f0e9\";\r\n}\r\n.fa-paste:before,\r\n.fa-clipboard:before {\r\n content: \"\\f0ea\";\r\n}\r\n.fa-lightbulb-o:before {\r\n content: \"\\f0eb\";\r\n}\r\n.fa-exchange:before {\r\n content: \"\\f0ec\";\r\n}\r\n.fa-cloud-download:before {\r\n content: \"\\f0ed\";\r\n}\r\n.fa-cloud-upload:before {\r\n content: \"\\f0ee\";\r\n}\r\n.fa-user-md:before {\r\n content: \"\\f0f0\";\r\n}\r\n.fa-stethoscope:before {\r\n content: \"\\f0f1\";\r\n}\r\n.fa-suitcase:before {\r\n content: \"\\f0f2\";\r\n}\r\n.fa-bell-o:before {\r\n content: \"\\f0a2\";\r\n}\r\n.fa-coffee:before {\r\n content: \"\\f0f4\";\r\n}\r\n.fa-cutlery:before {\r\n content: \"\\f0f5\";\r\n}\r\n.fa-file-text-o:before {\r\n content: \"\\f0f6\";\r\n}\r\n.fa-building-o:before {\r\n content: \"\\f0f7\";\r\n}\r\n.fa-hospital-o:before {\r\n content: \"\\f0f8\";\r\n}\r\n.fa-ambulance:before {\r\n content: \"\\f0f9\";\r\n}\r\n.fa-medkit:before {\r\n content: \"\\f0fa\";\r\n}\r\n.fa-fighter-jet:before {\r\n content: \"\\f0fb\";\r\n}\r\n.fa-beer:before {\r\n content: \"\\f0fc\";\r\n}\r\n.fa-h-square:before {\r\n content: \"\\f0fd\";\r\n}\r\n.fa-plus-square:before {\r\n content: \"\\f0fe\";\r\n}\r\n.fa-angle-double-left:before {\r\n content: \"\\f100\";\r\n}\r\n.fa-angle-double-right:before {\r\n content: \"\\f101\";\r\n}\r\n.fa-angle-double-up:before {\r\n content: \"\\f102\";\r\n}\r\n.fa-angle-double-down:before {\r\n content: \"\\f103\";\r\n}\r\n.fa-angle-left:before {\r\n content: \"\\f104\";\r\n}\r\n.fa-angle-right:before {\r\n content: \"\\f105\";\r\n}\r\n.fa-angle-up:before {\r\n content: \"\\f106\";\r\n}\r\n.fa-angle-down:before {\r\n content: \"\\f107\";\r\n}\r\n.fa-desktop:before {\r\n content: \"\\f108\";\r\n}\r\n.fa-laptop:before {\r\n content: \"\\f109\";\r\n}\r\n.fa-tablet:before {\r\n content: \"\\f10a\";\r\n}\r\n.fa-mobile-phone:before,\r\n.fa-mobile:before {\r\n content: \"\\f10b\";\r\n}\r\n.fa-circle-o:before {\r\n content: \"\\f10c\";\r\n}\r\n.fa-quote-left:before {\r\n content: \"\\f10d\";\r\n}\r\n.fa-quote-right:before {\r\n content: \"\\f10e\";\r\n}\r\n.fa-spinner:before {\r\n content: \"\\f110\";\r\n}\r\n.fa-circle:before {\r\n content: \"\\f111\";\r\n}\r\n.fa-mail-reply:before,\r\n.fa-reply:before {\r\n content: \"\\f112\";\r\n}\r\n.fa-github-alt:before {\r\n content: \"\\f113\";\r\n}\r\n.fa-folder-o:before {\r\n content: \"\\f114\";\r\n}\r\n.fa-folder-open-o:before {\r\n content: \"\\f115\";\r\n}\r\n.fa-smile-o:before {\r\n content: \"\\f118\";\r\n}\r\n.fa-frown-o:before {\r\n content: \"\\f119\";\r\n}\r\n.fa-meh-o:before {\r\n content: \"\\f11a\";\r\n}\r\n.fa-gamepad:before {\r\n content: \"\\f11b\";\r\n}\r\n.fa-keyboard-o:before {\r\n content: \"\\f11c\";\r\n}\r\n.fa-flag-o:before {\r\n content: \"\\f11d\";\r\n}\r\n.fa-flag-checkered:before {\r\n content: \"\\f11e\";\r\n}\r\n.fa-terminal:before {\r\n content: \"\\f120\";\r\n}\r\n.fa-code:before {\r\n content: \"\\f121\";\r\n}\r\n.fa-mail-reply-all:before,\r\n.fa-reply-all:before {\r\n content: \"\\f122\";\r\n}\r\n.fa-star-half-empty:before,\r\n.fa-star-half-full:before,\r\n.fa-star-half-o:before {\r\n content: \"\\f123\";\r\n}\r\n.fa-location-arrow:before {\r\n content: \"\\f124\";\r\n}\r\n.fa-crop:before {\r\n content: \"\\f125\";\r\n}\r\n.fa-code-fork:before {\r\n content: \"\\f126\";\r\n}\r\n.fa-unlink:before,\r\n.fa-chain-broken:before {\r\n content: \"\\f127\";\r\n}\r\n.fa-question:before {\r\n content: \"\\f128\";\r\n}\r\n.fa-info:before {\r\n content: \"\\f129\";\r\n}\r\n.fa-exclamation:before {\r\n content: \"\\f12a\";\r\n}\r\n.fa-superscript:before {\r\n content: \"\\f12b\";\r\n}\r\n.fa-subscript:before {\r\n content: \"\\f12c\";\r\n}\r\n.fa-eraser:before {\r\n content: \"\\f12d\";\r\n}\r\n.fa-puzzle-piece:before {\r\n content: \"\\f12e\";\r\n}\r\n.fa-microphone:before {\r\n content: \"\\f130\";\r\n}\r\n.fa-microphone-slash:before {\r\n content: \"\\f131\";\r\n}\r\n.fa-shield:before {\r\n content: \"\\f132\";\r\n}\r\n.fa-calendar-o:before {\r\n content: \"\\f133\";\r\n}\r\n.fa-fire-extinguisher:before {\r\n content: \"\\f134\";\r\n}\r\n.fa-rocket:before {\r\n content: \"\\f135\";\r\n}\r\n.fa-maxcdn:before {\r\n content: \"\\f136\";\r\n}\r\n.fa-chevron-circle-left:before {\r\n content: \"\\f137\";\r\n}\r\n.fa-chevron-circle-right:before {\r\n content: \"\\f138\";\r\n}\r\n.fa-chevron-circle-up:before {\r\n content: \"\\f139\";\r\n}\r\n.fa-chevron-circle-down:before {\r\n content: \"\\f13a\";\r\n}\r\n.fa-html5:before {\r\n content: \"\\f13b\";\r\n}\r\n.fa-css3:before {\r\n content: \"\\f13c\";\r\n}\r\n.fa-anchor:before {\r\n content: \"\\f13d\";\r\n}\r\n.fa-unlock-alt:before {\r\n content: \"\\f13e\";\r\n}\r\n.fa-bullseye:before {\r\n content: \"\\f140\";\r\n}\r\n.fa-ellipsis-h:before {\r\n content: \"\\f141\";\r\n}\r\n.fa-ellipsis-v:before {\r\n content: \"\\f142\";\r\n}\r\n.fa-rss-square:before {\r\n content: \"\\f143\";\r\n}\r\n.fa-play-circle:before {\r\n content: \"\\f144\";\r\n}\r\n.fa-ticket:before {\r\n content: \"\\f145\";\r\n}\r\n.fa-minus-square:before {\r\n content: \"\\f146\";\r\n}\r\n.fa-minus-square-o:before {\r\n content: \"\\f147\";\r\n}\r\n.fa-level-up:before {\r\n content: \"\\f148\";\r\n}\r\n.fa-level-down:before {\r\n content: \"\\f149\";\r\n}\r\n.fa-check-square:before {\r\n content: \"\\f14a\";\r\n}\r\n.fa-pencil-square:before {\r\n content: \"\\f14b\";\r\n}\r\n.fa-external-link-square:before {\r\n content: \"\\f14c\";\r\n}\r\n.fa-share-square:before {\r\n content: \"\\f14d\";\r\n}\r\n.fa-compass:before {\r\n content: \"\\f14e\";\r\n}\r\n.fa-toggle-down:before,\r\n.fa-caret-square-o-down:before {\r\n content: \"\\f150\";\r\n}\r\n.fa-toggle-up:before,\r\n.fa-caret-square-o-up:before {\r\n content: \"\\f151\";\r\n}\r\n.fa-toggle-right:before,\r\n.fa-caret-square-o-right:before {\r\n content: \"\\f152\";\r\n}\r\n.fa-euro:before,\r\n.fa-eur:before {\r\n content: \"\\f153\";\r\n}\r\n.fa-gbp:before {\r\n content: \"\\f154\";\r\n}\r\n.fa-dollar:before,\r\n.fa-usd:before {\r\n content: \"\\f155\";\r\n}\r\n.fa-rupee:before,\r\n.fa-inr:before {\r\n content: \"\\f156\";\r\n}\r\n.fa-cny:before,\r\n.fa-rmb:before,\r\n.fa-yen:before,\r\n.fa-jpy:before {\r\n content: \"\\f157\";\r\n}\r\n.fa-ruble:before,\r\n.fa-rouble:before,\r\n.fa-rub:before {\r\n content: \"\\f158\";\r\n}\r\n.fa-won:before,\r\n.fa-krw:before {\r\n content: \"\\f159\";\r\n}\r\n.fa-bitcoin:before,\r\n.fa-btc:before {\r\n content: \"\\f15a\";\r\n}\r\n.fa-file:before {\r\n content: \"\\f15b\";\r\n}\r\n.fa-file-text:before {\r\n content: \"\\f15c\";\r\n}\r\n.fa-sort-alpha-asc:before {\r\n content: \"\\f15d\";\r\n}\r\n.fa-sort-alpha-desc:before {\r\n content: \"\\f15e\";\r\n}\r\n.fa-sort-amount-asc:before {\r\n content: \"\\f160\";\r\n}\r\n.fa-sort-amount-desc:before {\r\n content: \"\\f161\";\r\n}\r\n.fa-sort-numeric-asc:before {\r\n content: \"\\f162\";\r\n}\r\n.fa-sort-numeric-desc:before {\r\n content: \"\\f163\";\r\n}\r\n.fa-thumbs-up:before {\r\n content: \"\\f164\";\r\n}\r\n.fa-thumbs-down:before {\r\n content: \"\\f165\";\r\n}\r\n.fa-youtube-square:before {\r\n content: \"\\f166\";\r\n}\r\n.fa-youtube:before {\r\n content: \"\\f167\";\r\n}\r\n.fa-xing:before {\r\n content: \"\\f168\";\r\n}\r\n.fa-xing-square:before {\r\n content: \"\\f169\";\r\n}\r\n.fa-youtube-play:before {\r\n content: \"\\f16a\";\r\n}\r\n.fa-dropbox:before {\r\n content: \"\\f16b\";\r\n}\r\n.fa-stack-overflow:before {\r\n content: \"\\f16c\";\r\n}\r\n.fa-instagram:before {\r\n content: \"\\f16d\";\r\n}\r\n.fa-flickr:before {\r\n content: \"\\f16e\";\r\n}\r\n.fa-adn:before {\r\n content: \"\\f170\";\r\n}\r\n.fa-bitbucket:before {\r\n content: \"\\f171\";\r\n}\r\n.fa-bitbucket-square:before {\r\n content: \"\\f172\";\r\n}\r\n.fa-tumblr:before {\r\n content: \"\\f173\";\r\n}\r\n.fa-tumblr-square:before {\r\n content: \"\\f174\";\r\n}\r\n.fa-long-arrow-down:before {\r\n content: \"\\f175\";\r\n}\r\n.fa-long-arrow-up:before {\r\n content: \"\\f176\";\r\n}\r\n.fa-long-arrow-left:before {\r\n content: \"\\f177\";\r\n}\r\n.fa-long-arrow-right:before {\r\n content: \"\\f178\";\r\n}\r\n.fa-apple:before {\r\n content: \"\\f179\";\r\n}\r\n.fa-windows:before {\r\n content: \"\\f17a\";\r\n}\r\n.fa-android:before {\r\n content: \"\\f17b\";\r\n}\r\n.fa-linux:before {\r\n content: \"\\f17c\";\r\n}\r\n.fa-dribbble:before {\r\n content: \"\\f17d\";\r\n}\r\n.fa-skype:before {\r\n content: \"\\f17e\";\r\n}\r\n.fa-foursquare:before {\r\n content: \"\\f180\";\r\n}\r\n.fa-trello:before {\r\n content: \"\\f181\";\r\n}\r\n.fa-female:before {\r\n content: \"\\f182\";\r\n}\r\n.fa-male:before {\r\n content: \"\\f183\";\r\n}\r\n.fa-gittip:before,\r\n.fa-gratipay:before {\r\n content: \"\\f184\";\r\n}\r\n.fa-sun-o:before {\r\n content: \"\\f185\";\r\n}\r\n.fa-moon-o:before {\r\n content: \"\\f186\";\r\n}\r\n.fa-archive:before {\r\n content: \"\\f187\";\r\n}\r\n.fa-bug:before {\r\n content: \"\\f188\";\r\n}\r\n.fa-vk:before {\r\n content: \"\\f189\";\r\n}\r\n.fa-weibo:before {\r\n content: \"\\f18a\";\r\n}\r\n.fa-renren:before {\r\n content: \"\\f18b\";\r\n}\r\n.fa-pagelines:before {\r\n content: \"\\f18c\";\r\n}\r\n.fa-stack-exchange:before {\r\n content: \"\\f18d\";\r\n}\r\n.fa-arrow-circle-o-right:before {\r\n content: \"\\f18e\";\r\n}\r\n.fa-arrow-circle-o-left:before {\r\n content: \"\\f190\";\r\n}\r\n.fa-toggle-left:before,\r\n.fa-caret-square-o-left:before {\r\n content: \"\\f191\";\r\n}\r\n.fa-dot-circle-o:before {\r\n content: \"\\f192\";\r\n}\r\n.fa-wheelchair:before {\r\n content: \"\\f193\";\r\n}\r\n.fa-vimeo-square:before {\r\n content: \"\\f194\";\r\n}\r\n.fa-turkish-lira:before,\r\n.fa-try:before {\r\n content: \"\\f195\";\r\n}\r\n.fa-plus-square-o:before {\r\n content: \"\\f196\";\r\n}\r\n.fa-space-shuttle:before {\r\n content: \"\\f197\";\r\n}\r\n.fa-slack:before {\r\n content: \"\\f198\";\r\n}\r\n.fa-envelope-square:before {\r\n content: \"\\f199\";\r\n}\r\n.fa-wordpress:before {\r\n content: \"\\f19a\";\r\n}\r\n.fa-openid:before {\r\n content: \"\\f19b\";\r\n}\r\n.fa-institution:before,\r\n.fa-bank:before,\r\n.fa-university:before {\r\n content: \"\\f19c\";\r\n}\r\n.fa-mortar-board:before,\r\n.fa-graduation-cap:before {\r\n content: \"\\f19d\";\r\n}\r\n.fa-yahoo:before {\r\n content: \"\\f19e\";\r\n}\r\n.fa-google:before {\r\n content: \"\\f1a0\";\r\n}\r\n.fa-reddit:before {\r\n content: \"\\f1a1\";\r\n}\r\n.fa-reddit-square:before {\r\n content: \"\\f1a2\";\r\n}\r\n.fa-stumbleupon-circle:before {\r\n content: \"\\f1a3\";\r\n}\r\n.fa-stumbleupon:before {\r\n content: \"\\f1a4\";\r\n}\r\n.fa-delicious:before {\r\n content: \"\\f1a5\";\r\n}\r\n.fa-digg:before {\r\n content: \"\\f1a6\";\r\n}\r\n.fa-pied-piper:before {\r\n content: \"\\f1a7\";\r\n}\r\n.fa-pied-piper-alt:before {\r\n content: \"\\f1a8\";\r\n}\r\n.fa-drupal:before {\r\n content: \"\\f1a9\";\r\n}\r\n.fa-joomla:before {\r\n content: \"\\f1aa\";\r\n}\r\n.fa-language:before {\r\n content: \"\\f1ab\";\r\n}\r\n.fa-fax:before {\r\n content: \"\\f1ac\";\r\n}\r\n.fa-building:before {\r\n content: \"\\f1ad\";\r\n}\r\n.fa-child:before {\r\n content: \"\\f1ae\";\r\n}\r\n.fa-paw:before {\r\n content: \"\\f1b0\";\r\n}\r\n.fa-spoon:before {\r\n content: \"\\f1b1\";\r\n}\r\n.fa-cube:before {\r\n content: \"\\f1b2\";\r\n}\r\n.fa-cubes:before {\r\n content: \"\\f1b3\";\r\n}\r\n.fa-behance:before {\r\n content: \"\\f1b4\";\r\n}\r\n.fa-behance-square:before {\r\n content: \"\\f1b5\";\r\n}\r\n.fa-steam:before {\r\n content: \"\\f1b6\";\r\n}\r\n.fa-steam-square:before {\r\n content: \"\\f1b7\";\r\n}\r\n.fa-recycle:before {\r\n content: \"\\f1b8\";\r\n}\r\n.fa-automobile:before,\r\n.fa-car:before {\r\n content: \"\\f1b9\";\r\n}\r\n.fa-cab:before,\r\n.fa-taxi:before {\r\n content: \"\\f1ba\";\r\n}\r\n.fa-tree:before {\r\n content: \"\\f1bb\";\r\n}\r\n.fa-spotify:before {\r\n content: \"\\f1bc\";\r\n}\r\n.fa-deviantart:before {\r\n content: \"\\f1bd\";\r\n}\r\n.fa-soundcloud:before {\r\n content: \"\\f1be\";\r\n}\r\n.fa-database:before {\r\n content: \"\\f1c0\";\r\n}\r\n.fa-file-pdf-o:before {\r\n content: \"\\f1c1\";\r\n}\r\n.fa-file-word-o:before {\r\n content: \"\\f1c2\";\r\n}\r\n.fa-file-excel-o:before {\r\n content: \"\\f1c3\";\r\n}\r\n.fa-file-powerpoint-o:before {\r\n content: \"\\f1c4\";\r\n}\r\n.fa-file-photo-o:before,\r\n.fa-file-picture-o:before,\r\n.fa-file-image-o:before {\r\n content: \"\\f1c5\";\r\n}\r\n.fa-file-zip-o:before,\r\n.fa-file-archive-o:before {\r\n content: \"\\f1c6\";\r\n}\r\n.fa-file-sound-o:before,\r\n.fa-file-audio-o:before {\r\n content: \"\\f1c7\";\r\n}\r\n.fa-file-movie-o:before,\r\n.fa-file-video-o:before {\r\n content: \"\\f1c8\";\r\n}\r\n.fa-file-code-o:before {\r\n content: \"\\f1c9\";\r\n}\r\n.fa-vine:before {\r\n content: \"\\f1ca\";\r\n}\r\n.fa-codepen:before {\r\n content: \"\\f1cb\";\r\n}\r\n.fa-jsfiddle:before {\r\n content: \"\\f1cc\";\r\n}\r\n.fa-life-bouy:before,\r\n.fa-life-buoy:before,\r\n.fa-life-saver:before,\r\n.fa-support:before,\r\n.fa-life-ring:before {\r\n content: \"\\f1cd\";\r\n}\r\n.fa-circle-o-notch:before {\r\n content: \"\\f1ce\";\r\n}\r\n.fa-ra:before,\r\n.fa-rebel:before {\r\n content: \"\\f1d0\";\r\n}\r\n.fa-ge:before,\r\n.fa-empire:before {\r\n content: \"\\f1d1\";\r\n}\r\n.fa-git-square:before {\r\n content: \"\\f1d2\";\r\n}\r\n.fa-git:before {\r\n content: \"\\f1d3\";\r\n}\r\n.fa-y-combinator-square:before,\r\n.fa-yc-square:before,\r\n.fa-hacker-news:before {\r\n content: \"\\f1d4\";\r\n}\r\n.fa-tencent-weibo:before {\r\n content: \"\\f1d5\";\r\n}\r\n.fa-qq:before {\r\n content: \"\\f1d6\";\r\n}\r\n.fa-wechat:before,\r\n.fa-weixin:before {\r\n content: \"\\f1d7\";\r\n}\r\n.fa-send:before,\r\n.fa-paper-plane:before {\r\n content: \"\\f1d8\";\r\n}\r\n.fa-send-o:before,\r\n.fa-paper-plane-o:before {\r\n content: \"\\f1d9\";\r\n}\r\n.fa-history:before {\r\n content: \"\\f1da\";\r\n}\r\n.fa-circle-thin:before {\r\n content: \"\\f1db\";\r\n}\r\n.fa-header:before {\r\n content: \"\\f1dc\";\r\n}\r\n.fa-paragraph:before {\r\n content: \"\\f1dd\";\r\n}\r\n.fa-sliders:before {\r\n content: \"\\f1de\";\r\n}\r\n.fa-share-alt:before {\r\n content: \"\\f1e0\";\r\n}\r\n.fa-share-alt-square:before {\r\n content: \"\\f1e1\";\r\n}\r\n.fa-bomb:before {\r\n content: \"\\f1e2\";\r\n}\r\n.fa-soccer-ball-o:before,\r\n.fa-futbol-o:before {\r\n content: \"\\f1e3\";\r\n}\r\n.fa-tty:before {\r\n content: \"\\f1e4\";\r\n}\r\n.fa-binoculars:before {\r\n content: \"\\f1e5\";\r\n}\r\n.fa-plug:before {\r\n content: \"\\f1e6\";\r\n}\r\n.fa-slideshare:before {\r\n content: \"\\f1e7\";\r\n}\r\n.fa-twitch:before {\r\n content: \"\\f1e8\";\r\n}\r\n.fa-yelp:before {\r\n content: \"\\f1e9\";\r\n}\r\n.fa-newspaper-o:before {\r\n content: \"\\f1ea\";\r\n}\r\n.fa-wifi:before {\r\n content: \"\\f1eb\";\r\n}\r\n.fa-calculator:before {\r\n content: \"\\f1ec\";\r\n}\r\n.fa-paypal:before {\r\n content: \"\\f1ed\";\r\n}\r\n.fa-google-wallet:before {\r\n content: \"\\f1ee\";\r\n}\r\n.fa-cc-visa:before {\r\n content: \"\\f1f0\";\r\n}\r\n.fa-cc-mastercard:before {\r\n content: \"\\f1f1\";\r\n}\r\n.fa-cc-discover:before {\r\n content: \"\\f1f2\";\r\n}\r\n.fa-cc-amex:before {\r\n content: \"\\f1f3\";\r\n}\r\n.fa-cc-paypal:before {\r\n content: \"\\f1f4\";\r\n}\r\n.fa-cc-stripe:before {\r\n content: \"\\f1f5\";\r\n}\r\n.fa-bell-slash:before {\r\n content: \"\\f1f6\";\r\n}\r\n.fa-bell-slash-o:before {\r\n content: \"\\f1f7\";\r\n}\r\n.fa-trash:before {\r\n content: \"\\f1f8\";\r\n}\r\n.fa-copyright:before {\r\n content: \"\\f1f9\";\r\n}\r\n.fa-at:before {\r\n content: \"\\f1fa\";\r\n}\r\n.fa-eyedropper:before {\r\n content: \"\\f1fb\";\r\n}\r\n.fa-paint-brush:before {\r\n content: \"\\f1fc\";\r\n}\r\n.fa-birthday-cake:before {\r\n content: \"\\f1fd\";\r\n}\r\n.fa-area-chart:before {\r\n content: \"\\f1fe\";\r\n}\r\n.fa-pie-chart:before {\r\n content: \"\\f200\";\r\n}\r\n.fa-line-chart:before {\r\n content: \"\\f201\";\r\n}\r\n.fa-lastfm:before {\r\n content: \"\\f202\";\r\n}\r\n.fa-lastfm-square:before {\r\n content: \"\\f203\";\r\n}\r\n.fa-toggle-off:before {\r\n content: \"\\f204\";\r\n}\r\n.fa-toggle-on:before {\r\n content: \"\\f205\";\r\n}\r\n.fa-bicycle:before {\r\n content: \"\\f206\";\r\n}\r\n.fa-bus:before {\r\n content: \"\\f207\";\r\n}\r\n.fa-ioxhost:before {\r\n content: \"\\f208\";\r\n}\r\n.fa-angellist:before {\r\n content: \"\\f209\";\r\n}\r\n.fa-cc:before {\r\n content: \"\\f20a\";\r\n}\r\n.fa-shekel:before,\r\n.fa-sheqel:before,\r\n.fa-ils:before {\r\n content: \"\\f20b\";\r\n}\r\n.fa-meanpath:before {\r\n content: \"\\f20c\";\r\n}\r\n.fa-buysellads:before {\r\n content: \"\\f20d\";\r\n}\r\n.fa-connectdevelop:before {\r\n content: \"\\f20e\";\r\n}\r\n.fa-dashcube:before {\r\n content: \"\\f210\";\r\n}\r\n.fa-forumbee:before {\r\n content: \"\\f211\";\r\n}\r\n.fa-leanpub:before {\r\n content: \"\\f212\";\r\n}\r\n.fa-sellsy:before {\r\n content: \"\\f213\";\r\n}\r\n.fa-shirtsinbulk:before {\r\n content: \"\\f214\";\r\n}\r\n.fa-simplybuilt:before {\r\n content: \"\\f215\";\r\n}\r\n.fa-skyatlas:before {\r\n content: \"\\f216\";\r\n}\r\n.fa-cart-plus:before {\r\n content: \"\\f217\";\r\n}\r\n.fa-cart-arrow-down:before {\r\n content: \"\\f218\";\r\n}\r\n.fa-diamond:before {\r\n content: \"\\f219\";\r\n}\r\n.fa-ship:before {\r\n content: \"\\f21a\";\r\n}\r\n.fa-user-secret:before {\r\n content: \"\\f21b\";\r\n}\r\n.fa-motorcycle:before {\r\n content: \"\\f21c\";\r\n}\r\n.fa-street-view:before {\r\n content: \"\\f21d\";\r\n}\r\n.fa-heartbeat:before {\r\n content: \"\\f21e\";\r\n}\r\n.fa-venus:before {\r\n content: \"\\f221\";\r\n}\r\n.fa-mars:before {\r\n content: \"\\f222\";\r\n}\r\n.fa-mercury:before {\r\n content: \"\\f223\";\r\n}\r\n.fa-intersex:before,\r\n.fa-transgender:before {\r\n content: \"\\f224\";\r\n}\r\n.fa-transgender-alt:before {\r\n content: \"\\f225\";\r\n}\r\n.fa-venus-double:before {\r\n content: \"\\f226\";\r\n}\r\n.fa-mars-double:before {\r\n content: \"\\f227\";\r\n}\r\n.fa-venus-mars:before {\r\n content: \"\\f228\";\r\n}\r\n.fa-mars-stroke:before {\r\n content: \"\\f229\";\r\n}\r\n.fa-mars-stroke-v:before {\r\n content: \"\\f22a\";\r\n}\r\n.fa-mars-stroke-h:before {\r\n content: \"\\f22b\";\r\n}\r\n.fa-neuter:before {\r\n content: \"\\f22c\";\r\n}\r\n.fa-genderless:before {\r\n content: \"\\f22d\";\r\n}\r\n.fa-facebook-official:before {\r\n content: \"\\f230\";\r\n}\r\n.fa-pinterest-p:before {\r\n content: \"\\f231\";\r\n}\r\n.fa-whatsapp:before {\r\n content: \"\\f232\";\r\n}\r\n.fa-server:before {\r\n content: \"\\f233\";\r\n}\r\n.fa-user-plus:before {\r\n content: \"\\f234\";\r\n}\r\n.fa-user-times:before {\r\n content: \"\\f235\";\r\n}\r\n.fa-hotel:before,\r\n.fa-bed:before {\r\n content: \"\\f236\";\r\n}\r\n.fa-viacoin:before {\r\n content: \"\\f237\";\r\n}\r\n.fa-train:before {\r\n content: \"\\f238\";\r\n}\r\n.fa-subway:before {\r\n content: \"\\f239\";\r\n}\r\n.fa-medium:before {\r\n content: \"\\f23a\";\r\n}\r\n.fa-yc:before,\r\n.fa-y-combinator:before {\r\n content: \"\\f23b\";\r\n}\r\n.fa-optin-monster:before {\r\n content: \"\\f23c\";\r\n}\r\n.fa-opencart:before {\r\n content: \"\\f23d\";\r\n}\r\n.fa-expeditedssl:before {\r\n content: \"\\f23e\";\r\n}\r\n.fa-battery-4:before,\r\n.fa-battery-full:before {\r\n content: \"\\f240\";\r\n}\r\n.fa-battery-3:before,\r\n.fa-battery-three-quarters:before {\r\n content: \"\\f241\";\r\n}\r\n.fa-battery-2:before,\r\n.fa-battery-half:before {\r\n content: \"\\f242\";\r\n}\r\n.fa-battery-1:before,\r\n.fa-battery-quarter:before {\r\n content: \"\\f243\";\r\n}\r\n.fa-battery-0:before,\r\n.fa-battery-empty:before {\r\n content: \"\\f244\";\r\n}\r\n.fa-mouse-pointer:before {\r\n content: \"\\f245\";\r\n}\r\n.fa-i-cursor:before {\r\n content: \"\\f246\";\r\n}\r\n.fa-object-group:before {\r\n content: \"\\f247\";\r\n}\r\n.fa-object-ungroup:before {\r\n content: \"\\f248\";\r\n}\r\n.fa-sticky-note:before {\r\n content: \"\\f249\";\r\n}\r\n.fa-sticky-note-o:before {\r\n content: \"\\f24a\";\r\n}\r\n.fa-cc-jcb:before {\r\n content: \"\\f24b\";\r\n}\r\n.fa-cc-diners-club:before {\r\n content: \"\\f24c\";\r\n}\r\n.fa-clone:before {\r\n content: \"\\f24d\";\r\n}\r\n.fa-balance-scale:before {\r\n content: \"\\f24e\";\r\n}\r\n.fa-hourglass-o:before {\r\n content: \"\\f250\";\r\n}\r\n.fa-hourglass-1:before,\r\n.fa-hourglass-start:before {\r\n content: \"\\f251\";\r\n}\r\n.fa-hourglass-2:before,\r\n.fa-hourglass-half:before {\r\n content: \"\\f252\";\r\n}\r\n.fa-hourglass-3:before,\r\n.fa-hourglass-end:before {\r\n content: \"\\f253\";\r\n}\r\n.fa-hourglass:before {\r\n content: \"\\f254\";\r\n}\r\n.fa-hand-grab-o:before,\r\n.fa-hand-rock-o:before {\r\n content: \"\\f255\";\r\n}\r\n.fa-hand-stop-o:before,\r\n.fa-hand-paper-o:before {\r\n content: \"\\f256\";\r\n}\r\n.fa-hand-scissors-o:before {\r\n content: \"\\f257\";\r\n}\r\n.fa-hand-lizard-o:before {\r\n content: \"\\f258\";\r\n}\r\n.fa-hand-spock-o:before {\r\n content: \"\\f259\";\r\n}\r\n.fa-hand-pointer-o:before {\r\n content: \"\\f25a\";\r\n}\r\n.fa-hand-peace-o:before {\r\n content: \"\\f25b\";\r\n}\r\n.fa-trademark:before {\r\n content: \"\\f25c\";\r\n}\r\n.fa-registered:before {\r\n content: \"\\f25d\";\r\n}\r\n.fa-creative-commons:before {\r\n content: \"\\f25e\";\r\n}\r\n.fa-gg:before {\r\n content: \"\\f260\";\r\n}\r\n.fa-gg-circle:before {\r\n content: \"\\f261\";\r\n}\r\n.fa-tripadvisor:before {\r\n content: \"\\f262\";\r\n}\r\n.fa-odnoklassniki:before {\r\n content: \"\\f263\";\r\n}\r\n.fa-odnoklassniki-square:before {\r\n content: \"\\f264\";\r\n}\r\n.fa-get-pocket:before {\r\n content: \"\\f265\";\r\n}\r\n.fa-wikipedia-w:before {\r\n content: \"\\f266\";\r\n}\r\n.fa-safari:before {\r\n content: \"\\f267\";\r\n}\r\n.fa-chrome:before {\r\n content: \"\\f268\";\r\n}\r\n.fa-firefox:before {\r\n content: \"\\f269\";\r\n}\r\n.fa-opera:before {\r\n content: \"\\f26a\";\r\n}\r\n.fa-internet-explorer:before {\r\n content: \"\\f26b\";\r\n}\r\n.fa-tv:before,\r\n.fa-television:before {\r\n content: \"\\f26c\";\r\n}\r\n.fa-contao:before {\r\n content: \"\\f26d\";\r\n}\r\n.fa-500px:before {\r\n content: \"\\f26e\";\r\n}\r\n.fa-amazon:before {\r\n content: \"\\f270\";\r\n}\r\n.fa-calendar-plus-o:before {\r\n content: \"\\f271\";\r\n}\r\n.fa-calendar-minus-o:before {\r\n content: \"\\f272\";\r\n}\r\n.fa-calendar-times-o:before {\r\n content: \"\\f273\";\r\n}\r\n.fa-calendar-check-o:before {\r\n content: \"\\f274\";\r\n}\r\n.fa-industry:before {\r\n content: \"\\f275\";\r\n}\r\n.fa-map-pin:before {\r\n content: \"\\f276\";\r\n}\r\n.fa-map-signs:before {\r\n content: \"\\f277\";\r\n}\r\n.fa-map-o:before {\r\n content: \"\\f278\";\r\n}\r\n.fa-map:before {\r\n content: \"\\f279\";\r\n}\r\n.fa-commenting:before {\r\n content: \"\\f27a\";\r\n}\r\n.fa-commenting-o:before {\r\n content: \"\\f27b\";\r\n}\r\n.fa-houzz:before {\r\n content: \"\\f27c\";\r\n}\r\n.fa-vimeo:before {\r\n content: \"\\f27d\";\r\n}\r\n.fa-black-tie:before {\r\n content: \"\\f27e\";\r\n}\r\n.fa-fonticons:before {\r\n content: \"\\f280\";\r\n}\r\n.fa-reddit-alien:before {\r\n content: \"\\f281\";\r\n}\r\n.fa-edge:before {\r\n content: \"\\f282\";\r\n}\r\n.fa-credit-card-alt:before {\r\n content: \"\\f283\";\r\n}\r\n.fa-codiepie:before {\r\n content: \"\\f284\";\r\n}\r\n.fa-modx:before {\r\n content: \"\\f285\";\r\n}\r\n.fa-fort-awesome:before {\r\n content: \"\\f286\";\r\n}\r\n.fa-usb:before {\r\n content: \"\\f287\";\r\n}\r\n.fa-product-hunt:before {\r\n content: \"\\f288\";\r\n}\r\n.fa-mixcloud:before {\r\n content: \"\\f289\";\r\n}\r\n.fa-scribd:before {\r\n content: \"\\f28a\";\r\n}\r\n.fa-pause-circle:before {\r\n content: \"\\f28b\";\r\n}\r\n.fa-pause-circle-o:before {\r\n content: \"\\f28c\";\r\n}\r\n.fa-stop-circle:before {\r\n content: \"\\f28d\";\r\n}\r\n.fa-stop-circle-o:before {\r\n content: \"\\f28e\";\r\n}\r\n.fa-shopping-bag:before {\r\n content: \"\\f290\";\r\n}\r\n.fa-shopping-basket:before {\r\n content: \"\\f291\";\r\n}\r\n.fa-hashtag:before {\r\n content: \"\\f292\";\r\n}\r\n.fa-bluetooth:before {\r\n content: \"\\f293\";\r\n}\r\n.fa-bluetooth-b:before {\r\n content: \"\\f294\";\r\n}\r\n.fa-percent:before {\r\n content: \"\\f295\";\r\n}\r\n/*!\r\n * Material Design Iconic Font 1.0.1 by Sergey Kupletsky (@zavoloklom) - http://zavoloklom.github.io/material-design-iconic-font/\r\n * License - https://github.com/zavoloklom/material-design-iconic-font/blob/gh-pages/License.md (Attribution-ShareAlike 4.0 International license)\r\n */\r\n@font-face {\r\n font-family: 'Material Design Iconic Font';\r\n src: url('../fonts/Material-Design-Iconic-Font.eot?v=1.0.1');\r\n src: url('../fonts/Material-Design-Iconic-Font.eot?#iefix&v=1.0.1') format('embedded-opentype'), url('../fonts/Material-Design-Iconic-Font.ttf?v=1.0.1') format('truetype'), url('../fonts/Material-Design-Iconic-Font.svg?v=1.0.1#Material-Design-Iconic-Font') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n[class^=\"md-\"],\r\n[class*=\" md-\"] {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 'Material Design Iconic Font';\r\n font-size: inherit;\r\n speak: none;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.md {\r\n line-height: inherit;\r\n vertical-align: bottom;\r\n}\r\n.md-lg {\r\n font-size: 1.5em;\r\n line-height: .5em;\r\n vertical-align: -35%;\r\n}\r\n.md-2x {\r\n font-size: 2em;\r\n}\r\n.md-3x {\r\n font-size: 3em;\r\n}\r\n.md-4x {\r\n font-size: 4em;\r\n}\r\n.md-5x {\r\n font-size: 5em;\r\n}\r\n.md-border {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em grey;\r\n border-radius: .1em;\r\n}\r\n.md-border-circle {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em grey;\r\n border-radius: 50%;\r\n}\r\n[class^=\"md-\"].pull-left,\r\n[class*=\" md-\"].pull-left {\r\n float: left;\r\n margin-right: .3em;\r\n}\r\n[class^=\"md-\"].pull-right,\r\n[class*=\" md-\"].pull-right {\r\n float: right;\r\n margin-left: .3em;\r\n}\r\n.md-spin {\r\n -webkit-animation: md-spin 1.5s infinite linear;\r\n animation: md-spin 1.5s infinite linear;\r\n}\r\n.md-spin-reverse {\r\n -webkit-animation: md-spin-reverse 1.5s infinite linear;\r\n animation: md-spin-reverse 1.5s infinite linear;\r\n}\r\n@-webkit-keyframes md-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes md-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@-webkit-keyframes md-spin-reverse {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(-359deg);\r\n transform: rotate(-359deg);\r\n }\r\n}\r\n@keyframes md-spin-reverse {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(-359deg);\r\n transform: rotate(-359deg);\r\n }\r\n}\r\n.md-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n -webkit-transform: rotate(90deg);\r\n -ms-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n.md-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n -webkit-transform: rotate(180deg);\r\n -ms-transform: rotate(180deg);\r\n transform: rotate(180deg);\r\n}\r\n.md-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n -webkit-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n}\r\n.md-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n -webkit-transform: scale(-1, 1);\r\n -ms-transform: scale(-1, 1);\r\n transform: scale(-1, 1);\r\n}\r\n.md-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n -webkit-transform: scale(1, -1);\r\n -ms-transform: scale(1, -1);\r\n transform: scale(1, -1);\r\n}\r\n:root .md-rotate-90,\r\n:root .md-rotate-180,\r\n:root .md-rotate-270,\r\n:root .md-flip-horizontal,\r\n:root .md-flip-vertical {\r\n filter: none;\r\n}\r\n/* Material Design Iconic Font uses the Unicode Private Use Area (PUA) to ensure screen\r\n readers do not read off random characters that represent icons */\r\n/* If you do not want use all icons you can disable icon set here */\r\n.md-3d-rotation:before {\r\n content: \"\\f000\";\r\n}\r\n.md-accessibility:before {\r\n content: \"\\f001\";\r\n}\r\n.md-account-balance:before {\r\n content: \"\\f002\";\r\n}\r\n.md-account-balance-wallet:before {\r\n content: \"\\f003\";\r\n}\r\n.md-account-box:before {\r\n content: \"\\f004\";\r\n}\r\n.md-account-child:before {\r\n content: \"\\f005\";\r\n}\r\n.md-account-circle:before {\r\n content: \"\\f006\";\r\n}\r\n.md-add-shopping-cart:before {\r\n content: \"\\f007\";\r\n}\r\n.md-alarm:before {\r\n content: \"\\f008\";\r\n}\r\n.md-alarm-add:before {\r\n content: \"\\f009\";\r\n}\r\n.md-alarm-off:before {\r\n content: \"\\f00a\";\r\n}\r\n.md-alarm-on:before {\r\n content: \"\\f00b\";\r\n}\r\n.md-android:before {\r\n content: \"\\f00c\";\r\n}\r\n.md-announcement:before {\r\n content: \"\\f00d\";\r\n}\r\n.md-aspect-ratio:before {\r\n content: \"\\f00e\";\r\n}\r\n.md-assessment:before {\r\n content: \"\\f00f\";\r\n}\r\n.md-assignment:before {\r\n content: \"\\f010\";\r\n}\r\n.md-assignment-ind:before {\r\n content: \"\\f011\";\r\n}\r\n.md-assignment-late:before {\r\n content: \"\\f012\";\r\n}\r\n.md-assignment-return:before {\r\n content: \"\\f013\";\r\n}\r\n.md-assignment-returned:before {\r\n content: \"\\f014\";\r\n}\r\n.md-assignment-turned-in:before {\r\n content: \"\\f015\";\r\n}\r\n.md-autorenew:before {\r\n content: \"\\f016\";\r\n}\r\n.md-backup:before {\r\n content: \"\\f017\";\r\n}\r\n.md-book:before {\r\n content: \"\\f018\";\r\n}\r\n.md-bookmark:before {\r\n content: \"\\f019\";\r\n}\r\n.md-bookmark-outline:before {\r\n content: \"\\f01a\";\r\n}\r\n.md-bug-report:before {\r\n content: \"\\f01b\";\r\n}\r\n.md-cached:before {\r\n content: \"\\f01c\";\r\n}\r\n.md-class:before {\r\n content: \"\\f01d\";\r\n}\r\n.md-credit-card:before {\r\n content: \"\\f01e\";\r\n}\r\n.md-dashboard:before {\r\n content: \"\\f01f\";\r\n}\r\n.md-delete:before {\r\n content: \"\\f020\";\r\n}\r\n.md-description:before {\r\n content: \"\\f021\";\r\n}\r\n.md-dns:before {\r\n content: \"\\f022\";\r\n}\r\n.md-done:before {\r\n content: \"\\f023\";\r\n}\r\n.md-done-all:before {\r\n content: \"\\f024\";\r\n}\r\n.md-event:before {\r\n content: \"\\f025\";\r\n}\r\n.md-exit-to-app:before {\r\n content: \"\\f026\";\r\n}\r\n.md-explore:before {\r\n content: \"\\f027\";\r\n}\r\n.md-extension:before {\r\n content: \"\\f028\";\r\n}\r\n.md-face-unlock:before {\r\n content: \"\\f029\";\r\n}\r\n.md-favorite:before {\r\n content: \"\\f02a\";\r\n}\r\n.md-favorite-outline:before {\r\n content: \"\\f02b\";\r\n}\r\n.md-find-in-page:before {\r\n content: \"\\f02c\";\r\n}\r\n.md-find-replace:before {\r\n content: \"\\f02d\";\r\n}\r\n.md-flip-to-back:before {\r\n content: \"\\f02e\";\r\n}\r\n.md-flip-to-front:before {\r\n content: \"\\f02f\";\r\n}\r\n.md-get-app:before {\r\n content: \"\\f030\";\r\n}\r\n.md-grade:before {\r\n content: \"\\f031\";\r\n}\r\n.md-group-work:before {\r\n content: \"\\f032\";\r\n}\r\n.md-help:before {\r\n content: \"\\f033\";\r\n}\r\n.md-highlight-remove:before {\r\n content: \"\\f034\";\r\n}\r\n.md-history:before {\r\n content: \"\\f035\";\r\n}\r\n.md-home:before {\r\n content: \"\\f036\";\r\n}\r\n.md-https:before {\r\n content: \"\\f037\";\r\n}\r\n.md-info:before {\r\n content: \"\\f038\";\r\n}\r\n.md-info-outline:before {\r\n content: \"\\f039\";\r\n}\r\n.md-input:before {\r\n content: \"\\f03a\";\r\n}\r\n.md-invert-colors:before {\r\n content: \"\\f03b\";\r\n}\r\n.md-label:before {\r\n content: \"\\f03c\";\r\n}\r\n.md-label-outline:before {\r\n content: \"\\f03d\";\r\n}\r\n.md-language:before {\r\n content: \"\\f03e\";\r\n}\r\n.md-launch:before {\r\n content: \"\\f03f\";\r\n}\r\n.md-list:before {\r\n content: \"\\f040\";\r\n}\r\n.md-lock:before {\r\n content: \"\\f041\";\r\n}\r\n.md-lock-open:before {\r\n content: \"\\f042\";\r\n}\r\n.md-lock-outline:before {\r\n content: \"\\f043\";\r\n}\r\n.md-loyalty:before {\r\n content: \"\\f044\";\r\n}\r\n.md-markunread-mailbox:before {\r\n content: \"\\f045\";\r\n}\r\n.md-note-add:before {\r\n content: \"\\f046\";\r\n}\r\n.md-open-in-browser:before {\r\n content: \"\\f047\";\r\n}\r\n.md-open-in-new:before {\r\n content: \"\\f048\";\r\n}\r\n.md-open-with:before {\r\n content: \"\\f049\";\r\n}\r\n.md-pageview:before {\r\n content: \"\\f04a\";\r\n}\r\n.md-payment:before {\r\n content: \"\\f04b\";\r\n}\r\n.md-perm-camera-mic:before {\r\n content: \"\\f04c\";\r\n}\r\n.md-perm-contact-cal:before {\r\n content: \"\\f04d\";\r\n}\r\n.md-perm-data-setting:before {\r\n content: \"\\f04e\";\r\n}\r\n.md-perm-device-info:before {\r\n content: \"\\f04f\";\r\n}\r\n.md-perm-identity:before {\r\n content: \"\\f050\";\r\n}\r\n.md-perm-media:before {\r\n content: \"\\f051\";\r\n}\r\n.md-perm-phone-msg:before {\r\n content: \"\\f052\";\r\n}\r\n.md-perm-scan-wifi:before {\r\n content: \"\\f053\";\r\n}\r\n.md-picture-in-picture:before {\r\n content: \"\\f054\";\r\n}\r\n.md-polymer:before {\r\n content: \"\\f055\";\r\n}\r\n.md-print:before {\r\n content: \"\\f056\";\r\n}\r\n.md-query-builder:before {\r\n content: \"\\f057\";\r\n}\r\n.md-question-answer:before {\r\n content: \"\\f058\";\r\n}\r\n.md-receipt:before {\r\n content: \"\\f059\";\r\n}\r\n.md-redeem:before {\r\n content: \"\\f05a\";\r\n}\r\n.md-report-problem:before {\r\n content: \"\\f05b\";\r\n}\r\n.md-restore:before {\r\n content: \"\\f05c\";\r\n}\r\n.md-room:before {\r\n content: \"\\f05d\";\r\n}\r\n.md-schedule:before {\r\n content: \"\\f05e\";\r\n}\r\n.md-search:before {\r\n content: \"\\f05f\";\r\n}\r\n.md-settings:before {\r\n content: \"\\f060\";\r\n}\r\n.md-settings-applications:before {\r\n content: \"\\f061\";\r\n}\r\n.md-settings-backup-restore:before {\r\n content: \"\\f062\";\r\n}\r\n.md-settings-bluetooth:before {\r\n content: \"\\f063\";\r\n}\r\n.md-settings-cell:before {\r\n content: \"\\f064\";\r\n}\r\n.md-settings-display:before {\r\n content: \"\\f065\";\r\n}\r\n.md-settings-ethernet:before {\r\n content: \"\\f066\";\r\n}\r\n.md-settings-input-antenna:before {\r\n content: \"\\f067\";\r\n}\r\n.md-settings-input-component:before {\r\n content: \"\\f068\";\r\n}\r\n.md-settings-input-composite:before {\r\n content: \"\\f069\";\r\n}\r\n.md-settings-input-hdmi:before {\r\n content: \"\\f06a\";\r\n}\r\n.md-settings-input-svideo:before {\r\n content: \"\\f06b\";\r\n}\r\n.md-settings-overscan:before {\r\n content: \"\\f06c\";\r\n}\r\n.md-settings-phone:before {\r\n content: \"\\f06d\";\r\n}\r\n.md-settings-power:before {\r\n content: \"\\f06e\";\r\n}\r\n.md-settings-remote:before {\r\n content: \"\\f06f\";\r\n}\r\n.md-settings-voice:before {\r\n content: \"\\f070\";\r\n}\r\n.md-shop:before {\r\n content: \"\\f071\";\r\n}\r\n.md-shopping-basket:before {\r\n content: \"\\f072\";\r\n}\r\n.md-shopping-cart:before {\r\n content: \"\\f073\";\r\n}\r\n.md-shop-two:before {\r\n content: \"\\f074\";\r\n}\r\n.md-speaker-notes:before {\r\n content: \"\\f075\";\r\n}\r\n.md-spellcheck:before {\r\n content: \"\\f076\";\r\n}\r\n.md-star-rate:before {\r\n content: \"\\f077\";\r\n}\r\n.md-stars:before {\r\n content: \"\\f078\";\r\n}\r\n.md-store:before {\r\n content: \"\\f079\";\r\n}\r\n.md-subject:before {\r\n content: \"\\f07a\";\r\n}\r\n.md-swap-horiz:before {\r\n content: \"\\f07b\";\r\n}\r\n.md-swap-vert:before {\r\n content: \"\\f07c\";\r\n}\r\n.md-swap-vert-circle:before {\r\n content: \"\\f07d\";\r\n}\r\n.md-system-update-tv:before {\r\n content: \"\\f07e\";\r\n}\r\n.md-tab:before {\r\n content: \"\\f07f\";\r\n}\r\n.md-tab-unselected:before {\r\n content: \"\\f080\";\r\n}\r\n.md-theaters:before {\r\n content: \"\\f081\";\r\n}\r\n.md-thumb-down:before {\r\n content: \"\\f082\";\r\n}\r\n.md-thumbs-up-down:before {\r\n content: \"\\f083\";\r\n}\r\n.md-thumb-up:before {\r\n content: \"\\f084\";\r\n}\r\n.md-toc:before {\r\n content: \"\\f085\";\r\n}\r\n.md-today:before {\r\n content: \"\\f086\";\r\n}\r\n.md-track-changes:before {\r\n content: \"\\f087\";\r\n}\r\n.md-translate:before {\r\n content: \"\\f088\";\r\n}\r\n.md-trending-down:before {\r\n content: \"\\f089\";\r\n}\r\n.md-trending-neutral:before {\r\n content: \"\\f08a\";\r\n}\r\n.md-trending-up:before {\r\n content: \"\\f08b\";\r\n}\r\n.md-turned-in:before {\r\n content: \"\\f08c\";\r\n}\r\n.md-turned-in-not:before {\r\n content: \"\\f08d\";\r\n}\r\n.md-verified-user:before {\r\n content: \"\\f08e\";\r\n}\r\n.md-view-agenda:before {\r\n content: \"\\f08f\";\r\n}\r\n.md-view-array:before {\r\n content: \"\\f090\";\r\n}\r\n.md-view-carousel:before {\r\n content: \"\\f091\";\r\n}\r\n.md-view-column:before {\r\n content: \"\\f092\";\r\n}\r\n.md-view-day:before {\r\n content: \"\\f093\";\r\n}\r\n.md-view-headline:before {\r\n content: \"\\f094\";\r\n}\r\n.md-view-list:before {\r\n content: \"\\f095\";\r\n}\r\n.md-view-module:before {\r\n content: \"\\f096\";\r\n}\r\n.md-view-quilt:before {\r\n content: \"\\f097\";\r\n}\r\n.md-view-stream:before {\r\n content: \"\\f098\";\r\n}\r\n.md-view-week:before {\r\n content: \"\\f099\";\r\n}\r\n.md-visibility:before {\r\n content: \"\\f09a\";\r\n}\r\n.md-visibility-off:before {\r\n content: \"\\f09b\";\r\n}\r\n.md-wallet-giftcard:before {\r\n content: \"\\f09c\";\r\n}\r\n.md-wallet-membership:before {\r\n content: \"\\f09d\";\r\n}\r\n.md-wallet-travel:before {\r\n content: \"\\f09e\";\r\n}\r\n.md-work:before {\r\n content: \"\\f09f\";\r\n}\r\n.md-error:before {\r\n content: \"\\f0a0\";\r\n}\r\n.md-warning:before {\r\n content: \"\\f0a1\";\r\n}\r\n.md-album:before {\r\n content: \"\\f0a2\";\r\n}\r\n.md-av-timer:before {\r\n content: \"\\f0a3\";\r\n}\r\n.md-closed-caption:before {\r\n content: \"\\f0a4\";\r\n}\r\n.md-equalizer:before {\r\n content: \"\\f0a5\";\r\n}\r\n.md-explicit:before {\r\n content: \"\\f0a6\";\r\n}\r\n.md-fast-forward:before {\r\n content: \"\\f0a7\";\r\n}\r\n.md-fast-rewind:before {\r\n content: \"\\f0a8\";\r\n}\r\n.md-games:before {\r\n content: \"\\f0a9\";\r\n}\r\n.md-hearing:before {\r\n content: \"\\f0aa\";\r\n}\r\n.md-high-quality:before {\r\n content: \"\\f0ab\";\r\n}\r\n.md-loop:before {\r\n content: \"\\f0ac\";\r\n}\r\n.md-mic:before {\r\n content: \"\\f0ad\";\r\n}\r\n.md-mic-none:before {\r\n content: \"\\f0ae\";\r\n}\r\n.md-mic-off:before {\r\n content: \"\\f0af\";\r\n}\r\n.md-movie:before {\r\n content: \"\\f0b0\";\r\n}\r\n.md-my-library-add:before {\r\n content: \"\\f0b1\";\r\n}\r\n.md-my-library-books:before {\r\n content: \"\\f0b2\";\r\n}\r\n.md-my-library-music:before {\r\n content: \"\\f0b3\";\r\n}\r\n.md-new-releases:before {\r\n content: \"\\f0b4\";\r\n}\r\n.md-not-interested:before {\r\n content: \"\\f0b5\";\r\n}\r\n.md-pause:before {\r\n content: \"\\f0b6\";\r\n}\r\n.md-pause-circle-fill:before {\r\n content: \"\\f0b7\";\r\n}\r\n.md-pause-circle-outline:before {\r\n content: \"\\f0b8\";\r\n}\r\n.md-play-arrow:before {\r\n content: \"\\f0b9\";\r\n}\r\n.md-play-circle-fill:before {\r\n content: \"\\f0ba\";\r\n}\r\n.md-play-circle-outline:before {\r\n content: \"\\f0bb\";\r\n}\r\n.md-playlist-add:before {\r\n content: \"\\f0bc\";\r\n}\r\n.md-play-shopping-bag:before {\r\n content: \"\\f0bd\";\r\n}\r\n.md-queue:before {\r\n content: \"\\f0be\";\r\n}\r\n.md-queue-music:before {\r\n content: \"\\f0bf\";\r\n}\r\n.md-radio:before {\r\n content: \"\\f0c0\";\r\n}\r\n.md-recent-actors:before {\r\n content: \"\\f0c1\";\r\n}\r\n.md-repeat:before {\r\n content: \"\\f0c2\";\r\n}\r\n.md-repeat-one:before {\r\n content: \"\\f0c3\";\r\n}\r\n.md-replay:before {\r\n content: \"\\f0c4\";\r\n}\r\n.md-shuffle:before {\r\n content: \"\\f0c5\";\r\n}\r\n.md-skip-next:before {\r\n content: \"\\f0c6\";\r\n}\r\n.md-skip-previous:before {\r\n content: \"\\f0c7\";\r\n}\r\n.md-snooze:before {\r\n content: \"\\f0c8\";\r\n}\r\n.md-stop:before {\r\n content: \"\\f0c9\";\r\n}\r\n.md-subtitles:before {\r\n content: \"\\f0ca\";\r\n}\r\n.md-surround-sound:before {\r\n content: \"\\f0cb\";\r\n}\r\n.md-videocam:before {\r\n content: \"\\f0cc\";\r\n}\r\n.md-videocam-off:before {\r\n content: \"\\f0cd\";\r\n}\r\n.md-video-collection:before {\r\n content: \"\\f0ce\";\r\n}\r\n.md-volume-down:before {\r\n content: \"\\f0cf\";\r\n}\r\n.md-volume-mute:before {\r\n content: \"\\f0d0\";\r\n}\r\n.md-volume-off:before {\r\n content: \"\\f0d1\";\r\n}\r\n.md-volume-up:before {\r\n content: \"\\f0d2\";\r\n}\r\n.md-web:before {\r\n content: \"\\f0d3\";\r\n}\r\n.md-business:before {\r\n content: \"\\f0d4\";\r\n}\r\n.md-call:before {\r\n content: \"\\f0d5\";\r\n}\r\n.md-call-end:before {\r\n content: \"\\f0d6\";\r\n}\r\n.md-call-made:before {\r\n content: \"\\f0d7\";\r\n}\r\n.md-call-merge:before {\r\n content: \"\\f0d8\";\r\n}\r\n.md-call-missed:before {\r\n content: \"\\f0d9\";\r\n}\r\n.md-call-received:before {\r\n content: \"\\f0da\";\r\n}\r\n.md-call-split:before {\r\n content: \"\\f0db\";\r\n}\r\n.md-chat:before {\r\n content: \"\\f0dc\";\r\n}\r\n.md-clear-all:before {\r\n content: \"\\f0dd\";\r\n}\r\n.md-comment:before {\r\n content: \"\\f0de\";\r\n}\r\n.md-contacts:before {\r\n content: \"\\f0df\";\r\n}\r\n.md-dialer-sip:before {\r\n content: \"\\f0e0\";\r\n}\r\n.md-dialpad:before {\r\n content: \"\\f0e1\";\r\n}\r\n.md-dnd-on:before {\r\n content: \"\\f0e2\";\r\n}\r\n.md-email:before {\r\n content: \"\\f0e3\";\r\n}\r\n.md-forum:before {\r\n content: \"\\f0e4\";\r\n}\r\n.md-import-export:before {\r\n content: \"\\f0e5\";\r\n}\r\n.md-invert-colors-off:before {\r\n content: \"\\f0e6\";\r\n}\r\n.md-invert-colors-on:before {\r\n content: \"\\f0e7\";\r\n}\r\n.md-live-help:before {\r\n content: \"\\f0e8\";\r\n}\r\n.md-location-off:before {\r\n content: \"\\f0e9\";\r\n}\r\n.md-location-on:before {\r\n content: \"\\f0ea\";\r\n}\r\n.md-message:before {\r\n content: \"\\f0eb\";\r\n}\r\n.md-messenger:before {\r\n content: \"\\f0ec\";\r\n}\r\n.md-no-sim:before {\r\n content: \"\\f0ed\";\r\n}\r\n.md-phone:before {\r\n content: \"\\f0ee\";\r\n}\r\n.md-portable-wifi-off:before {\r\n content: \"\\f0ef\";\r\n}\r\n.md-quick-contacts-dialer:before {\r\n content: \"\\f0f0\";\r\n}\r\n.md-quick-contacts-mail:before {\r\n content: \"\\f0f1\";\r\n}\r\n.md-ring-volume:before {\r\n content: \"\\f0f2\";\r\n}\r\n.md-stay-current-landscape:before {\r\n content: \"\\f0f3\";\r\n}\r\n.md-stay-current-portrait:before {\r\n content: \"\\f0f4\";\r\n}\r\n.md-stay-primary-landscape:before {\r\n content: \"\\f0f5\";\r\n}\r\n.md-stay-primary-portrait:before {\r\n content: \"\\f0f6\";\r\n}\r\n.md-swap-calls:before {\r\n content: \"\\f0f7\";\r\n}\r\n.md-textsms:before {\r\n content: \"\\f0f8\";\r\n}\r\n.md-voicemail:before {\r\n content: \"\\f0f9\";\r\n}\r\n.md-vpn-key:before {\r\n content: \"\\f0fa\";\r\n}\r\n.md-add:before {\r\n content: \"\\f0fb\";\r\n}\r\n.md-add-box:before {\r\n content: \"\\f0fc\";\r\n}\r\n.md-add-circle:before {\r\n content: \"\\f0fd\";\r\n}\r\n.md-add-circle-outline:before {\r\n content: \"\\f0fe\";\r\n}\r\n.md-archive:before {\r\n content: \"\\f0ff\";\r\n}\r\n.md-backspace:before {\r\n content: \"\\f100\";\r\n}\r\n.md-block:before {\r\n content: \"\\f101\";\r\n}\r\n.md-clear:before {\r\n content: \"\\f102\";\r\n}\r\n.md-content-copy:before {\r\n content: \"\\f103\";\r\n}\r\n.md-content-cut:before {\r\n content: \"\\f104\";\r\n}\r\n.md-content-paste:before {\r\n content: \"\\f105\";\r\n}\r\n.md-create:before {\r\n content: \"\\f106\";\r\n}\r\n.md-drafts:before {\r\n content: \"\\f107\";\r\n}\r\n.md-filter-list:before {\r\n content: \"\\f108\";\r\n}\r\n.md-flag:before {\r\n content: \"\\f109\";\r\n}\r\n.md-forward:before {\r\n content: \"\\f10a\";\r\n}\r\n.md-gesture:before {\r\n content: \"\\f10b\";\r\n}\r\n.md-inbox:before {\r\n content: \"\\f10c\";\r\n}\r\n.md-link:before {\r\n content: \"\\f10d\";\r\n}\r\n.md-mail:before {\r\n content: \"\\f10e\";\r\n}\r\n.md-markunread:before {\r\n content: \"\\f10f\";\r\n}\r\n.md-redo:before {\r\n content: \"\\f110\";\r\n}\r\n.md-remove:before {\r\n content: \"\\f111\";\r\n}\r\n.md-remove-circle:before {\r\n content: \"\\f112\";\r\n}\r\n.md-remove-circle-outline:before {\r\n content: \"\\f113\";\r\n}\r\n.md-reply:before {\r\n content: \"\\f114\";\r\n}\r\n.md-reply-all:before {\r\n content: \"\\f115\";\r\n}\r\n.md-report:before {\r\n content: \"\\f116\";\r\n}\r\n.md-save:before {\r\n content: \"\\f117\";\r\n}\r\n.md-select-all:before {\r\n content: \"\\f118\";\r\n}\r\n.md-send:before {\r\n content: \"\\f119\";\r\n}\r\n.md-sort:before {\r\n content: \"\\f11a\";\r\n}\r\n.md-text-format:before {\r\n content: \"\\f11b\";\r\n}\r\n.md-undo:before {\r\n content: \"\\f11c\";\r\n}\r\n.md-access-alarm:before {\r\n content: \"\\f11d\";\r\n}\r\n.md-access-alarms:before {\r\n content: \"\\f11e\";\r\n}\r\n.md-access-time:before {\r\n content: \"\\f11f\";\r\n}\r\n.md-add-alarm:before {\r\n content: \"\\f120\";\r\n}\r\n.md-airplanemode-off:before {\r\n content: \"\\f121\";\r\n}\r\n.md-airplanemode-on:before {\r\n content: \"\\f122\";\r\n}\r\n.md-battery-20:before {\r\n content: \"\\f123\";\r\n}\r\n.md-battery-30:before {\r\n content: \"\\f124\";\r\n}\r\n.md-battery-50:before {\r\n content: \"\\f125\";\r\n}\r\n.md-battery-60:before {\r\n content: \"\\f126\";\r\n}\r\n.md-battery-80:before {\r\n content: \"\\f127\";\r\n}\r\n.md-battery-90:before {\r\n content: \"\\f128\";\r\n}\r\n.md-battery-alert:before {\r\n content: \"\\f129\";\r\n}\r\n.md-battery-charging-20:before {\r\n content: \"\\f12a\";\r\n}\r\n.md-battery-charging-30:before {\r\n content: \"\\f12b\";\r\n}\r\n.md-battery-charging-50:before {\r\n content: \"\\f12c\";\r\n}\r\n.md-battery-charging-60:before {\r\n content: \"\\f12d\";\r\n}\r\n.md-battery-charging-80:before {\r\n content: \"\\f12e\";\r\n}\r\n.md-battery-charging-90:before {\r\n content: \"\\f12f\";\r\n}\r\n.md-battery-charging-full:before {\r\n content: \"\\f130\";\r\n}\r\n.md-battery-full:before {\r\n content: \"\\f131\";\r\n}\r\n.md-battery-std:before {\r\n content: \"\\f132\";\r\n}\r\n.md-battery-unknown:before {\r\n content: \"\\f133\";\r\n}\r\n.md-bluetooth:before {\r\n content: \"\\f134\";\r\n}\r\n.md-bluetooth-connected:before {\r\n content: \"\\f135\";\r\n}\r\n.md-bluetooth-disabled:before {\r\n content: \"\\f136\";\r\n}\r\n.md-bluetooth-searching:before {\r\n content: \"\\f137\";\r\n}\r\n.md-brightness-auto:before {\r\n content: \"\\f138\";\r\n}\r\n.md-brightness-high:before {\r\n content: \"\\f139\";\r\n}\r\n.md-brightness-low:before {\r\n content: \"\\f13a\";\r\n}\r\n.md-brightness-medium:before {\r\n content: \"\\f13b\";\r\n}\r\n.md-data-usage:before {\r\n content: \"\\f13c\";\r\n}\r\n.md-developer-mode:before {\r\n content: \"\\f13d\";\r\n}\r\n.md-devices:before {\r\n content: \"\\f13e\";\r\n}\r\n.md-dvr:before {\r\n content: \"\\f13f\";\r\n}\r\n.md-gps-fixed:before {\r\n content: \"\\f140\";\r\n}\r\n.md-gps-not-fixed:before {\r\n content: \"\\f141\";\r\n}\r\n.md-gps-off:before {\r\n content: \"\\f142\";\r\n}\r\n.md-location-disabled:before {\r\n content: \"\\f143\";\r\n}\r\n.md-location-searching:before {\r\n content: \"\\f144\";\r\n}\r\n.md-multitrack-audio:before {\r\n content: \"\\f145\";\r\n}\r\n.md-network-cell:before {\r\n content: \"\\f146\";\r\n}\r\n.md-network-wifi:before {\r\n content: \"\\f147\";\r\n}\r\n.md-nfc:before {\r\n content: \"\\f148\";\r\n}\r\n.md-now-wallpaper:before {\r\n content: \"\\f149\";\r\n}\r\n.md-now-widgets:before {\r\n content: \"\\f14a\";\r\n}\r\n.md-screen-lock-landscape:before {\r\n content: \"\\f14b\";\r\n}\r\n.md-screen-lock-portrait:before {\r\n content: \"\\f14c\";\r\n}\r\n.md-screen-lock-rotation:before {\r\n content: \"\\f14d\";\r\n}\r\n.md-screen-rotation:before {\r\n content: \"\\f14e\";\r\n}\r\n.md-sd-storage:before {\r\n content: \"\\f14f\";\r\n}\r\n.md-settings-system-daydream:before {\r\n content: \"\\f150\";\r\n}\r\n.md-signal-cellular-0-bar:before {\r\n content: \"\\f151\";\r\n}\r\n.md-signal-cellular-1-bar:before {\r\n content: \"\\f152\";\r\n}\r\n.md-signal-cellular-2-bar:before {\r\n content: \"\\f153\";\r\n}\r\n.md-signal-cellular-3-bar:before {\r\n content: \"\\f154\";\r\n}\r\n.md-signal-cellular-4-bar:before {\r\n content: \"\\f155\";\r\n}\r\n.md-signal-cellular-connected-no-internet-0-bar:before {\r\n content: \"\\f156\";\r\n}\r\n.md-signal-cellular-connected-no-internet-1-bar:before {\r\n content: \"\\f157\";\r\n}\r\n.md-signal-cellular-connected-no-internet-2-bar:before {\r\n content: \"\\f158\";\r\n}\r\n.md-signal-cellular-connected-no-internet-3-bar:before {\r\n content: \"\\f159\";\r\n}\r\n.md-signal-cellular-connected-no-internet-4-bar:before {\r\n content: \"\\f15a\";\r\n}\r\n.md-signal-cellular-no-sim:before {\r\n content: \"\\f15b\";\r\n}\r\n.md-signal-cellular-null:before {\r\n content: \"\\f15c\";\r\n}\r\n.md-signal-cellular-off:before {\r\n content: \"\\f15d\";\r\n}\r\n.md-signal-wifi-0-bar:before {\r\n content: \"\\f15e\";\r\n}\r\n.md-signal-wifi-1-bar:before {\r\n content: \"\\f15f\";\r\n}\r\n.md-signal-wifi-2-bar:before {\r\n content: \"\\f160\";\r\n}\r\n.md-signal-wifi-3-bar:before {\r\n content: \"\\f161\";\r\n}\r\n.md-signal-wifi-4-bar:before {\r\n content: \"\\f162\";\r\n}\r\n.md-signal-wifi-off:before {\r\n content: \"\\f163\";\r\n}\r\n.md-storage:before {\r\n content: \"\\f164\";\r\n}\r\n.md-usb:before {\r\n content: \"\\f165\";\r\n}\r\n.md-wifi-lock:before {\r\n content: \"\\f166\";\r\n}\r\n.md-wifi-tethering:before {\r\n content: \"\\f167\";\r\n}\r\n.md-attach-file:before {\r\n content: \"\\f168\";\r\n}\r\n.md-attach-money:before {\r\n content: \"\\f169\";\r\n}\r\n.md-border-all:before {\r\n content: \"\\f16a\";\r\n}\r\n.md-border-bottom:before {\r\n content: \"\\f16b\";\r\n}\r\n.md-border-clear:before {\r\n content: \"\\f16c\";\r\n}\r\n.md-border-color:before {\r\n content: \"\\f16d\";\r\n}\r\n.md-border-horizontal:before {\r\n content: \"\\f16e\";\r\n}\r\n.md-border-inner:before {\r\n content: \"\\f16f\";\r\n}\r\n.md-border-left:before {\r\n content: \"\\f170\";\r\n}\r\n.md-border-outer:before {\r\n content: \"\\f171\";\r\n}\r\n.md-border-right:before {\r\n content: \"\\f172\";\r\n}\r\n.md-border-style:before {\r\n content: \"\\f173\";\r\n}\r\n.md-border-top:before {\r\n content: \"\\f174\";\r\n}\r\n.md-border-vertical:before {\r\n content: \"\\f175\";\r\n}\r\n.md-format-align-center:before {\r\n content: \"\\f176\";\r\n}\r\n.md-format-align-justify:before {\r\n content: \"\\f177\";\r\n}\r\n.md-format-align-left:before {\r\n content: \"\\f178\";\r\n}\r\n.md-format-align-right:before {\r\n content: \"\\f179\";\r\n}\r\n.md-format-bold:before {\r\n content: \"\\f17a\";\r\n}\r\n.md-format-clear:before {\r\n content: \"\\f17b\";\r\n}\r\n.md-format-color-fill:before {\r\n content: \"\\f17c\";\r\n}\r\n.md-format-color-reset:before {\r\n content: \"\\f17d\";\r\n}\r\n.md-format-color-text:before {\r\n content: \"\\f17e\";\r\n}\r\n.md-format-indent-decrease:before {\r\n content: \"\\f17f\";\r\n}\r\n.md-format-indent-increase:before {\r\n content: \"\\f180\";\r\n}\r\n.md-format-italic:before {\r\n content: \"\\f181\";\r\n}\r\n.md-format-line-spacing:before {\r\n content: \"\\f182\";\r\n}\r\n.md-format-list-bulleted:before {\r\n content: \"\\f183\";\r\n}\r\n.md-format-list-numbered:before {\r\n content: \"\\f184\";\r\n}\r\n.md-format-paint:before {\r\n content: \"\\f185\";\r\n}\r\n.md-format-quote:before {\r\n content: \"\\f186\";\r\n}\r\n.md-format-size:before {\r\n content: \"\\f187\";\r\n}\r\n.md-format-strikethrough:before {\r\n content: \"\\f188\";\r\n}\r\n.md-format-textdirection-l-to-r:before {\r\n content: \"\\f189\";\r\n}\r\n.md-format-textdirection-r-to-l:before {\r\n content: \"\\f18a\";\r\n}\r\n.md-format-underline:before {\r\n content: \"\\f18b\";\r\n}\r\n.md-functions:before {\r\n content: \"\\f18c\";\r\n}\r\n.md-insert-chart:before {\r\n content: \"\\f18d\";\r\n}\r\n.md-insert-comment:before {\r\n content: \"\\f18e\";\r\n}\r\n.md-insert-drive-file:before {\r\n content: \"\\f18f\";\r\n}\r\n.md-insert-emoticon:before {\r\n content: \"\\f190\";\r\n}\r\n.md-insert-invitation:before {\r\n content: \"\\f191\";\r\n}\r\n.md-insert-link:before {\r\n content: \"\\f192\";\r\n}\r\n.md-insert-photo:before {\r\n content: \"\\f193\";\r\n}\r\n.md-merge-type:before {\r\n content: \"\\f194\";\r\n}\r\n.md-mode-comment:before {\r\n content: \"\\f195\";\r\n}\r\n.md-mode-edit:before {\r\n content: \"\\f196\";\r\n}\r\n.md-publish:before {\r\n content: \"\\f197\";\r\n}\r\n.md-vertical-align-bottom:before {\r\n content: \"\\f198\";\r\n}\r\n.md-vertical-align-center:before {\r\n content: \"\\f199\";\r\n}\r\n.md-vertical-align-top:before {\r\n content: \"\\f19a\";\r\n}\r\n.md-wrap-text:before {\r\n content: \"\\f19b\";\r\n}\r\n.md-attachment:before {\r\n content: \"\\f19c\";\r\n}\r\n.md-cloud:before {\r\n content: \"\\f19d\";\r\n}\r\n.md-cloud-circle:before {\r\n content: \"\\f19e\";\r\n}\r\n.md-cloud-done:before {\r\n content: \"\\f19f\";\r\n}\r\n.md-cloud-download:before {\r\n content: \"\\f1a0\";\r\n}\r\n.md-cloud-off:before {\r\n content: \"\\f1a1\";\r\n}\r\n.md-cloud-queue:before {\r\n content: \"\\f1a2\";\r\n}\r\n.md-cloud-upload:before {\r\n content: \"\\f1a3\";\r\n}\r\n.md-file-download:before {\r\n content: \"\\f1a4\";\r\n}\r\n.md-file-upload:before {\r\n content: \"\\f1a5\";\r\n}\r\n.md-folder:before {\r\n content: \"\\f1a6\";\r\n}\r\n.md-folder-open:before {\r\n content: \"\\f1a7\";\r\n}\r\n.md-folder-shared:before {\r\n content: \"\\f1a8\";\r\n}\r\n.md-cast:before {\r\n content: \"\\f1a9\";\r\n}\r\n.md-cast-connected:before {\r\n content: \"\\f1aa\";\r\n}\r\n.md-computer:before {\r\n content: \"\\f1ab\";\r\n}\r\n.md-desktop-mac:before {\r\n content: \"\\f1ac\";\r\n}\r\n.md-desktop-windows:before {\r\n content: \"\\f1ad\";\r\n}\r\n.md-dock:before {\r\n content: \"\\f1ae\";\r\n}\r\n.md-gamepad:before {\r\n content: \"\\f1af\";\r\n}\r\n.md-headset:before {\r\n content: \"\\f1b0\";\r\n}\r\n.md-headset-mic:before {\r\n content: \"\\f1b1\";\r\n}\r\n.md-keyboard:before {\r\n content: \"\\f1b2\";\r\n}\r\n.md-keyboard-alt:before {\r\n content: \"\\f1b3\";\r\n}\r\n.md-keyboard-arrow-down:before {\r\n content: \"\\f1b4\";\r\n}\r\n.md-keyboard-arrow-left:before {\r\n content: \"\\f1b5\";\r\n}\r\n.md-keyboard-arrow-right:before {\r\n content: \"\\f1b6\";\r\n}\r\n.md-keyboard-arrow-up:before {\r\n content: \"\\f1b7\";\r\n}\r\n.md-keyboard-backspace:before {\r\n content: \"\\f1b8\";\r\n}\r\n.md-keyboard-capslock:before {\r\n content: \"\\f1b9\";\r\n}\r\n.md-keyboard-control:before {\r\n content: \"\\f1ba\";\r\n}\r\n.md-keyboard-hide:before {\r\n content: \"\\f1bb\";\r\n}\r\n.md-keyboard-return:before {\r\n content: \"\\f1bc\";\r\n}\r\n.md-keyboard-tab:before {\r\n content: \"\\f1bd\";\r\n}\r\n.md-keyboard-voice:before {\r\n content: \"\\f1be\";\r\n}\r\n.md-laptop:before {\r\n content: \"\\f1bf\";\r\n}\r\n.md-laptop-chromebook:before {\r\n content: \"\\f1c0\";\r\n}\r\n.md-laptop-mac:before {\r\n content: \"\\f1c1\";\r\n}\r\n.md-laptop-windows:before {\r\n content: \"\\f1c2\";\r\n}\r\n.md-memory:before {\r\n content: \"\\f1c3\";\r\n}\r\n.md-mouse:before {\r\n content: \"\\f1c4\";\r\n}\r\n.md-phone-android:before {\r\n content: \"\\f1c5\";\r\n}\r\n.md-phone-iphone:before {\r\n content: \"\\f1c6\";\r\n}\r\n.md-phonelink:before {\r\n content: \"\\f1c7\";\r\n}\r\n.md-phonelink-off:before {\r\n content: \"\\f1c8\";\r\n}\r\n.md-security:before {\r\n content: \"\\f1c9\";\r\n}\r\n.md-sim-card:before {\r\n content: \"\\f1ca\";\r\n}\r\n.md-smartphone:before {\r\n content: \"\\f1cb\";\r\n}\r\n.md-speaker:before {\r\n content: \"\\f1cc\";\r\n}\r\n.md-tablet:before {\r\n content: \"\\f1cd\";\r\n}\r\n.md-tablet-android:before {\r\n content: \"\\f1ce\";\r\n}\r\n.md-tablet-mac:before {\r\n content: \"\\f1cf\";\r\n}\r\n.md-tv:before {\r\n content: \"\\f1d0\";\r\n}\r\n.md-watch:before {\r\n content: \"\\f1d1\";\r\n}\r\n.md-add-to-photos:before {\r\n content: \"\\f1d2\";\r\n}\r\n.md-adjust:before {\r\n content: \"\\f1d3\";\r\n}\r\n.md-assistant-photo:before {\r\n content: \"\\f1d4\";\r\n}\r\n.md-audiotrack:before {\r\n content: \"\\f1d5\";\r\n}\r\n.md-blur-circular:before {\r\n content: \"\\f1d6\";\r\n}\r\n.md-blur-linear:before {\r\n content: \"\\f1d7\";\r\n}\r\n.md-blur-off:before {\r\n content: \"\\f1d8\";\r\n}\r\n.md-blur-on:before {\r\n content: \"\\f1d9\";\r\n}\r\n.md-brightness-1:before {\r\n content: \"\\f1da\";\r\n}\r\n.md-brightness-2:before {\r\n content: \"\\f1db\";\r\n}\r\n.md-brightness-3:before {\r\n content: \"\\f1dc\";\r\n}\r\n.md-brightness-4:before {\r\n content: \"\\f1dd\";\r\n}\r\n.md-brightness-5:before {\r\n content: \"\\f1de\";\r\n}\r\n.md-brightness-6:before {\r\n content: \"\\f1df\";\r\n}\r\n.md-brightness-7:before {\r\n content: \"\\f1e0\";\r\n}\r\n.md-brush:before {\r\n content: \"\\f1e1\";\r\n}\r\n.md-camera:before {\r\n content: \"\\f1e2\";\r\n}\r\n.md-camera-alt:before {\r\n content: \"\\f1e3\";\r\n}\r\n.md-camera-front:before {\r\n content: \"\\f1e4\";\r\n}\r\n.md-camera-rear:before {\r\n content: \"\\f1e5\";\r\n}\r\n.md-camera-roll:before {\r\n content: \"\\f1e6\";\r\n}\r\n.md-center-focus-strong:before {\r\n content: \"\\f1e7\";\r\n}\r\n.md-center-focus-weak:before {\r\n content: \"\\f1e8\";\r\n}\r\n.md-collections:before {\r\n content: \"\\f1e9\";\r\n}\r\n.md-colorize:before {\r\n content: \"\\f1ea\";\r\n}\r\n.md-color-lens:before {\r\n content: \"\\f1eb\";\r\n}\r\n.md-compare:before {\r\n content: \"\\f1ec\";\r\n}\r\n.md-control-point:before {\r\n content: \"\\f1ed\";\r\n}\r\n.md-control-point-duplicate:before {\r\n content: \"\\f1ee\";\r\n}\r\n.md-crop:before {\r\n content: \"\\f1ef\";\r\n}\r\n.md-crop-3-2:before {\r\n content: \"\\f1f0\";\r\n}\r\n.md-crop-5-4:before {\r\n content: \"\\f1f1\";\r\n}\r\n.md-crop-7-5:before {\r\n content: \"\\f1f2\";\r\n}\r\n.md-crop-16-9:before {\r\n content: \"\\f1f3\";\r\n}\r\n.md-crop-din:before {\r\n content: \"\\f1f4\";\r\n}\r\n.md-crop-free:before {\r\n content: \"\\f1f5\";\r\n}\r\n.md-crop-landscape:before {\r\n content: \"\\f1f6\";\r\n}\r\n.md-crop-original:before {\r\n content: \"\\f1f7\";\r\n}\r\n.md-crop-portrait:before {\r\n content: \"\\f1f8\";\r\n}\r\n.md-crop-square:before {\r\n content: \"\\f1f9\";\r\n}\r\n.md-dehaze:before {\r\n content: \"\\f1fa\";\r\n}\r\n.md-details:before {\r\n content: \"\\f1fb\";\r\n}\r\n.md-edit:before {\r\n content: \"\\f1fc\";\r\n}\r\n.md-exposure:before {\r\n content: \"\\f1fd\";\r\n}\r\n.md-exposure-minus-1:before {\r\n content: \"\\f1fe\";\r\n}\r\n.md-exposure-minus-2:before {\r\n content: \"\\f1ff\";\r\n}\r\n.md-exposure-zero:before {\r\n content: \"\\f200\";\r\n}\r\n.md-exposure-plus-1:before {\r\n content: \"\\f201\";\r\n}\r\n.md-exposure-plus-2:before {\r\n content: \"\\f202\";\r\n}\r\n.md-filter:before {\r\n content: \"\\f203\";\r\n}\r\n.md-filter-1:before {\r\n content: \"\\f204\";\r\n}\r\n.md-filter-2:before {\r\n content: \"\\f205\";\r\n}\r\n.md-filter-3:before {\r\n content: \"\\f206\";\r\n}\r\n.md-filter-4:before {\r\n content: \"\\f207\";\r\n}\r\n.md-filter-5:before {\r\n content: \"\\f208\";\r\n}\r\n.md-filter-6:before {\r\n content: \"\\f209\";\r\n}\r\n.md-filter-7:before {\r\n content: \"\\f20a\";\r\n}\r\n.md-filter-8:before {\r\n content: \"\\f20b\";\r\n}\r\n.md-filter-9:before {\r\n content: \"\\f20c\";\r\n}\r\n.md-filter-9-plus:before {\r\n content: \"\\f20d\";\r\n}\r\n.md-filter-b-and-w:before {\r\n content: \"\\f20e\";\r\n}\r\n.md-filter-center-focus:before {\r\n content: \"\\f20f\";\r\n}\r\n.md-filter-drama:before {\r\n content: \"\\f210\";\r\n}\r\n.md-filter-frames:before {\r\n content: \"\\f211\";\r\n}\r\n.md-filter-hdr:before {\r\n content: \"\\f212\";\r\n}\r\n.md-filter-none:before {\r\n content: \"\\f213\";\r\n}\r\n.md-filter-tilt-shift:before {\r\n content: \"\\f214\";\r\n}\r\n.md-filter-vintage:before {\r\n content: \"\\f215\";\r\n}\r\n.md-flare:before {\r\n content: \"\\f216\";\r\n}\r\n.md-flash-auto:before {\r\n content: \"\\f217\";\r\n}\r\n.md-flash-off:before {\r\n content: \"\\f218\";\r\n}\r\n.md-flash-on:before {\r\n content: \"\\f219\";\r\n}\r\n.md-flip:before {\r\n content: \"\\f21a\";\r\n}\r\n.md-gradient:before {\r\n content: \"\\f21b\";\r\n}\r\n.md-grain:before {\r\n content: \"\\f21c\";\r\n}\r\n.md-grid-off:before {\r\n content: \"\\f21d\";\r\n}\r\n.md-grid-on:before {\r\n content: \"\\f21e\";\r\n}\r\n.md-hdr-off:before {\r\n content: \"\\f21f\";\r\n}\r\n.md-hdr-on:before {\r\n content: \"\\f220\";\r\n}\r\n.md-hdr-strong:before {\r\n content: \"\\f221\";\r\n}\r\n.md-hdr-weak:before {\r\n content: \"\\f222\";\r\n}\r\n.md-healing:before {\r\n content: \"\\f223\";\r\n}\r\n.md-image:before {\r\n content: \"\\f224\";\r\n}\r\n.md-image-aspect-ratio:before {\r\n content: \"\\f225\";\r\n}\r\n.md-iso:before {\r\n content: \"\\f226\";\r\n}\r\n.md-landscape:before {\r\n content: \"\\f227\";\r\n}\r\n.md-leak-add:before {\r\n content: \"\\f228\";\r\n}\r\n.md-leak-remove:before {\r\n content: \"\\f229\";\r\n}\r\n.md-lens:before {\r\n content: \"\\f22a\";\r\n}\r\n.md-looks:before {\r\n content: \"\\f22b\";\r\n}\r\n.md-looks-1:before {\r\n content: \"\\f22c\";\r\n}\r\n.md-looks-2:before {\r\n content: \"\\f22d\";\r\n}\r\n.md-looks-3:before {\r\n content: \"\\f22e\";\r\n}\r\n.md-looks-4:before {\r\n content: \"\\f22f\";\r\n}\r\n.md-looks-5:before {\r\n content: \"\\f230\";\r\n}\r\n.md-looks-6:before {\r\n content: \"\\f231\";\r\n}\r\n.md-loupe:before {\r\n content: \"\\f232\";\r\n}\r\n.md-movie-creation:before {\r\n content: \"\\f233\";\r\n}\r\n.md-nature:before {\r\n content: \"\\f234\";\r\n}\r\n.md-nature-people:before {\r\n content: \"\\f235\";\r\n}\r\n.md-navigate-before:before {\r\n content: \"\\f236\";\r\n}\r\n.md-navigate-next:before {\r\n content: \"\\f237\";\r\n}\r\n.md-palette:before {\r\n content: \"\\f238\";\r\n}\r\n.md-panorama:before {\r\n content: \"\\f239\";\r\n}\r\n.md-panorama-fisheye:before {\r\n content: \"\\f23a\";\r\n}\r\n.md-panorama-horizontal:before {\r\n content: \"\\f23b\";\r\n}\r\n.md-panorama-vertical:before {\r\n content: \"\\f23c\";\r\n}\r\n.md-panorama-wide-angle:before {\r\n content: \"\\f23d\";\r\n}\r\n.md-photo:before {\r\n content: \"\\f23e\";\r\n}\r\n.md-photo-album:before {\r\n content: \"\\f23f\";\r\n}\r\n.md-photo-camera:before {\r\n content: \"\\f240\";\r\n}\r\n.md-photo-library:before {\r\n content: \"\\f241\";\r\n}\r\n.md-portrait:before {\r\n content: \"\\f242\";\r\n}\r\n.md-remove-red-eye:before {\r\n content: \"\\f243\";\r\n}\r\n.md-rotate-left:before {\r\n content: \"\\f244\";\r\n}\r\n.md-rotate-right:before {\r\n content: \"\\f245\";\r\n}\r\n.md-slideshow:before {\r\n content: \"\\f246\";\r\n}\r\n.md-straighten:before {\r\n content: \"\\f247\";\r\n}\r\n.md-style:before {\r\n content: \"\\f248\";\r\n}\r\n.md-switch-camera:before {\r\n content: \"\\f249\";\r\n}\r\n.md-switch-video:before {\r\n content: \"\\f24a\";\r\n}\r\n.md-tag-faces:before {\r\n content: \"\\f24b\";\r\n}\r\n.md-texture:before {\r\n content: \"\\f24c\";\r\n}\r\n.md-timelapse:before {\r\n content: \"\\f24d\";\r\n}\r\n.md-timer:before {\r\n content: \"\\f24e\";\r\n}\r\n.md-timer-3:before {\r\n content: \"\\f24f\";\r\n}\r\n.md-timer-10:before {\r\n content: \"\\f250\";\r\n}\r\n.md-timer-auto:before {\r\n content: \"\\f251\";\r\n}\r\n.md-timer-off:before {\r\n content: \"\\f252\";\r\n}\r\n.md-tonality:before {\r\n content: \"\\f253\";\r\n}\r\n.md-transform:before {\r\n content: \"\\f254\";\r\n}\r\n.md-tune:before {\r\n content: \"\\f255\";\r\n}\r\n.md-wb-auto:before {\r\n content: \"\\f256\";\r\n}\r\n.md-wb-cloudy:before {\r\n content: \"\\f257\";\r\n}\r\n.md-wb-incandescent:before {\r\n content: \"\\f258\";\r\n}\r\n.md-wb-irradescent:before {\r\n content: \"\\f259\";\r\n}\r\n.md-wb-sunny:before {\r\n content: \"\\f25a\";\r\n}\r\n.md-beenhere:before {\r\n content: \"\\f25b\";\r\n}\r\n.md-directions:before {\r\n content: \"\\f25c\";\r\n}\r\n.md-directions-bike:before {\r\n content: \"\\f25d\";\r\n}\r\n.md-directions-bus:before {\r\n content: \"\\f25e\";\r\n}\r\n.md-directions-car:before {\r\n content: \"\\f25f\";\r\n}\r\n.md-directions-ferry:before {\r\n content: \"\\f260\";\r\n}\r\n.md-directions-subway:before {\r\n content: \"\\f261\";\r\n}\r\n.md-directions-train:before {\r\n content: \"\\f262\";\r\n}\r\n.md-directions-transit:before {\r\n content: \"\\f263\";\r\n}\r\n.md-directions-walk:before {\r\n content: \"\\f264\";\r\n}\r\n.md-flight:before {\r\n content: \"\\f265\";\r\n}\r\n.md-hotel:before {\r\n content: \"\\f266\";\r\n}\r\n.md-layers:before {\r\n content: \"\\f267\";\r\n}\r\n.md-layers-clear:before {\r\n content: \"\\f268\";\r\n}\r\n.md-local-airport:before {\r\n content: \"\\f269\";\r\n}\r\n.md-local-atm:before {\r\n content: \"\\f26a\";\r\n}\r\n.md-local-attraction:before {\r\n content: \"\\f26b\";\r\n}\r\n.md-local-bar:before {\r\n content: \"\\f26c\";\r\n}\r\n.md-local-cafe:before {\r\n content: \"\\f26d\";\r\n}\r\n.md-local-car-wash:before {\r\n content: \"\\f26e\";\r\n}\r\n.md-local-convenience-store:before {\r\n content: \"\\f26f\";\r\n}\r\n.md-local-drink:before {\r\n content: \"\\f270\";\r\n}\r\n.md-local-florist:before {\r\n content: \"\\f271\";\r\n}\r\n.md-local-gas-station:before {\r\n content: \"\\f272\";\r\n}\r\n.md-local-grocery-store:before {\r\n content: \"\\f273\";\r\n}\r\n.md-local-hospital:before {\r\n content: \"\\f274\";\r\n}\r\n.md-local-hotel:before {\r\n content: \"\\f275\";\r\n}\r\n.md-local-laundry-service:before {\r\n content: \"\\f276\";\r\n}\r\n.md-local-library:before {\r\n content: \"\\f277\";\r\n}\r\n.md-local-mall:before {\r\n content: \"\\f278\";\r\n}\r\n.md-local-movies:before {\r\n content: \"\\f279\";\r\n}\r\n.md-local-offer:before {\r\n content: \"\\f27a\";\r\n}\r\n.md-local-parking:before {\r\n content: \"\\f27b\";\r\n}\r\n.md-local-pharmacy:before {\r\n content: \"\\f27c\";\r\n}\r\n.md-local-phone:before {\r\n content: \"\\f27d\";\r\n}\r\n.md-local-pizza:before {\r\n content: \"\\f27e\";\r\n}\r\n.md-local-play:before {\r\n content: \"\\f27f\";\r\n}\r\n.md-local-post-office:before {\r\n content: \"\\f280\";\r\n}\r\n.md-local-print-shop:before {\r\n content: \"\\f281\";\r\n}\r\n.md-local-restaurant:before {\r\n content: \"\\f282\";\r\n}\r\n.md-local-see:before {\r\n content: \"\\f283\";\r\n}\r\n.md-local-shipping:before {\r\n content: \"\\f284\";\r\n}\r\n.md-local-taxi:before {\r\n content: \"\\f285\";\r\n}\r\n.md-location-history:before {\r\n content: \"\\f286\";\r\n}\r\n.md-map:before {\r\n content: \"\\f287\";\r\n}\r\n.md-my-location:before {\r\n content: \"\\f288\";\r\n}\r\n.md-navigation:before {\r\n content: \"\\f289\";\r\n}\r\n.md-pin-drop:before {\r\n content: \"\\f28a\";\r\n}\r\n.md-place:before {\r\n content: \"\\f28b\";\r\n}\r\n.md-rate-review:before {\r\n content: \"\\f28c\";\r\n}\r\n.md-restaurant-menu:before {\r\n content: \"\\f28d\";\r\n}\r\n.md-satellite:before {\r\n content: \"\\f28e\";\r\n}\r\n.md-store-mall-directory:before {\r\n content: \"\\f28f\";\r\n}\r\n.md-terrain:before {\r\n content: \"\\f290\";\r\n}\r\n.md-traffic:before {\r\n content: \"\\f291\";\r\n}\r\n.md-apps:before {\r\n content: \"\\f292\";\r\n}\r\n.md-cancel:before {\r\n content: \"\\f293\";\r\n}\r\n.md-arrow-drop-down-circle:before {\r\n content: \"\\f294\";\r\n}\r\n.md-arrow-drop-down:before {\r\n content: \"\\f295\";\r\n}\r\n.md-arrow-drop-up:before {\r\n content: \"\\f296\";\r\n}\r\n.md-arrow-back:before {\r\n content: \"\\f297\";\r\n}\r\n.md-arrow-forward:before {\r\n content: \"\\f298\";\r\n}\r\n.md-check:before {\r\n content: \"\\f299\";\r\n}\r\n.md-close:before {\r\n content: \"\\f29a\";\r\n}\r\n.md-chevron-left:before {\r\n content: \"\\f29b\";\r\n}\r\n.md-chevron-right:before {\r\n content: \"\\f29c\";\r\n}\r\n.md-expand-less:before {\r\n content: \"\\f29d\";\r\n}\r\n.md-expand-more:before {\r\n content: \"\\f29e\";\r\n}\r\n.md-fullscreen:before {\r\n content: \"\\f29f\";\r\n}\r\n.md-fullscreen-exit:before {\r\n content: \"\\f2a0\";\r\n}\r\n.md-menu:before {\r\n content: \"\\f2a1\";\r\n}\r\n.md-more-horiz:before {\r\n content: \"\\f2a2\";\r\n}\r\n.md-more-vert:before {\r\n content: \"\\f2a3\";\r\n}\r\n.md-refresh:before {\r\n content: \"\\f2a4\";\r\n}\r\n.md-unfold-less:before {\r\n content: \"\\f2a5\";\r\n}\r\n.md-unfold-more:before {\r\n content: \"\\f2a6\";\r\n}\r\n.md-adb:before {\r\n content: \"\\f2a7\";\r\n}\r\n.md-bluetooth-audio:before {\r\n content: \"\\f2a8\";\r\n}\r\n.md-disc-full:before {\r\n content: \"\\f2a9\";\r\n}\r\n.md-dnd-forwardslash:before {\r\n content: \"\\f2aa\";\r\n}\r\n.md-do-not-disturb:before {\r\n content: \"\\f2ab\";\r\n}\r\n.md-drive-eta:before {\r\n content: \"\\f2ac\";\r\n}\r\n.md-event-available:before {\r\n content: \"\\f2ad\";\r\n}\r\n.md-event-busy:before {\r\n content: \"\\f2ae\";\r\n}\r\n.md-event-note:before {\r\n content: \"\\f2af\";\r\n}\r\n.md-folder-special:before {\r\n content: \"\\f2b0\";\r\n}\r\n.md-mms:before {\r\n content: \"\\f2b1\";\r\n}\r\n.md-more:before {\r\n content: \"\\f2b2\";\r\n}\r\n.md-network-locked:before {\r\n content: \"\\f2b3\";\r\n}\r\n.md-phone-bluetooth-speaker:before {\r\n content: \"\\f2b4\";\r\n}\r\n.md-phone-forwarded:before {\r\n content: \"\\f2b5\";\r\n}\r\n.md-phone-in-talk:before {\r\n content: \"\\f2b6\";\r\n}\r\n.md-phone-locked:before {\r\n content: \"\\f2b7\";\r\n}\r\n.md-phone-missed:before {\r\n content: \"\\f2b8\";\r\n}\r\n.md-phone-paused:before {\r\n content: \"\\f2b9\";\r\n}\r\n.md-play-download:before {\r\n content: \"\\f2ba\";\r\n}\r\n.md-play-install:before {\r\n content: \"\\f2bb\";\r\n}\r\n.md-sd-card:before {\r\n content: \"\\f2bc\";\r\n}\r\n.md-sim-card-alert:before {\r\n content: \"\\f2bd\";\r\n}\r\n.md-sms:before {\r\n content: \"\\f2be\";\r\n}\r\n.md-sms-failed:before {\r\n content: \"\\f2bf\";\r\n}\r\n.md-sync:before {\r\n content: \"\\f2c0\";\r\n}\r\n.md-sync-disabled:before {\r\n content: \"\\f2c1\";\r\n}\r\n.md-sync-problem:before {\r\n content: \"\\f2c2\";\r\n}\r\n.md-system-update:before {\r\n content: \"\\f2c3\";\r\n}\r\n.md-tap-and-play:before {\r\n content: \"\\f2c4\";\r\n}\r\n.md-time-to-leave:before {\r\n content: \"\\f2c5\";\r\n}\r\n.md-vibration:before {\r\n content: \"\\f2c6\";\r\n}\r\n.md-voice-chat:before {\r\n content: \"\\f2c7\";\r\n}\r\n.md-vpn-lock:before {\r\n content: \"\\f2c8\";\r\n}\r\n.md-cake:before {\r\n content: \"\\f2c9\";\r\n}\r\n.md-domain:before {\r\n content: \"\\f2ca\";\r\n}\r\n.md-location-city:before {\r\n content: \"\\f2cb\";\r\n}\r\n.md-mood:before {\r\n content: \"\\f2cc\";\r\n}\r\n.md-notifications-none:before {\r\n content: \"\\f2cd\";\r\n}\r\n.md-notifications:before {\r\n content: \"\\f2ce\";\r\n}\r\n.md-notifications-off:before {\r\n content: \"\\f2cf\";\r\n}\r\n.md-notifications-on:before {\r\n content: \"\\f2d0\";\r\n}\r\n.md-notifications-paused:before {\r\n content: \"\\f2d1\";\r\n}\r\n.md-pages:before {\r\n content: \"\\f2d2\";\r\n}\r\n.md-party-mode:before {\r\n content: \"\\f2d3\";\r\n}\r\n.md-group:before {\r\n content: \"\\f2d4\";\r\n}\r\n.md-group-add:before {\r\n content: \"\\f2d5\";\r\n}\r\n.md-people:before {\r\n content: \"\\f2d6\";\r\n}\r\n.md-people-outline:before {\r\n content: \"\\f2d7\";\r\n}\r\n.md-person:before {\r\n content: \"\\f2d8\";\r\n}\r\n.md-person-add:before {\r\n content: \"\\f2d9\";\r\n}\r\n.md-person-outline:before {\r\n content: \"\\f2da\";\r\n}\r\n.md-plus-one:before {\r\n content: \"\\f2db\";\r\n}\r\n.md-poll:before {\r\n content: \"\\f2dc\";\r\n}\r\n.md-public:before {\r\n content: \"\\f2dd\";\r\n}\r\n.md-school:before {\r\n content: \"\\f2de\";\r\n}\r\n.md-share:before {\r\n content: \"\\f2df\";\r\n}\r\n.md-whatshot:before {\r\n content: \"\\f2e0\";\r\n}\r\n.md-check-box:before {\r\n content: \"\\f2e1\";\r\n}\r\n.md-check-box-outline-blank:before {\r\n content: \"\\f2e2\";\r\n}\r\n.md-radio-button-off:before {\r\n content: \"\\f2e3\";\r\n}\r\n.md-radio-button-on:before {\r\n content: \"\\f2e4\";\r\n}\r\n.md-star:before {\r\n content: \"\\f2e5\";\r\n}\r\n.md-star-half:before {\r\n content: \"\\f2e6\";\r\n}\r\n.md-star-outline:before {\r\n content: \"\\f2e7\";\r\n}\r\n/*!\r\nIonicons, v1.5.0\r\nCreated by Ben Sperry for the Ionic Framework, http://ionicons.com/\r\nhttps://twitter.com/benjsperry https://twitter.com/ionicframework\r\nMIT License: https://github.com/driftyco/ionicons\r\n*/\r\n@font-face {\r\n font-family: \"Ionicons\";\r\n src: url(\"../fonts/ionicons.eot?v=1.5.0\");\r\n src: url(\"../fonts/ionicons.eot?v=1.5.0#iefix\") format(\"embedded-opentype\"), url(\"../fonts/ionicons.ttf?v=1.5.0\") format(\"truetype\"), url(\"../fonts/ionicons.woff?v=1.5.0\") format(\"woff\"), url(\"../fonts/ionicons.svg?v=1.5.0#Ionicons\") format(\"svg\");\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.ion,\r\n.ion-loading-a,\r\n.ion-loading-b,\r\n.ion-loading-c,\r\n.ion-loading-d,\r\n.ion-looping,\r\n.ion-refreshing,\r\n.ion-ios7-reloading,\r\n.ionicons,\r\n.ion-alert,\r\n.ion-alert-circled,\r\n.ion-android-add,\r\n.ion-android-add-contact,\r\n.ion-android-alarm,\r\n.ion-android-archive,\r\n.ion-android-arrow-back,\r\n.ion-android-arrow-down-left,\r\n.ion-android-arrow-down-right,\r\n.ion-android-arrow-forward,\r\n.ion-android-arrow-up-left,\r\n.ion-android-arrow-up-right,\r\n.ion-android-battery,\r\n.ion-android-book,\r\n.ion-android-calendar,\r\n.ion-android-call,\r\n.ion-android-camera,\r\n.ion-android-chat,\r\n.ion-android-checkmark,\r\n.ion-android-clock,\r\n.ion-android-close,\r\n.ion-android-contact,\r\n.ion-android-contacts,\r\n.ion-android-data,\r\n.ion-android-developer,\r\n.ion-android-display,\r\n.ion-android-download,\r\n.ion-android-drawer,\r\n.ion-android-dropdown,\r\n.ion-android-earth,\r\n.ion-android-folder,\r\n.ion-android-forums,\r\n.ion-android-friends,\r\n.ion-android-hand,\r\n.ion-android-image,\r\n.ion-android-inbox,\r\n.ion-android-information,\r\n.ion-android-keypad,\r\n.ion-android-lightbulb,\r\n.ion-android-locate,\r\n.ion-android-location,\r\n.ion-android-mail,\r\n.ion-android-microphone,\r\n.ion-android-mixer,\r\n.ion-android-more,\r\n.ion-android-note,\r\n.ion-android-playstore,\r\n.ion-android-printer,\r\n.ion-android-promotion,\r\n.ion-android-reminder,\r\n.ion-android-remove,\r\n.ion-android-search,\r\n.ion-android-send,\r\n.ion-android-settings,\r\n.ion-android-share,\r\n.ion-android-social,\r\n.ion-android-social-user,\r\n.ion-android-sort,\r\n.ion-android-stair-drawer,\r\n.ion-android-star,\r\n.ion-android-stopwatch,\r\n.ion-android-storage,\r\n.ion-android-system-back,\r\n.ion-android-system-home,\r\n.ion-android-system-windows,\r\n.ion-android-timer,\r\n.ion-android-trash,\r\n.ion-android-user-menu,\r\n.ion-android-volume,\r\n.ion-android-wifi,\r\n.ion-aperture,\r\n.ion-archive,\r\n.ion-arrow-down-a,\r\n.ion-arrow-down-b,\r\n.ion-arrow-down-c,\r\n.ion-arrow-expand,\r\n.ion-arrow-graph-down-left,\r\n.ion-arrow-graph-down-right,\r\n.ion-arrow-graph-up-left,\r\n.ion-arrow-graph-up-right,\r\n.ion-arrow-left-a,\r\n.ion-arrow-left-b,\r\n.ion-arrow-left-c,\r\n.ion-arrow-move,\r\n.ion-arrow-resize,\r\n.ion-arrow-return-left,\r\n.ion-arrow-return-right,\r\n.ion-arrow-right-a,\r\n.ion-arrow-right-b,\r\n.ion-arrow-right-c,\r\n.ion-arrow-shrink,\r\n.ion-arrow-swap,\r\n.ion-arrow-up-a,\r\n.ion-arrow-up-b,\r\n.ion-arrow-up-c,\r\n.ion-asterisk,\r\n.ion-at,\r\n.ion-bag,\r\n.ion-battery-charging,\r\n.ion-battery-empty,\r\n.ion-battery-full,\r\n.ion-battery-half,\r\n.ion-battery-low,\r\n.ion-beaker,\r\n.ion-beer,\r\n.ion-bluetooth,\r\n.ion-bonfire,\r\n.ion-bookmark,\r\n.ion-briefcase,\r\n.ion-bug,\r\n.ion-calculator,\r\n.ion-calendar,\r\n.ion-camera,\r\n.ion-card,\r\n.ion-cash,\r\n.ion-chatbox,\r\n.ion-chatbox-working,\r\n.ion-chatboxes,\r\n.ion-chatbubble,\r\n.ion-chatbubble-working,\r\n.ion-chatbubbles,\r\n.ion-checkmark,\r\n.ion-checkmark-circled,\r\n.ion-checkmark-round,\r\n.ion-chevron-down,\r\n.ion-chevron-left,\r\n.ion-chevron-right,\r\n.ion-chevron-up,\r\n.ion-clipboard,\r\n.ion-clock,\r\n.ion-close,\r\n.ion-close-circled,\r\n.ion-close-round,\r\n.ion-closed-captioning,\r\n.ion-cloud,\r\n.ion-code,\r\n.ion-code-download,\r\n.ion-code-working,\r\n.ion-coffee,\r\n.ion-compass,\r\n.ion-compose,\r\n.ion-connection-bars,\r\n.ion-contrast,\r\n.ion-cube,\r\n.ion-disc,\r\n.ion-document,\r\n.ion-document-text,\r\n.ion-drag,\r\n.ion-earth,\r\n.ion-edit,\r\n.ion-egg,\r\n.ion-eject,\r\n.ion-email,\r\n.ion-eye,\r\n.ion-eye-disabled,\r\n.ion-female,\r\n.ion-filing,\r\n.ion-film-marker,\r\n.ion-fireball,\r\n.ion-flag,\r\n.ion-flame,\r\n.ion-flash,\r\n.ion-flash-off,\r\n.ion-flask,\r\n.ion-folder,\r\n.ion-fork,\r\n.ion-fork-repo,\r\n.ion-forward,\r\n.ion-funnel,\r\n.ion-game-controller-a,\r\n.ion-game-controller-b,\r\n.ion-gear-a,\r\n.ion-gear-b,\r\n.ion-grid,\r\n.ion-hammer,\r\n.ion-happy,\r\n.ion-headphone,\r\n.ion-heart,\r\n.ion-heart-broken,\r\n.ion-help,\r\n.ion-help-buoy,\r\n.ion-help-circled,\r\n.ion-home,\r\n.ion-icecream,\r\n.ion-icon-social-google-plus,\r\n.ion-icon-social-google-plus-outline,\r\n.ion-image,\r\n.ion-images,\r\n.ion-information,\r\n.ion-information-circled,\r\n.ion-ionic,\r\n.ion-ios7-alarm,\r\n.ion-ios7-alarm-outline,\r\n.ion-ios7-albums,\r\n.ion-ios7-albums-outline,\r\n.ion-ios7-americanfootball,\r\n.ion-ios7-americanfootball-outline,\r\n.ion-ios7-analytics,\r\n.ion-ios7-analytics-outline,\r\n.ion-ios7-arrow-back,\r\n.ion-ios7-arrow-down,\r\n.ion-ios7-arrow-forward,\r\n.ion-ios7-arrow-left,\r\n.ion-ios7-arrow-right,\r\n.ion-ios7-arrow-thin-down,\r\n.ion-ios7-arrow-thin-left,\r\n.ion-ios7-arrow-thin-right,\r\n.ion-ios7-arrow-thin-up,\r\n.ion-ios7-arrow-up,\r\n.ion-ios7-at,\r\n.ion-ios7-at-outline,\r\n.ion-ios7-barcode,\r\n.ion-ios7-barcode-outline,\r\n.ion-ios7-baseball,\r\n.ion-ios7-baseball-outline,\r\n.ion-ios7-basketball,\r\n.ion-ios7-basketball-outline,\r\n.ion-ios7-bell,\r\n.ion-ios7-bell-outline,\r\n.ion-ios7-bolt,\r\n.ion-ios7-bolt-outline,\r\n.ion-ios7-bookmarks,\r\n.ion-ios7-bookmarks-outline,\r\n.ion-ios7-box,\r\n.ion-ios7-box-outline,\r\n.ion-ios7-briefcase,\r\n.ion-ios7-briefcase-outline,\r\n.ion-ios7-browsers,\r\n.ion-ios7-browsers-outline,\r\n.ion-ios7-calculator,\r\n.ion-ios7-calculator-outline,\r\n.ion-ios7-calendar,\r\n.ion-ios7-calendar-outline,\r\n.ion-ios7-camera,\r\n.ion-ios7-camera-outline,\r\n.ion-ios7-cart,\r\n.ion-ios7-cart-outline,\r\n.ion-ios7-chatboxes,\r\n.ion-ios7-chatboxes-outline,\r\n.ion-ios7-chatbubble,\r\n.ion-ios7-chatbubble-outline,\r\n.ion-ios7-checkmark,\r\n.ion-ios7-checkmark-empty,\r\n.ion-ios7-checkmark-outline,\r\n.ion-ios7-circle-filled,\r\n.ion-ios7-circle-outline,\r\n.ion-ios7-clock,\r\n.ion-ios7-clock-outline,\r\n.ion-ios7-close,\r\n.ion-ios7-close-empty,\r\n.ion-ios7-close-outline,\r\n.ion-ios7-cloud,\r\n.ion-ios7-cloud-download,\r\n.ion-ios7-cloud-download-outline,\r\n.ion-ios7-cloud-outline,\r\n.ion-ios7-cloud-upload,\r\n.ion-ios7-cloud-upload-outline,\r\n.ion-ios7-cloudy,\r\n.ion-ios7-cloudy-night,\r\n.ion-ios7-cloudy-night-outline,\r\n.ion-ios7-cloudy-outline,\r\n.ion-ios7-cog,\r\n.ion-ios7-cog-outline,\r\n.ion-ios7-compose,\r\n.ion-ios7-compose-outline,\r\n.ion-ios7-contact,\r\n.ion-ios7-contact-outline,\r\n.ion-ios7-copy,\r\n.ion-ios7-copy-outline,\r\n.ion-ios7-download,\r\n.ion-ios7-download-outline,\r\n.ion-ios7-drag,\r\n.ion-ios7-email,\r\n.ion-ios7-email-outline,\r\n.ion-ios7-expand,\r\n.ion-ios7-eye,\r\n.ion-ios7-eye-outline,\r\n.ion-ios7-fastforward,\r\n.ion-ios7-fastforward-outline,\r\n.ion-ios7-filing,\r\n.ion-ios7-filing-outline,\r\n.ion-ios7-film,\r\n.ion-ios7-film-outline,\r\n.ion-ios7-flag,\r\n.ion-ios7-flag-outline,\r\n.ion-ios7-folder,\r\n.ion-ios7-folder-outline,\r\n.ion-ios7-football,\r\n.ion-ios7-football-outline,\r\n.ion-ios7-gear,\r\n.ion-ios7-gear-outline,\r\n.ion-ios7-glasses,\r\n.ion-ios7-glasses-outline,\r\n.ion-ios7-heart,\r\n.ion-ios7-heart-outline,\r\n.ion-ios7-help,\r\n.ion-ios7-help-empty,\r\n.ion-ios7-help-outline,\r\n.ion-ios7-home,\r\n.ion-ios7-home-outline,\r\n.ion-ios7-infinite,\r\n.ion-ios7-infinite-outline,\r\n.ion-ios7-information,\r\n.ion-ios7-information-empty,\r\n.ion-ios7-information-outline,\r\n.ion-ios7-ionic-outline,\r\n.ion-ios7-keypad,\r\n.ion-ios7-keypad-outline,\r\n.ion-ios7-lightbulb,\r\n.ion-ios7-lightbulb-outline,\r\n.ion-ios7-location,\r\n.ion-ios7-location-outline,\r\n.ion-ios7-locked,\r\n.ion-ios7-locked-outline,\r\n.ion-ios7-loop,\r\n.ion-ios7-loop-strong,\r\n.ion-ios7-medkit,\r\n.ion-ios7-medkit-outline,\r\n.ion-ios7-mic,\r\n.ion-ios7-mic-off,\r\n.ion-ios7-mic-outline,\r\n.ion-ios7-minus,\r\n.ion-ios7-minus-empty,\r\n.ion-ios7-minus-outline,\r\n.ion-ios7-monitor,\r\n.ion-ios7-monitor-outline,\r\n.ion-ios7-moon,\r\n.ion-ios7-moon-outline,\r\n.ion-ios7-more,\r\n.ion-ios7-more-outline,\r\n.ion-ios7-musical-note,\r\n.ion-ios7-musical-notes,\r\n.ion-ios7-navigate,\r\n.ion-ios7-navigate-outline,\r\n.ion-ios7-paper,\r\n.ion-ios7-paper-outline,\r\n.ion-ios7-paperplane,\r\n.ion-ios7-paperplane-outline,\r\n.ion-ios7-partlysunny,\r\n.ion-ios7-partlysunny-outline,\r\n.ion-ios7-pause,\r\n.ion-ios7-pause-outline,\r\n.ion-ios7-paw,\r\n.ion-ios7-paw-outline,\r\n.ion-ios7-people,\r\n.ion-ios7-people-outline,\r\n.ion-ios7-person,\r\n.ion-ios7-person-outline,\r\n.ion-ios7-personadd,\r\n.ion-ios7-personadd-outline,\r\n.ion-ios7-photos,\r\n.ion-ios7-photos-outline,\r\n.ion-ios7-pie,\r\n.ion-ios7-pie-outline,\r\n.ion-ios7-play,\r\n.ion-ios7-play-outline,\r\n.ion-ios7-plus,\r\n.ion-ios7-plus-empty,\r\n.ion-ios7-plus-outline,\r\n.ion-ios7-pricetag,\r\n.ion-ios7-pricetag-outline,\r\n.ion-ios7-pricetags,\r\n.ion-ios7-pricetags-outline,\r\n.ion-ios7-printer,\r\n.ion-ios7-printer-outline,\r\n.ion-ios7-pulse,\r\n.ion-ios7-pulse-strong,\r\n.ion-ios7-rainy,\r\n.ion-ios7-rainy-outline,\r\n.ion-ios7-recording,\r\n.ion-ios7-recording-outline,\r\n.ion-ios7-redo,\r\n.ion-ios7-redo-outline,\r\n.ion-ios7-refresh,\r\n.ion-ios7-refresh-empty,\r\n.ion-ios7-refresh-outline,\r\n.ion-ios7-reload,\r\n.ion-ios7-reverse-camera,\r\n.ion-ios7-reverse-camera-outline,\r\n.ion-ios7-rewind,\r\n.ion-ios7-rewind-outline,\r\n.ion-ios7-search,\r\n.ion-ios7-search-strong,\r\n.ion-ios7-settings,\r\n.ion-ios7-settings-strong,\r\n.ion-ios7-shrink,\r\n.ion-ios7-skipbackward,\r\n.ion-ios7-skipbackward-outline,\r\n.ion-ios7-skipforward,\r\n.ion-ios7-skipforward-outline,\r\n.ion-ios7-snowy,\r\n.ion-ios7-speedometer,\r\n.ion-ios7-speedometer-outline,\r\n.ion-ios7-star,\r\n.ion-ios7-star-half,\r\n.ion-ios7-star-outline,\r\n.ion-ios7-stopwatch,\r\n.ion-ios7-stopwatch-outline,\r\n.ion-ios7-sunny,\r\n.ion-ios7-sunny-outline,\r\n.ion-ios7-telephone,\r\n.ion-ios7-telephone-outline,\r\n.ion-ios7-tennisball,\r\n.ion-ios7-tennisball-outline,\r\n.ion-ios7-thunderstorm,\r\n.ion-ios7-thunderstorm-outline,\r\n.ion-ios7-time,\r\n.ion-ios7-time-outline,\r\n.ion-ios7-timer,\r\n.ion-ios7-timer-outline,\r\n.ion-ios7-toggle,\r\n.ion-ios7-toggle-outline,\r\n.ion-ios7-trash,\r\n.ion-ios7-trash-outline,\r\n.ion-ios7-undo,\r\n.ion-ios7-undo-outline,\r\n.ion-ios7-unlocked,\r\n.ion-ios7-unlocked-outline,\r\n.ion-ios7-upload,\r\n.ion-ios7-upload-outline,\r\n.ion-ios7-videocam,\r\n.ion-ios7-videocam-outline,\r\n.ion-ios7-volume-high,\r\n.ion-ios7-volume-low,\r\n.ion-ios7-wineglass,\r\n.ion-ios7-wineglass-outline,\r\n.ion-ios7-world,\r\n.ion-ios7-world-outline,\r\n.ion-ipad,\r\n.ion-iphone,\r\n.ion-ipod,\r\n.ion-jet,\r\n.ion-key,\r\n.ion-knife,\r\n.ion-laptop,\r\n.ion-leaf,\r\n.ion-levels,\r\n.ion-lightbulb,\r\n.ion-link,\r\n.ion-load-a,\r\n.ion-load-b,\r\n.ion-load-c,\r\n.ion-load-d,\r\n.ion-location,\r\n.ion-locked,\r\n.ion-log-in,\r\n.ion-log-out,\r\n.ion-loop,\r\n.ion-magnet,\r\n.ion-male,\r\n.ion-man,\r\n.ion-map,\r\n.ion-medkit,\r\n.ion-merge,\r\n.ion-mic-a,\r\n.ion-mic-b,\r\n.ion-mic-c,\r\n.ion-minus,\r\n.ion-minus-circled,\r\n.ion-minus-round,\r\n.ion-model-s,\r\n.ion-monitor,\r\n.ion-more,\r\n.ion-mouse,\r\n.ion-music-note,\r\n.ion-navicon,\r\n.ion-navicon-round,\r\n.ion-navigate,\r\n.ion-network,\r\n.ion-no-smoking,\r\n.ion-nuclear,\r\n.ion-outlet,\r\n.ion-paper-airplane,\r\n.ion-paperclip,\r\n.ion-pause,\r\n.ion-person,\r\n.ion-person-add,\r\n.ion-person-stalker,\r\n.ion-pie-graph,\r\n.ion-pin,\r\n.ion-pinpoint,\r\n.ion-pizza,\r\n.ion-plane,\r\n.ion-planet,\r\n.ion-play,\r\n.ion-playstation,\r\n.ion-plus,\r\n.ion-plus-circled,\r\n.ion-plus-round,\r\n.ion-podium,\r\n.ion-pound,\r\n.ion-power,\r\n.ion-pricetag,\r\n.ion-pricetags,\r\n.ion-printer,\r\n.ion-pull-request,\r\n.ion-qr-scanner,\r\n.ion-quote,\r\n.ion-radio-waves,\r\n.ion-record,\r\n.ion-refresh,\r\n.ion-reply,\r\n.ion-reply-all,\r\n.ion-ribbon-a,\r\n.ion-ribbon-b,\r\n.ion-sad,\r\n.ion-scissors,\r\n.ion-search,\r\n.ion-settings,\r\n.ion-share,\r\n.ion-shuffle,\r\n.ion-skip-backward,\r\n.ion-skip-forward,\r\n.ion-social-android,\r\n.ion-social-android-outline,\r\n.ion-social-apple,\r\n.ion-social-apple-outline,\r\n.ion-social-bitcoin,\r\n.ion-social-bitcoin-outline,\r\n.ion-social-buffer,\r\n.ion-social-buffer-outline,\r\n.ion-social-designernews,\r\n.ion-social-designernews-outline,\r\n.ion-social-dribbble,\r\n.ion-social-dribbble-outline,\r\n.ion-social-dropbox,\r\n.ion-social-dropbox-outline,\r\n.ion-social-facebook,\r\n.ion-social-facebook-outline,\r\n.ion-social-foursquare,\r\n.ion-social-foursquare-outline,\r\n.ion-social-freebsd-devil,\r\n.ion-social-github,\r\n.ion-social-github-outline,\r\n.ion-social-google,\r\n.ion-social-google-outline,\r\n.ion-social-googleplus,\r\n.ion-social-googleplus-outline,\r\n.ion-social-hackernews,\r\n.ion-social-hackernews-outline,\r\n.ion-social-instagram,\r\n.ion-social-instagram-outline,\r\n.ion-social-linkedin,\r\n.ion-social-linkedin-outline,\r\n.ion-social-pinterest,\r\n.ion-social-pinterest-outline,\r\n.ion-social-reddit,\r\n.ion-social-reddit-outline,\r\n.ion-social-rss,\r\n.ion-social-rss-outline,\r\n.ion-social-skype,\r\n.ion-social-skype-outline,\r\n.ion-social-tumblr,\r\n.ion-social-tumblr-outline,\r\n.ion-social-tux,\r\n.ion-social-twitter,\r\n.ion-social-twitter-outline,\r\n.ion-social-usd,\r\n.ion-social-usd-outline,\r\n.ion-social-vimeo,\r\n.ion-social-vimeo-outline,\r\n.ion-social-windows,\r\n.ion-social-windows-outline,\r\n.ion-social-wordpress,\r\n.ion-social-wordpress-outline,\r\n.ion-social-yahoo,\r\n.ion-social-yahoo-outline,\r\n.ion-social-youtube,\r\n.ion-social-youtube-outline,\r\n.ion-speakerphone,\r\n.ion-speedometer,\r\n.ion-spoon,\r\n.ion-star,\r\n.ion-stats-bars,\r\n.ion-steam,\r\n.ion-stop,\r\n.ion-thermometer,\r\n.ion-thumbsdown,\r\n.ion-thumbsup,\r\n.ion-toggle,\r\n.ion-toggle-filled,\r\n.ion-trash-a,\r\n.ion-trash-b,\r\n.ion-trophy,\r\n.ion-umbrella,\r\n.ion-university,\r\n.ion-unlocked,\r\n.ion-upload,\r\n.ion-usb,\r\n.ion-videocamera,\r\n.ion-volume-high,\r\n.ion-volume-low,\r\n.ion-volume-medium,\r\n.ion-volume-mute,\r\n.ion-wand,\r\n.ion-waterdrop,\r\n.ion-wifi,\r\n.ion-wineglass,\r\n.ion-woman,\r\n.ion-wrench,\r\n.ion-xbox {\r\n display: inline-block;\r\n font-family: \"Ionicons\";\r\n speak: none;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n text-rendering: auto;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.ion-spin,\r\n.ion-loading-a,\r\n.ion-loading-b,\r\n.ion-loading-c,\r\n.ion-loading-d,\r\n.ion-looping,\r\n.ion-refreshing,\r\n.ion-ios7-reloading {\r\n -webkit-animation: spin 1s infinite linear;\r\n -moz-animation: spin 1s infinite linear;\r\n -o-animation: spin 1s infinite linear;\r\n animation: spin 1s infinite linear;\r\n}\r\n@-moz-keyframes spin {\r\n 0% {\r\n -moz-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -moz-transform: rotate(359deg);\r\n }\r\n}\r\n@-webkit-keyframes spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n }\r\n}\r\n@-o-keyframes spin {\r\n 0% {\r\n -o-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -o-transform: rotate(359deg);\r\n }\r\n}\r\n@-ms-keyframes spin {\r\n 0% {\r\n -ms-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -ms-transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(359deg);\r\n }\r\n}\r\n.ion-loading-a {\r\n -webkit-animation-timing-function: steps(8, start);\r\n -moz-animation-timing-function: steps(8, start);\r\n animation-timing-function: steps(8, start);\r\n}\r\n.ion-alert:before {\r\n content: \"\\f101\";\r\n}\r\n.ion-alert-circled:before {\r\n content: \"\\f100\";\r\n}\r\n.ion-android-add:before {\r\n content: \"\\f2c7\";\r\n}\r\n.ion-android-add-contact:before {\r\n content: \"\\f2c6\";\r\n}\r\n.ion-android-alarm:before {\r\n content: \"\\f2c8\";\r\n}\r\n.ion-android-archive:before {\r\n content: \"\\f2c9\";\r\n}\r\n.ion-android-arrow-back:before {\r\n content: \"\\f2ca\";\r\n}\r\n.ion-android-arrow-down-left:before {\r\n content: \"\\f2cb\";\r\n}\r\n.ion-android-arrow-down-right:before {\r\n content: \"\\f2cc\";\r\n}\r\n.ion-android-arrow-forward:before {\r\n content: \"\\f30f\";\r\n}\r\n.ion-android-arrow-up-left:before {\r\n content: \"\\f2cd\";\r\n}\r\n.ion-android-arrow-up-right:before {\r\n content: \"\\f2ce\";\r\n}\r\n.ion-android-battery:before {\r\n content: \"\\f2cf\";\r\n}\r\n.ion-android-book:before {\r\n content: \"\\f2d0\";\r\n}\r\n.ion-android-calendar:before {\r\n content: \"\\f2d1\";\r\n}\r\n.ion-android-call:before {\r\n content: \"\\f2d2\";\r\n}\r\n.ion-android-camera:before {\r\n content: \"\\f2d3\";\r\n}\r\n.ion-android-chat:before {\r\n content: \"\\f2d4\";\r\n}\r\n.ion-android-checkmark:before {\r\n content: \"\\f2d5\";\r\n}\r\n.ion-android-clock:before {\r\n content: \"\\f2d6\";\r\n}\r\n.ion-android-close:before {\r\n content: \"\\f2d7\";\r\n}\r\n.ion-android-contact:before {\r\n content: \"\\f2d8\";\r\n}\r\n.ion-android-contacts:before {\r\n content: \"\\f2d9\";\r\n}\r\n.ion-android-data:before {\r\n content: \"\\f2da\";\r\n}\r\n.ion-android-developer:before {\r\n content: \"\\f2db\";\r\n}\r\n.ion-android-display:before {\r\n content: \"\\f2dc\";\r\n}\r\n.ion-android-download:before {\r\n content: \"\\f2dd\";\r\n}\r\n.ion-android-drawer:before {\r\n content: \"\\f310\";\r\n}\r\n.ion-android-dropdown:before {\r\n content: \"\\f2de\";\r\n}\r\n.ion-android-earth:before {\r\n content: \"\\f2df\";\r\n}\r\n.ion-android-folder:before {\r\n content: \"\\f2e0\";\r\n}\r\n.ion-android-forums:before {\r\n content: \"\\f2e1\";\r\n}\r\n.ion-android-friends:before {\r\n content: \"\\f2e2\";\r\n}\r\n.ion-android-hand:before {\r\n content: \"\\f2e3\";\r\n}\r\n.ion-android-image:before {\r\n content: \"\\f2e4\";\r\n}\r\n.ion-android-inbox:before {\r\n content: \"\\f2e5\";\r\n}\r\n.ion-android-information:before {\r\n content: \"\\f2e6\";\r\n}\r\n.ion-android-keypad:before {\r\n content: \"\\f2e7\";\r\n}\r\n.ion-android-lightbulb:before {\r\n content: \"\\f2e8\";\r\n}\r\n.ion-android-locate:before {\r\n content: \"\\f2e9\";\r\n}\r\n.ion-android-location:before {\r\n content: \"\\f2ea\";\r\n}\r\n.ion-android-mail:before {\r\n content: \"\\f2eb\";\r\n}\r\n.ion-android-microphone:before {\r\n content: \"\\f2ec\";\r\n}\r\n.ion-android-mixer:before {\r\n content: \"\\f2ed\";\r\n}\r\n.ion-android-more:before {\r\n content: \"\\f2ee\";\r\n}\r\n.ion-android-note:before {\r\n content: \"\\f2ef\";\r\n}\r\n.ion-android-playstore:before {\r\n content: \"\\f2f0\";\r\n}\r\n.ion-android-printer:before {\r\n content: \"\\f2f1\";\r\n}\r\n.ion-android-promotion:before {\r\n content: \"\\f2f2\";\r\n}\r\n.ion-android-reminder:before {\r\n content: \"\\f2f3\";\r\n}\r\n.ion-android-remove:before {\r\n content: \"\\f2f4\";\r\n}\r\n.ion-android-search:before {\r\n content: \"\\f2f5\";\r\n}\r\n.ion-android-send:before {\r\n content: \"\\f2f6\";\r\n}\r\n.ion-android-settings:before {\r\n content: \"\\f2f7\";\r\n}\r\n.ion-android-share:before {\r\n content: \"\\f2f8\";\r\n}\r\n.ion-android-social:before {\r\n content: \"\\f2fa\";\r\n}\r\n.ion-android-social-user:before {\r\n content: \"\\f2f9\";\r\n}\r\n.ion-android-sort:before {\r\n content: \"\\f2fb\";\r\n}\r\n.ion-android-stair-drawer:before {\r\n content: \"\\f311\";\r\n}\r\n.ion-android-star:before {\r\n content: \"\\f2fc\";\r\n}\r\n.ion-android-stopwatch:before {\r\n content: \"\\f2fd\";\r\n}\r\n.ion-android-storage:before {\r\n content: \"\\f2fe\";\r\n}\r\n.ion-android-system-back:before {\r\n content: \"\\f2ff\";\r\n}\r\n.ion-android-system-home:before {\r\n content: \"\\f300\";\r\n}\r\n.ion-android-system-windows:before {\r\n content: \"\\f301\";\r\n}\r\n.ion-android-timer:before {\r\n content: \"\\f302\";\r\n}\r\n.ion-android-trash:before {\r\n content: \"\\f303\";\r\n}\r\n.ion-android-user-menu:before {\r\n content: \"\\f312\";\r\n}\r\n.ion-android-volume:before {\r\n content: \"\\f304\";\r\n}\r\n.ion-android-wifi:before {\r\n content: \"\\f305\";\r\n}\r\n.ion-aperture:before {\r\n content: \"\\f313\";\r\n}\r\n.ion-archive:before {\r\n content: \"\\f102\";\r\n}\r\n.ion-arrow-down-a:before {\r\n content: \"\\f103\";\r\n}\r\n.ion-arrow-down-b:before {\r\n content: \"\\f104\";\r\n}\r\n.ion-arrow-down-c:before {\r\n content: \"\\f105\";\r\n}\r\n.ion-arrow-expand:before {\r\n content: \"\\f25e\";\r\n}\r\n.ion-arrow-graph-down-left:before {\r\n content: \"\\f25f\";\r\n}\r\n.ion-arrow-graph-down-right:before {\r\n content: \"\\f260\";\r\n}\r\n.ion-arrow-graph-up-left:before {\r\n content: \"\\f261\";\r\n}\r\n.ion-arrow-graph-up-right:before {\r\n content: \"\\f262\";\r\n}\r\n.ion-arrow-left-a:before {\r\n content: \"\\f106\";\r\n}\r\n.ion-arrow-left-b:before {\r\n content: \"\\f107\";\r\n}\r\n.ion-arrow-left-c:before {\r\n content: \"\\f108\";\r\n}\r\n.ion-arrow-move:before {\r\n content: \"\\f263\";\r\n}\r\n.ion-arrow-resize:before {\r\n content: \"\\f264\";\r\n}\r\n.ion-arrow-return-left:before {\r\n content: \"\\f265\";\r\n}\r\n.ion-arrow-return-right:before {\r\n content: \"\\f266\";\r\n}\r\n.ion-arrow-right-a:before {\r\n content: \"\\f109\";\r\n}\r\n.ion-arrow-right-b:before {\r\n content: \"\\f10a\";\r\n}\r\n.ion-arrow-right-c:before {\r\n content: \"\\f10b\";\r\n}\r\n.ion-arrow-shrink:before {\r\n content: \"\\f267\";\r\n}\r\n.ion-arrow-swap:before {\r\n content: \"\\f268\";\r\n}\r\n.ion-arrow-up-a:before {\r\n content: \"\\f10c\";\r\n}\r\n.ion-arrow-up-b:before {\r\n content: \"\\f10d\";\r\n}\r\n.ion-arrow-up-c:before {\r\n content: \"\\f10e\";\r\n}\r\n.ion-asterisk:before {\r\n content: \"\\f314\";\r\n}\r\n.ion-at:before {\r\n content: \"\\f10f\";\r\n}\r\n.ion-bag:before {\r\n content: \"\\f110\";\r\n}\r\n.ion-battery-charging:before {\r\n content: \"\\f111\";\r\n}\r\n.ion-battery-empty:before {\r\n content: \"\\f112\";\r\n}\r\n.ion-battery-full:before {\r\n content: \"\\f113\";\r\n}\r\n.ion-battery-half:before {\r\n content: \"\\f114\";\r\n}\r\n.ion-battery-low:before {\r\n content: \"\\f115\";\r\n}\r\n.ion-beaker:before {\r\n content: \"\\f269\";\r\n}\r\n.ion-beer:before {\r\n content: \"\\f26a\";\r\n}\r\n.ion-bluetooth:before {\r\n content: \"\\f116\";\r\n}\r\n.ion-bonfire:before {\r\n content: \"\\f315\";\r\n}\r\n.ion-bookmark:before {\r\n content: \"\\f26b\";\r\n}\r\n.ion-briefcase:before {\r\n content: \"\\f26c\";\r\n}\r\n.ion-bug:before {\r\n content: \"\\f2be\";\r\n}\r\n.ion-calculator:before {\r\n content: \"\\f26d\";\r\n}\r\n.ion-calendar:before {\r\n content: \"\\f117\";\r\n}\r\n.ion-camera:before {\r\n content: \"\\f118\";\r\n}\r\n.ion-card:before {\r\n content: \"\\f119\";\r\n}\r\n.ion-cash:before {\r\n content: \"\\f316\";\r\n}\r\n.ion-chatbox:before {\r\n content: \"\\f11b\";\r\n}\r\n.ion-chatbox-working:before {\r\n content: \"\\f11a\";\r\n}\r\n.ion-chatboxes:before {\r\n content: \"\\f11c\";\r\n}\r\n.ion-chatbubble:before {\r\n content: \"\\f11e\";\r\n}\r\n.ion-chatbubble-working:before {\r\n content: \"\\f11d\";\r\n}\r\n.ion-chatbubbles:before {\r\n content: \"\\f11f\";\r\n}\r\n.ion-checkmark:before {\r\n content: \"\\f122\";\r\n}\r\n.ion-checkmark-circled:before {\r\n content: \"\\f120\";\r\n}\r\n.ion-checkmark-round:before {\r\n content: \"\\f121\";\r\n}\r\n.ion-chevron-down:before {\r\n content: \"\\f123\";\r\n}\r\n.ion-chevron-left:before {\r\n content: \"\\f124\";\r\n}\r\n.ion-chevron-right:before {\r\n content: \"\\f125\";\r\n}\r\n.ion-chevron-up:before {\r\n content: \"\\f126\";\r\n}\r\n.ion-clipboard:before {\r\n content: \"\\f127\";\r\n}\r\n.ion-clock:before {\r\n content: \"\\f26e\";\r\n}\r\n.ion-close:before {\r\n content: \"\\f12a\";\r\n}\r\n.ion-close-circled:before {\r\n content: \"\\f128\";\r\n}\r\n.ion-close-round:before {\r\n content: \"\\f129\";\r\n}\r\n.ion-closed-captioning:before {\r\n content: \"\\f317\";\r\n}\r\n.ion-cloud:before {\r\n content: \"\\f12b\";\r\n}\r\n.ion-code:before {\r\n content: \"\\f271\";\r\n}\r\n.ion-code-download:before {\r\n content: \"\\f26f\";\r\n}\r\n.ion-code-working:before {\r\n content: \"\\f270\";\r\n}\r\n.ion-coffee:before {\r\n content: \"\\f272\";\r\n}\r\n.ion-compass:before {\r\n content: \"\\f273\";\r\n}\r\n.ion-compose:before {\r\n content: \"\\f12c\";\r\n}\r\n.ion-connection-bars:before {\r\n content: \"\\f274\";\r\n}\r\n.ion-contrast:before {\r\n content: \"\\f275\";\r\n}\r\n.ion-cube:before {\r\n content: \"\\f318\";\r\n}\r\n.ion-disc:before {\r\n content: \"\\f12d\";\r\n}\r\n.ion-document:before {\r\n content: \"\\f12f\";\r\n}\r\n.ion-document-text:before {\r\n content: \"\\f12e\";\r\n}\r\n.ion-drag:before {\r\n content: \"\\f130\";\r\n}\r\n.ion-earth:before {\r\n content: \"\\f276\";\r\n}\r\n.ion-edit:before {\r\n content: \"\\f2bf\";\r\n}\r\n.ion-egg:before {\r\n content: \"\\f277\";\r\n}\r\n.ion-eject:before {\r\n content: \"\\f131\";\r\n}\r\n.ion-email:before {\r\n content: \"\\f132\";\r\n}\r\n.ion-eye:before {\r\n content: \"\\f133\";\r\n}\r\n.ion-eye-disabled:before {\r\n content: \"\\f306\";\r\n}\r\n.ion-female:before {\r\n content: \"\\f278\";\r\n}\r\n.ion-filing:before {\r\n content: \"\\f134\";\r\n}\r\n.ion-film-marker:before {\r\n content: \"\\f135\";\r\n}\r\n.ion-fireball:before {\r\n content: \"\\f319\";\r\n}\r\n.ion-flag:before {\r\n content: \"\\f279\";\r\n}\r\n.ion-flame:before {\r\n content: \"\\f31a\";\r\n}\r\n.ion-flash:before {\r\n content: \"\\f137\";\r\n}\r\n.ion-flash-off:before {\r\n content: \"\\f136\";\r\n}\r\n.ion-flask:before {\r\n content: \"\\f138\";\r\n}\r\n.ion-folder:before {\r\n content: \"\\f139\";\r\n}\r\n.ion-fork:before {\r\n content: \"\\f27a\";\r\n}\r\n.ion-fork-repo:before {\r\n content: \"\\f2c0\";\r\n}\r\n.ion-forward:before {\r\n content: \"\\f13a\";\r\n}\r\n.ion-funnel:before {\r\n content: \"\\f31b\";\r\n}\r\n.ion-game-controller-a:before {\r\n content: \"\\f13b\";\r\n}\r\n.ion-game-controller-b:before {\r\n content: \"\\f13c\";\r\n}\r\n.ion-gear-a:before {\r\n content: \"\\f13d\";\r\n}\r\n.ion-gear-b:before {\r\n content: \"\\f13e\";\r\n}\r\n.ion-grid:before {\r\n content: \"\\f13f\";\r\n}\r\n.ion-hammer:before {\r\n content: \"\\f27b\";\r\n}\r\n.ion-happy:before {\r\n content: \"\\f31c\";\r\n}\r\n.ion-headphone:before {\r\n content: \"\\f140\";\r\n}\r\n.ion-heart:before {\r\n content: \"\\f141\";\r\n}\r\n.ion-heart-broken:before {\r\n content: \"\\f31d\";\r\n}\r\n.ion-help:before {\r\n content: \"\\f143\";\r\n}\r\n.ion-help-buoy:before {\r\n content: \"\\f27c\";\r\n}\r\n.ion-help-circled:before {\r\n content: \"\\f142\";\r\n}\r\n.ion-home:before {\r\n content: \"\\f144\";\r\n}\r\n.ion-icecream:before {\r\n content: \"\\f27d\";\r\n}\r\n.ion-icon-social-google-plus:before {\r\n content: \"\\f146\";\r\n}\r\n.ion-icon-social-google-plus-outline:before {\r\n content: \"\\f145\";\r\n}\r\n.ion-image:before {\r\n content: \"\\f147\";\r\n}\r\n.ion-images:before {\r\n content: \"\\f148\";\r\n}\r\n.ion-information:before {\r\n content: \"\\f14a\";\r\n}\r\n.ion-information-circled:before {\r\n content: \"\\f149\";\r\n}\r\n.ion-ionic:before {\r\n content: \"\\f14b\";\r\n}\r\n.ion-ios7-alarm:before {\r\n content: \"\\f14d\";\r\n}\r\n.ion-ios7-alarm-outline:before {\r\n content: \"\\f14c\";\r\n}\r\n.ion-ios7-albums:before {\r\n content: \"\\f14f\";\r\n}\r\n.ion-ios7-albums-outline:before {\r\n content: \"\\f14e\";\r\n}\r\n.ion-ios7-americanfootball:before {\r\n content: \"\\f31f\";\r\n}\r\n.ion-ios7-americanfootball-outline:before {\r\n content: \"\\f31e\";\r\n}\r\n.ion-ios7-analytics:before {\r\n content: \"\\f321\";\r\n}\r\n.ion-ios7-analytics-outline:before {\r\n content: \"\\f320\";\r\n}\r\n.ion-ios7-arrow-back:before {\r\n content: \"\\f150\";\r\n}\r\n.ion-ios7-arrow-down:before {\r\n content: \"\\f151\";\r\n}\r\n.ion-ios7-arrow-forward:before {\r\n content: \"\\f152\";\r\n}\r\n.ion-ios7-arrow-left:before {\r\n content: \"\\f153\";\r\n}\r\n.ion-ios7-arrow-right:before {\r\n content: \"\\f154\";\r\n}\r\n.ion-ios7-arrow-thin-down:before {\r\n content: \"\\f27e\";\r\n}\r\n.ion-ios7-arrow-thin-left:before {\r\n content: \"\\f27f\";\r\n}\r\n.ion-ios7-arrow-thin-right:before {\r\n content: \"\\f280\";\r\n}\r\n.ion-ios7-arrow-thin-up:before {\r\n content: \"\\f281\";\r\n}\r\n.ion-ios7-arrow-up:before {\r\n content: \"\\f155\";\r\n}\r\n.ion-ios7-at:before {\r\n content: \"\\f157\";\r\n}\r\n.ion-ios7-at-outline:before {\r\n content: \"\\f156\";\r\n}\r\n.ion-ios7-barcode:before {\r\n content: \"\\f323\";\r\n}\r\n.ion-ios7-barcode-outline:before {\r\n content: \"\\f322\";\r\n}\r\n.ion-ios7-baseball:before {\r\n content: \"\\f325\";\r\n}\r\n.ion-ios7-baseball-outline:before {\r\n content: \"\\f324\";\r\n}\r\n.ion-ios7-basketball:before {\r\n content: \"\\f327\";\r\n}\r\n.ion-ios7-basketball-outline:before {\r\n content: \"\\f326\";\r\n}\r\n.ion-ios7-bell:before {\r\n content: \"\\f159\";\r\n}\r\n.ion-ios7-bell-outline:before {\r\n content: \"\\f158\";\r\n}\r\n.ion-ios7-bolt:before {\r\n content: \"\\f15b\";\r\n}\r\n.ion-ios7-bolt-outline:before {\r\n content: \"\\f15a\";\r\n}\r\n.ion-ios7-bookmarks:before {\r\n content: \"\\f15d\";\r\n}\r\n.ion-ios7-bookmarks-outline:before {\r\n content: \"\\f15c\";\r\n}\r\n.ion-ios7-box:before {\r\n content: \"\\f15f\";\r\n}\r\n.ion-ios7-box-outline:before {\r\n content: \"\\f15e\";\r\n}\r\n.ion-ios7-briefcase:before {\r\n content: \"\\f283\";\r\n}\r\n.ion-ios7-briefcase-outline:before {\r\n content: \"\\f282\";\r\n}\r\n.ion-ios7-browsers:before {\r\n content: \"\\f161\";\r\n}\r\n.ion-ios7-browsers-outline:before {\r\n content: \"\\f160\";\r\n}\r\n.ion-ios7-calculator:before {\r\n content: \"\\f285\";\r\n}\r\n.ion-ios7-calculator-outline:before {\r\n content: \"\\f284\";\r\n}\r\n.ion-ios7-calendar:before {\r\n content: \"\\f163\";\r\n}\r\n.ion-ios7-calendar-outline:before {\r\n content: \"\\f162\";\r\n}\r\n.ion-ios7-camera:before {\r\n content: \"\\f165\";\r\n}\r\n.ion-ios7-camera-outline:before {\r\n content: \"\\f164\";\r\n}\r\n.ion-ios7-cart:before {\r\n content: \"\\f167\";\r\n}\r\n.ion-ios7-cart-outline:before {\r\n content: \"\\f166\";\r\n}\r\n.ion-ios7-chatboxes:before {\r\n content: \"\\f169\";\r\n}\r\n.ion-ios7-chatboxes-outline:before {\r\n content: \"\\f168\";\r\n}\r\n.ion-ios7-chatbubble:before {\r\n content: \"\\f16b\";\r\n}\r\n.ion-ios7-chatbubble-outline:before {\r\n content: \"\\f16a\";\r\n}\r\n.ion-ios7-checkmark:before {\r\n content: \"\\f16e\";\r\n}\r\n.ion-ios7-checkmark-empty:before {\r\n content: \"\\f16c\";\r\n}\r\n.ion-ios7-checkmark-outline:before {\r\n content: \"\\f16d\";\r\n}\r\n.ion-ios7-circle-filled:before {\r\n content: \"\\f16f\";\r\n}\r\n.ion-ios7-circle-outline:before {\r\n content: \"\\f170\";\r\n}\r\n.ion-ios7-clock:before {\r\n content: \"\\f172\";\r\n}\r\n.ion-ios7-clock-outline:before {\r\n content: \"\\f171\";\r\n}\r\n.ion-ios7-close:before {\r\n content: \"\\f2bc\";\r\n}\r\n.ion-ios7-close-empty:before {\r\n content: \"\\f2bd\";\r\n}\r\n.ion-ios7-close-outline:before {\r\n content: \"\\f2bb\";\r\n}\r\n.ion-ios7-cloud:before {\r\n content: \"\\f178\";\r\n}\r\n.ion-ios7-cloud-download:before {\r\n content: \"\\f174\";\r\n}\r\n.ion-ios7-cloud-download-outline:before {\r\n content: \"\\f173\";\r\n}\r\n.ion-ios7-cloud-outline:before {\r\n content: \"\\f175\";\r\n}\r\n.ion-ios7-cloud-upload:before {\r\n content: \"\\f177\";\r\n}\r\n.ion-ios7-cloud-upload-outline:before {\r\n content: \"\\f176\";\r\n}\r\n.ion-ios7-cloudy:before {\r\n content: \"\\f17a\";\r\n}\r\n.ion-ios7-cloudy-night:before {\r\n content: \"\\f308\";\r\n}\r\n.ion-ios7-cloudy-night-outline:before {\r\n content: \"\\f307\";\r\n}\r\n.ion-ios7-cloudy-outline:before {\r\n content: \"\\f179\";\r\n}\r\n.ion-ios7-cog:before {\r\n content: \"\\f17c\";\r\n}\r\n.ion-ios7-cog-outline:before {\r\n content: \"\\f17b\";\r\n}\r\n.ion-ios7-compose:before {\r\n content: \"\\f17e\";\r\n}\r\n.ion-ios7-compose-outline:before {\r\n content: \"\\f17d\";\r\n}\r\n.ion-ios7-contact:before {\r\n content: \"\\f180\";\r\n}\r\n.ion-ios7-contact-outline:before {\r\n content: \"\\f17f\";\r\n}\r\n.ion-ios7-copy:before {\r\n content: \"\\f182\";\r\n}\r\n.ion-ios7-copy-outline:before {\r\n content: \"\\f181\";\r\n}\r\n.ion-ios7-download:before {\r\n content: \"\\f184\";\r\n}\r\n.ion-ios7-download-outline:before {\r\n content: \"\\f183\";\r\n}\r\n.ion-ios7-drag:before {\r\n content: \"\\f185\";\r\n}\r\n.ion-ios7-email:before {\r\n content: \"\\f187\";\r\n}\r\n.ion-ios7-email-outline:before {\r\n content: \"\\f186\";\r\n}\r\n.ion-ios7-expand:before {\r\n content: \"\\f30d\";\r\n}\r\n.ion-ios7-eye:before {\r\n content: \"\\f189\";\r\n}\r\n.ion-ios7-eye-outline:before {\r\n content: \"\\f188\";\r\n}\r\n.ion-ios7-fastforward:before {\r\n content: \"\\f18b\";\r\n}\r\n.ion-ios7-fastforward-outline:before {\r\n content: \"\\f18a\";\r\n}\r\n.ion-ios7-filing:before {\r\n content: \"\\f18d\";\r\n}\r\n.ion-ios7-filing-outline:before {\r\n content: \"\\f18c\";\r\n}\r\n.ion-ios7-film:before {\r\n content: \"\\f18f\";\r\n}\r\n.ion-ios7-film-outline:before {\r\n content: \"\\f18e\";\r\n}\r\n.ion-ios7-flag:before {\r\n content: \"\\f191\";\r\n}\r\n.ion-ios7-flag-outline:before {\r\n content: \"\\f190\";\r\n}\r\n.ion-ios7-folder:before {\r\n content: \"\\f193\";\r\n}\r\n.ion-ios7-folder-outline:before {\r\n content: \"\\f192\";\r\n}\r\n.ion-ios7-football:before {\r\n content: \"\\f329\";\r\n}\r\n.ion-ios7-football-outline:before {\r\n content: \"\\f328\";\r\n}\r\n.ion-ios7-gear:before {\r\n content: \"\\f195\";\r\n}\r\n.ion-ios7-gear-outline:before {\r\n content: \"\\f194\";\r\n}\r\n.ion-ios7-glasses:before {\r\n content: \"\\f197\";\r\n}\r\n.ion-ios7-glasses-outline:before {\r\n content: \"\\f196\";\r\n}\r\n.ion-ios7-heart:before {\r\n content: \"\\f199\";\r\n}\r\n.ion-ios7-heart-outline:before {\r\n content: \"\\f198\";\r\n}\r\n.ion-ios7-help:before {\r\n content: \"\\f19c\";\r\n}\r\n.ion-ios7-help-empty:before {\r\n content: \"\\f19a\";\r\n}\r\n.ion-ios7-help-outline:before {\r\n content: \"\\f19b\";\r\n}\r\n.ion-ios7-home:before {\r\n content: \"\\f32b\";\r\n}\r\n.ion-ios7-home-outline:before {\r\n content: \"\\f32a\";\r\n}\r\n.ion-ios7-infinite:before {\r\n content: \"\\f19e\";\r\n}\r\n.ion-ios7-infinite-outline:before {\r\n content: \"\\f19d\";\r\n}\r\n.ion-ios7-information:before {\r\n content: \"\\f1a1\";\r\n}\r\n.ion-ios7-information-empty:before {\r\n content: \"\\f19f\";\r\n}\r\n.ion-ios7-information-outline:before {\r\n content: \"\\f1a0\";\r\n}\r\n.ion-ios7-ionic-outline:before {\r\n content: \"\\f1a2\";\r\n}\r\n.ion-ios7-keypad:before {\r\n content: \"\\f1a4\";\r\n}\r\n.ion-ios7-keypad-outline:before {\r\n content: \"\\f1a3\";\r\n}\r\n.ion-ios7-lightbulb:before {\r\n content: \"\\f287\";\r\n}\r\n.ion-ios7-lightbulb-outline:before {\r\n content: \"\\f286\";\r\n}\r\n.ion-ios7-location:before {\r\n content: \"\\f1a6\";\r\n}\r\n.ion-ios7-location-outline:before {\r\n content: \"\\f1a5\";\r\n}\r\n.ion-ios7-locked:before {\r\n content: \"\\f1a8\";\r\n}\r\n.ion-ios7-locked-outline:before {\r\n content: \"\\f1a7\";\r\n}\r\n.ion-ios7-loop:before {\r\n content: \"\\f32d\";\r\n}\r\n.ion-ios7-loop-strong:before {\r\n content: \"\\f32c\";\r\n}\r\n.ion-ios7-medkit:before {\r\n content: \"\\f289\";\r\n}\r\n.ion-ios7-medkit-outline:before {\r\n content: \"\\f288\";\r\n}\r\n.ion-ios7-mic:before {\r\n content: \"\\f1ab\";\r\n}\r\n.ion-ios7-mic-off:before {\r\n content: \"\\f1a9\";\r\n}\r\n.ion-ios7-mic-outline:before {\r\n content: \"\\f1aa\";\r\n}\r\n.ion-ios7-minus:before {\r\n content: \"\\f1ae\";\r\n}\r\n.ion-ios7-minus-empty:before {\r\n content: \"\\f1ac\";\r\n}\r\n.ion-ios7-minus-outline:before {\r\n content: \"\\f1ad\";\r\n}\r\n.ion-ios7-monitor:before {\r\n content: \"\\f1b0\";\r\n}\r\n.ion-ios7-monitor-outline:before {\r\n content: \"\\f1af\";\r\n}\r\n.ion-ios7-moon:before {\r\n content: \"\\f1b2\";\r\n}\r\n.ion-ios7-moon-outline:before {\r\n content: \"\\f1b1\";\r\n}\r\n.ion-ios7-more:before {\r\n content: \"\\f1b4\";\r\n}\r\n.ion-ios7-more-outline:before {\r\n content: \"\\f1b3\";\r\n}\r\n.ion-ios7-musical-note:before {\r\n content: \"\\f1b5\";\r\n}\r\n.ion-ios7-musical-notes:before {\r\n content: \"\\f1b6\";\r\n}\r\n.ion-ios7-navigate:before {\r\n content: \"\\f1b8\";\r\n}\r\n.ion-ios7-navigate-outline:before {\r\n content: \"\\f1b7\";\r\n}\r\n.ion-ios7-paper:before {\r\n content: \"\\f32f\";\r\n}\r\n.ion-ios7-paper-outline:before {\r\n content: \"\\f32e\";\r\n}\r\n.ion-ios7-paperplane:before {\r\n content: \"\\f1ba\";\r\n}\r\n.ion-ios7-paperplane-outline:before {\r\n content: \"\\f1b9\";\r\n}\r\n.ion-ios7-partlysunny:before {\r\n content: \"\\f1bc\";\r\n}\r\n.ion-ios7-partlysunny-outline:before {\r\n content: \"\\f1bb\";\r\n}\r\n.ion-ios7-pause:before {\r\n content: \"\\f1be\";\r\n}\r\n.ion-ios7-pause-outline:before {\r\n content: \"\\f1bd\";\r\n}\r\n.ion-ios7-paw:before {\r\n content: \"\\f331\";\r\n}\r\n.ion-ios7-paw-outline:before {\r\n content: \"\\f330\";\r\n}\r\n.ion-ios7-people:before {\r\n content: \"\\f1c0\";\r\n}\r\n.ion-ios7-people-outline:before {\r\n content: \"\\f1bf\";\r\n}\r\n.ion-ios7-person:before {\r\n content: \"\\f1c2\";\r\n}\r\n.ion-ios7-person-outline:before {\r\n content: \"\\f1c1\";\r\n}\r\n.ion-ios7-personadd:before {\r\n content: \"\\f1c4\";\r\n}\r\n.ion-ios7-personadd-outline:before {\r\n content: \"\\f1c3\";\r\n}\r\n.ion-ios7-photos:before {\r\n content: \"\\f1c6\";\r\n}\r\n.ion-ios7-photos-outline:before {\r\n content: \"\\f1c5\";\r\n}\r\n.ion-ios7-pie:before {\r\n content: \"\\f28b\";\r\n}\r\n.ion-ios7-pie-outline:before {\r\n content: \"\\f28a\";\r\n}\r\n.ion-ios7-play:before {\r\n content: \"\\f1c8\";\r\n}\r\n.ion-ios7-play-outline:before {\r\n content: \"\\f1c7\";\r\n}\r\n.ion-ios7-plus:before {\r\n content: \"\\f1cb\";\r\n}\r\n.ion-ios7-plus-empty:before {\r\n content: \"\\f1c9\";\r\n}\r\n.ion-ios7-plus-outline:before {\r\n content: \"\\f1ca\";\r\n}\r\n.ion-ios7-pricetag:before {\r\n content: \"\\f28d\";\r\n}\r\n.ion-ios7-pricetag-outline:before {\r\n content: \"\\f28c\";\r\n}\r\n.ion-ios7-pricetags:before {\r\n content: \"\\f333\";\r\n}\r\n.ion-ios7-pricetags-outline:before {\r\n content: \"\\f332\";\r\n}\r\n.ion-ios7-printer:before {\r\n content: \"\\f1cd\";\r\n}\r\n.ion-ios7-printer-outline:before {\r\n content: \"\\f1cc\";\r\n}\r\n.ion-ios7-pulse:before {\r\n content: \"\\f335\";\r\n}\r\n.ion-ios7-pulse-strong:before {\r\n content: \"\\f334\";\r\n}\r\n.ion-ios7-rainy:before {\r\n content: \"\\f1cf\";\r\n}\r\n.ion-ios7-rainy-outline:before {\r\n content: \"\\f1ce\";\r\n}\r\n.ion-ios7-recording:before {\r\n content: \"\\f1d1\";\r\n}\r\n.ion-ios7-recording-outline:before {\r\n content: \"\\f1d0\";\r\n}\r\n.ion-ios7-redo:before {\r\n content: \"\\f1d3\";\r\n}\r\n.ion-ios7-redo-outline:before {\r\n content: \"\\f1d2\";\r\n}\r\n.ion-ios7-refresh:before {\r\n content: \"\\f1d6\";\r\n}\r\n.ion-ios7-refresh-empty:before {\r\n content: \"\\f1d4\";\r\n}\r\n.ion-ios7-refresh-outline:before {\r\n content: \"\\f1d5\";\r\n}\r\n.ion-ios7-reload:before {\r\n content: \"\\f28e\";\r\n}\r\n.ion-ios7-reverse-camera:before {\r\n content: \"\\f337\";\r\n}\r\n.ion-ios7-reverse-camera-outline:before {\r\n content: \"\\f336\";\r\n}\r\n.ion-ios7-rewind:before {\r\n content: \"\\f1d8\";\r\n}\r\n.ion-ios7-rewind-outline:before {\r\n content: \"\\f1d7\";\r\n}\r\n.ion-ios7-search:before {\r\n content: \"\\f1da\";\r\n}\r\n.ion-ios7-search-strong:before {\r\n content: \"\\f1d9\";\r\n}\r\n.ion-ios7-settings:before {\r\n content: \"\\f339\";\r\n}\r\n.ion-ios7-settings-strong:before {\r\n content: \"\\f338\";\r\n}\r\n.ion-ios7-shrink:before {\r\n content: \"\\f30e\";\r\n}\r\n.ion-ios7-skipbackward:before {\r\n content: \"\\f1dc\";\r\n}\r\n.ion-ios7-skipbackward-outline:before {\r\n content: \"\\f1db\";\r\n}\r\n.ion-ios7-skipforward:before {\r\n content: \"\\f1de\";\r\n}\r\n.ion-ios7-skipforward-outline:before {\r\n content: \"\\f1dd\";\r\n}\r\n.ion-ios7-snowy:before {\r\n content: \"\\f309\";\r\n}\r\n.ion-ios7-speedometer:before {\r\n content: \"\\f290\";\r\n}\r\n.ion-ios7-speedometer-outline:before {\r\n content: \"\\f28f\";\r\n}\r\n.ion-ios7-star:before {\r\n content: \"\\f1e0\";\r\n}\r\n.ion-ios7-star-half:before {\r\n content: \"\\f33a\";\r\n}\r\n.ion-ios7-star-outline:before {\r\n content: \"\\f1df\";\r\n}\r\n.ion-ios7-stopwatch:before {\r\n content: \"\\f1e2\";\r\n}\r\n.ion-ios7-stopwatch-outline:before {\r\n content: \"\\f1e1\";\r\n}\r\n.ion-ios7-sunny:before {\r\n content: \"\\f1e4\";\r\n}\r\n.ion-ios7-sunny-outline:before {\r\n content: \"\\f1e3\";\r\n}\r\n.ion-ios7-telephone:before {\r\n content: \"\\f1e6\";\r\n}\r\n.ion-ios7-telephone-outline:before {\r\n content: \"\\f1e5\";\r\n}\r\n.ion-ios7-tennisball:before {\r\n content: \"\\f33c\";\r\n}\r\n.ion-ios7-tennisball-outline:before {\r\n content: \"\\f33b\";\r\n}\r\n.ion-ios7-thunderstorm:before {\r\n content: \"\\f1e8\";\r\n}\r\n.ion-ios7-thunderstorm-outline:before {\r\n content: \"\\f1e7\";\r\n}\r\n.ion-ios7-time:before {\r\n content: \"\\f292\";\r\n}\r\n.ion-ios7-time-outline:before {\r\n content: \"\\f291\";\r\n}\r\n.ion-ios7-timer:before {\r\n content: \"\\f1ea\";\r\n}\r\n.ion-ios7-timer-outline:before {\r\n content: \"\\f1e9\";\r\n}\r\n.ion-ios7-toggle:before {\r\n content: \"\\f33e\";\r\n}\r\n.ion-ios7-toggle-outline:before {\r\n content: \"\\f33d\";\r\n}\r\n.ion-ios7-trash:before {\r\n content: \"\\f1ec\";\r\n}\r\n.ion-ios7-trash-outline:before {\r\n content: \"\\f1eb\";\r\n}\r\n.ion-ios7-undo:before {\r\n content: \"\\f1ee\";\r\n}\r\n.ion-ios7-undo-outline:before {\r\n content: \"\\f1ed\";\r\n}\r\n.ion-ios7-unlocked:before {\r\n content: \"\\f1f0\";\r\n}\r\n.ion-ios7-unlocked-outline:before {\r\n content: \"\\f1ef\";\r\n}\r\n.ion-ios7-upload:before {\r\n content: \"\\f1f2\";\r\n}\r\n.ion-ios7-upload-outline:before {\r\n content: \"\\f1f1\";\r\n}\r\n.ion-ios7-videocam:before {\r\n content: \"\\f1f4\";\r\n}\r\n.ion-ios7-videocam-outline:before {\r\n content: \"\\f1f3\";\r\n}\r\n.ion-ios7-volume-high:before {\r\n content: \"\\f1f5\";\r\n}\r\n.ion-ios7-volume-low:before {\r\n content: \"\\f1f6\";\r\n}\r\n.ion-ios7-wineglass:before {\r\n content: \"\\f294\";\r\n}\r\n.ion-ios7-wineglass-outline:before {\r\n content: \"\\f293\";\r\n}\r\n.ion-ios7-world:before {\r\n content: \"\\f1f8\";\r\n}\r\n.ion-ios7-world-outline:before {\r\n content: \"\\f1f7\";\r\n}\r\n.ion-ipad:before {\r\n content: \"\\f1f9\";\r\n}\r\n.ion-iphone:before {\r\n content: \"\\f1fa\";\r\n}\r\n.ion-ipod:before {\r\n content: \"\\f1fb\";\r\n}\r\n.ion-jet:before {\r\n content: \"\\f295\";\r\n}\r\n.ion-key:before {\r\n content: \"\\f296\";\r\n}\r\n.ion-knife:before {\r\n content: \"\\f297\";\r\n}\r\n.ion-laptop:before {\r\n content: \"\\f1fc\";\r\n}\r\n.ion-leaf:before {\r\n content: \"\\f1fd\";\r\n}\r\n.ion-levels:before {\r\n content: \"\\f298\";\r\n}\r\n.ion-lightbulb:before {\r\n content: \"\\f299\";\r\n}\r\n.ion-link:before {\r\n content: \"\\f1fe\";\r\n}\r\n.ion-load-a:before {\r\n content: \"\\f29a\";\r\n}\r\n.ion-load-b:before {\r\n content: \"\\f29b\";\r\n}\r\n.ion-load-c:before {\r\n content: \"\\f29c\";\r\n}\r\n.ion-load-d:before {\r\n content: \"\\f29d\";\r\n}\r\n.ion-location:before {\r\n content: \"\\f1ff\";\r\n}\r\n.ion-locked:before {\r\n content: \"\\f200\";\r\n}\r\n.ion-log-in:before {\r\n content: \"\\f29e\";\r\n}\r\n.ion-log-out:before {\r\n content: \"\\f29f\";\r\n}\r\n.ion-loop:before {\r\n content: \"\\f201\";\r\n}\r\n.ion-magnet:before {\r\n content: \"\\f2a0\";\r\n}\r\n.ion-male:before {\r\n content: \"\\f2a1\";\r\n}\r\n.ion-man:before {\r\n content: \"\\f202\";\r\n}\r\n.ion-map:before {\r\n content: \"\\f203\";\r\n}\r\n.ion-medkit:before {\r\n content: \"\\f2a2\";\r\n}\r\n.ion-merge:before {\r\n content: \"\\f33f\";\r\n}\r\n.ion-mic-a:before {\r\n content: \"\\f204\";\r\n}\r\n.ion-mic-b:before {\r\n content: \"\\f205\";\r\n}\r\n.ion-mic-c:before {\r\n content: \"\\f206\";\r\n}\r\n.ion-minus:before {\r\n content: \"\\f209\";\r\n}\r\n.ion-minus-circled:before {\r\n content: \"\\f207\";\r\n}\r\n.ion-minus-round:before {\r\n content: \"\\f208\";\r\n}\r\n.ion-model-s:before {\r\n content: \"\\f2c1\";\r\n}\r\n.ion-monitor:before {\r\n content: \"\\f20a\";\r\n}\r\n.ion-more:before {\r\n content: \"\\f20b\";\r\n}\r\n.ion-mouse:before {\r\n content: \"\\f340\";\r\n}\r\n.ion-music-note:before {\r\n content: \"\\f20c\";\r\n}\r\n.ion-navicon:before {\r\n content: \"\\f20e\";\r\n}\r\n.ion-navicon-round:before {\r\n content: \"\\f20d\";\r\n}\r\n.ion-navigate:before {\r\n content: \"\\f2a3\";\r\n}\r\n.ion-network:before {\r\n content: \"\\f341\";\r\n}\r\n.ion-no-smoking:before {\r\n content: \"\\f2c2\";\r\n}\r\n.ion-nuclear:before {\r\n content: \"\\f2a4\";\r\n}\r\n.ion-outlet:before {\r\n content: \"\\f342\";\r\n}\r\n.ion-paper-airplane:before {\r\n content: \"\\f2c3\";\r\n}\r\n.ion-paperclip:before {\r\n content: \"\\f20f\";\r\n}\r\n.ion-pause:before {\r\n content: \"\\f210\";\r\n}\r\n.ion-person:before {\r\n content: \"\\f213\";\r\n}\r\n.ion-person-add:before {\r\n content: \"\\f211\";\r\n}\r\n.ion-person-stalker:before {\r\n content: \"\\f212\";\r\n}\r\n.ion-pie-graph:before {\r\n content: \"\\f2a5\";\r\n}\r\n.ion-pin:before {\r\n content: \"\\f2a6\";\r\n}\r\n.ion-pinpoint:before {\r\n content: \"\\f2a7\";\r\n}\r\n.ion-pizza:before {\r\n content: \"\\f2a8\";\r\n}\r\n.ion-plane:before {\r\n content: \"\\f214\";\r\n}\r\n.ion-planet:before {\r\n content: \"\\f343\";\r\n}\r\n.ion-play:before {\r\n content: \"\\f215\";\r\n}\r\n.ion-playstation:before {\r\n content: \"\\f30a\";\r\n}\r\n.ion-plus:before {\r\n content: \"\\f218\";\r\n}\r\n.ion-plus-circled:before {\r\n content: \"\\f216\";\r\n}\r\n.ion-plus-round:before {\r\n content: \"\\f217\";\r\n}\r\n.ion-podium:before {\r\n content: \"\\f344\";\r\n}\r\n.ion-pound:before {\r\n content: \"\\f219\";\r\n}\r\n.ion-power:before {\r\n content: \"\\f2a9\";\r\n}\r\n.ion-pricetag:before {\r\n content: \"\\f2aa\";\r\n}\r\n.ion-pricetags:before {\r\n content: \"\\f2ab\";\r\n}\r\n.ion-printer:before {\r\n content: \"\\f21a\";\r\n}\r\n.ion-pull-request:before {\r\n content: \"\\f345\";\r\n}\r\n.ion-qr-scanner:before {\r\n content: \"\\f346\";\r\n}\r\n.ion-quote:before {\r\n content: \"\\f347\";\r\n}\r\n.ion-radio-waves:before {\r\n content: \"\\f2ac\";\r\n}\r\n.ion-record:before {\r\n content: \"\\f21b\";\r\n}\r\n.ion-refresh:before {\r\n content: \"\\f21c\";\r\n}\r\n.ion-reply:before {\r\n content: \"\\f21e\";\r\n}\r\n.ion-reply-all:before {\r\n content: \"\\f21d\";\r\n}\r\n.ion-ribbon-a:before {\r\n content: \"\\f348\";\r\n}\r\n.ion-ribbon-b:before {\r\n content: \"\\f349\";\r\n}\r\n.ion-sad:before {\r\n content: \"\\f34a\";\r\n}\r\n.ion-scissors:before {\r\n content: \"\\f34b\";\r\n}\r\n.ion-search:before {\r\n content: \"\\f21f\";\r\n}\r\n.ion-settings:before {\r\n content: \"\\f2ad\";\r\n}\r\n.ion-share:before {\r\n content: \"\\f220\";\r\n}\r\n.ion-shuffle:before {\r\n content: \"\\f221\";\r\n}\r\n.ion-skip-backward:before {\r\n content: \"\\f222\";\r\n}\r\n.ion-skip-forward:before {\r\n content: \"\\f223\";\r\n}\r\n.ion-social-android:before {\r\n content: \"\\f225\";\r\n}\r\n.ion-social-android-outline:before {\r\n content: \"\\f224\";\r\n}\r\n.ion-social-apple:before {\r\n content: \"\\f227\";\r\n}\r\n.ion-social-apple-outline:before {\r\n content: \"\\f226\";\r\n}\r\n.ion-social-bitcoin:before {\r\n content: \"\\f2af\";\r\n}\r\n.ion-social-bitcoin-outline:before {\r\n content: \"\\f2ae\";\r\n}\r\n.ion-social-buffer:before {\r\n content: \"\\f229\";\r\n}\r\n.ion-social-buffer-outline:before {\r\n content: \"\\f228\";\r\n}\r\n.ion-social-designernews:before {\r\n content: \"\\f22b\";\r\n}\r\n.ion-social-designernews-outline:before {\r\n content: \"\\f22a\";\r\n}\r\n.ion-social-dribbble:before {\r\n content: \"\\f22d\";\r\n}\r\n.ion-social-dribbble-outline:before {\r\n content: \"\\f22c\";\r\n}\r\n.ion-social-dropbox:before {\r\n content: \"\\f22f\";\r\n}\r\n.ion-social-dropbox-outline:before {\r\n content: \"\\f22e\";\r\n}\r\n.ion-social-facebook:before {\r\n content: \"\\f231\";\r\n}\r\n.ion-social-facebook-outline:before {\r\n content: \"\\f230\";\r\n}\r\n.ion-social-foursquare:before {\r\n content: \"\\f34d\";\r\n}\r\n.ion-social-foursquare-outline:before {\r\n content: \"\\f34c\";\r\n}\r\n.ion-social-freebsd-devil:before {\r\n content: \"\\f2c4\";\r\n}\r\n.ion-social-github:before {\r\n content: \"\\f233\";\r\n}\r\n.ion-social-github-outline:before {\r\n content: \"\\f232\";\r\n}\r\n.ion-social-google:before {\r\n content: \"\\f34f\";\r\n}\r\n.ion-social-google-outline:before {\r\n content: \"\\f34e\";\r\n}\r\n.ion-social-googleplus:before {\r\n content: \"\\f235\";\r\n}\r\n.ion-social-googleplus-outline:before {\r\n content: \"\\f234\";\r\n}\r\n.ion-social-hackernews:before {\r\n content: \"\\f237\";\r\n}\r\n.ion-social-hackernews-outline:before {\r\n content: \"\\f236\";\r\n}\r\n.ion-social-instagram:before {\r\n content: \"\\f351\";\r\n}\r\n.ion-social-instagram-outline:before {\r\n content: \"\\f350\";\r\n}\r\n.ion-social-linkedin:before {\r\n content: \"\\f239\";\r\n}\r\n.ion-social-linkedin-outline:before {\r\n content: \"\\f238\";\r\n}\r\n.ion-social-pinterest:before {\r\n content: \"\\f2b1\";\r\n}\r\n.ion-social-pinterest-outline:before {\r\n content: \"\\f2b0\";\r\n}\r\n.ion-social-reddit:before {\r\n content: \"\\f23b\";\r\n}\r\n.ion-social-reddit-outline:before {\r\n content: \"\\f23a\";\r\n}\r\n.ion-social-rss:before {\r\n content: \"\\f23d\";\r\n}\r\n.ion-social-rss-outline:before {\r\n content: \"\\f23c\";\r\n}\r\n.ion-social-skype:before {\r\n content: \"\\f23f\";\r\n}\r\n.ion-social-skype-outline:before {\r\n content: \"\\f23e\";\r\n}\r\n.ion-social-tumblr:before {\r\n content: \"\\f241\";\r\n}\r\n.ion-social-tumblr-outline:before {\r\n content: \"\\f240\";\r\n}\r\n.ion-social-tux:before {\r\n content: \"\\f2c5\";\r\n}\r\n.ion-social-twitter:before {\r\n content: \"\\f243\";\r\n}\r\n.ion-social-twitter-outline:before {\r\n content: \"\\f242\";\r\n}\r\n.ion-social-usd:before {\r\n content: \"\\f353\";\r\n}\r\n.ion-social-usd-outline:before {\r\n content: \"\\f352\";\r\n}\r\n.ion-social-vimeo:before {\r\n content: \"\\f245\";\r\n}\r\n.ion-social-vimeo-outline:before {\r\n content: \"\\f244\";\r\n}\r\n.ion-social-windows:before {\r\n content: \"\\f247\";\r\n}\r\n.ion-social-windows-outline:before {\r\n content: \"\\f246\";\r\n}\r\n.ion-social-wordpress:before {\r\n content: \"\\f249\";\r\n}\r\n.ion-social-wordpress-outline:before {\r\n content: \"\\f248\";\r\n}\r\n.ion-social-yahoo:before {\r\n content: \"\\f24b\";\r\n}\r\n.ion-social-yahoo-outline:before {\r\n content: \"\\f24a\";\r\n}\r\n.ion-social-youtube:before {\r\n content: \"\\f24d\";\r\n}\r\n.ion-social-youtube-outline:before {\r\n content: \"\\f24c\";\r\n}\r\n.ion-speakerphone:before {\r\n content: \"\\f2b2\";\r\n}\r\n.ion-speedometer:before {\r\n content: \"\\f2b3\";\r\n}\r\n.ion-spoon:before {\r\n content: \"\\f2b4\";\r\n}\r\n.ion-star:before {\r\n content: \"\\f24e\";\r\n}\r\n.ion-stats-bars:before {\r\n content: \"\\f2b5\";\r\n}\r\n.ion-steam:before {\r\n content: \"\\f30b\";\r\n}\r\n.ion-stop:before {\r\n content: \"\\f24f\";\r\n}\r\n.ion-thermometer:before {\r\n content: \"\\f2b6\";\r\n}\r\n.ion-thumbsdown:before {\r\n content: \"\\f250\";\r\n}\r\n.ion-thumbsup:before {\r\n content: \"\\f251\";\r\n}\r\n.ion-toggle:before {\r\n content: \"\\f355\";\r\n}\r\n.ion-toggle-filled:before {\r\n content: \"\\f354\";\r\n}\r\n.ion-trash-a:before {\r\n content: \"\\f252\";\r\n}\r\n.ion-trash-b:before {\r\n content: \"\\f253\";\r\n}\r\n.ion-trophy:before {\r\n content: \"\\f356\";\r\n}\r\n.ion-umbrella:before {\r\n content: \"\\f2b7\";\r\n}\r\n.ion-university:before {\r\n content: \"\\f357\";\r\n}\r\n.ion-unlocked:before {\r\n content: \"\\f254\";\r\n}\r\n.ion-upload:before {\r\n content: \"\\f255\";\r\n}\r\n.ion-usb:before {\r\n content: \"\\f2b8\";\r\n}\r\n.ion-videocamera:before {\r\n content: \"\\f256\";\r\n}\r\n.ion-volume-high:before {\r\n content: \"\\f257\";\r\n}\r\n.ion-volume-low:before {\r\n content: \"\\f258\";\r\n}\r\n.ion-volume-medium:before {\r\n content: \"\\f259\";\r\n}\r\n.ion-volume-mute:before {\r\n content: \"\\f25a\";\r\n}\r\n.ion-wand:before {\r\n content: \"\\f358\";\r\n}\r\n.ion-waterdrop:before {\r\n content: \"\\f25b\";\r\n}\r\n.ion-wifi:before {\r\n content: \"\\f25c\";\r\n}\r\n.ion-wineglass:before {\r\n content: \"\\f2b9\";\r\n}\r\n.ion-woman:before {\r\n content: \"\\f25d\";\r\n}\r\n.ion-wrench:before {\r\n content: \"\\f2ba\";\r\n}\r\n.ion-xbox:before {\r\n content: \"\\f30c\";\r\n}\r\n@font-face {\r\n font-family: 'themify';\r\n src: url('../fonts/themify.eot?-fvbane');\r\n src: url('../fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'), url('../fonts/themify.woff?-fvbane') format('woff'), url('../fonts/themify.ttf?-fvbane') format('truetype'), url('../fonts/themify.svg?-fvbane#themify') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n[class^=\"ti-\"],\r\n[class*=\" ti-\"] {\r\n font-family: 'themify';\r\n speak: none;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n line-height: 1;\r\n /* Better Font Rendering =========== */\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.ti-wand:before {\r\n content: \"\\e600\";\r\n}\r\n.ti-volume:before {\r\n content: \"\\e601\";\r\n}\r\n.ti-user:before {\r\n content: \"\\e602\";\r\n}\r\n.ti-unlock:before {\r\n content: \"\\e603\";\r\n}\r\n.ti-unlink:before {\r\n content: \"\\e604\";\r\n}\r\n.ti-trash:before {\r\n content: \"\\e605\";\r\n}\r\n.ti-thought:before {\r\n content: \"\\e606\";\r\n}\r\n.ti-target:before {\r\n content: \"\\e607\";\r\n}\r\n.ti-tag:before {\r\n content: \"\\e608\";\r\n}\r\n.ti-tablet:before {\r\n content: \"\\e609\";\r\n}\r\n.ti-star:before {\r\n content: \"\\e60a\";\r\n}\r\n.ti-spray:before {\r\n content: \"\\e60b\";\r\n}\r\n.ti-signal:before {\r\n content: \"\\e60c\";\r\n}\r\n.ti-shopping-cart:before {\r\n content: \"\\e60d\";\r\n}\r\n.ti-shopping-cart-full:before {\r\n content: \"\\e60e\";\r\n}\r\n.ti-settings:before {\r\n content: \"\\e60f\";\r\n}\r\n.ti-search:before {\r\n content: \"\\e610\";\r\n}\r\n.ti-zoom-in:before {\r\n content: \"\\e611\";\r\n}\r\n.ti-zoom-out:before {\r\n content: \"\\e612\";\r\n}\r\n.ti-cut:before {\r\n content: \"\\e613\";\r\n}\r\n.ti-ruler:before {\r\n content: \"\\e614\";\r\n}\r\n.ti-ruler-pencil:before {\r\n content: \"\\e615\";\r\n}\r\n.ti-ruler-alt:before {\r\n content: \"\\e616\";\r\n}\r\n.ti-bookmark:before {\r\n content: \"\\e617\";\r\n}\r\n.ti-bookmark-alt:before {\r\n content: \"\\e618\";\r\n}\r\n.ti-reload:before {\r\n content: \"\\e619\";\r\n}\r\n.ti-plus:before {\r\n content: \"\\e61a\";\r\n}\r\n.ti-pin:before {\r\n content: \"\\e61b\";\r\n}\r\n.ti-pencil:before {\r\n content: \"\\e61c\";\r\n}\r\n.ti-pencil-alt:before {\r\n content: \"\\e61d\";\r\n}\r\n.ti-paint-roller:before {\r\n content: \"\\e61e\";\r\n}\r\n.ti-paint-bucket:before {\r\n content: \"\\e61f\";\r\n}\r\n.ti-na:before {\r\n content: \"\\e620\";\r\n}\r\n.ti-mobile:before {\r\n content: \"\\e621\";\r\n}\r\n.ti-minus:before {\r\n content: \"\\e622\";\r\n}\r\n.ti-medall:before {\r\n content: \"\\e623\";\r\n}\r\n.ti-medall-alt:before {\r\n content: \"\\e624\";\r\n}\r\n.ti-marker:before {\r\n content: \"\\e625\";\r\n}\r\n.ti-marker-alt:before {\r\n content: \"\\e626\";\r\n}\r\n.ti-arrow-up:before {\r\n content: \"\\e627\";\r\n}\r\n.ti-arrow-right:before {\r\n content: \"\\e628\";\r\n}\r\n.ti-arrow-left:before {\r\n content: \"\\e629\";\r\n}\r\n.ti-arrow-down:before {\r\n content: \"\\e62a\";\r\n}\r\n.ti-lock:before {\r\n content: \"\\e62b\";\r\n}\r\n.ti-location-arrow:before {\r\n content: \"\\e62c\";\r\n}\r\n.ti-link:before {\r\n content: \"\\e62d\";\r\n}\r\n.ti-layout:before {\r\n content: \"\\e62e\";\r\n}\r\n.ti-layers:before {\r\n content: \"\\e62f\";\r\n}\r\n.ti-layers-alt:before {\r\n content: \"\\e630\";\r\n}\r\n.ti-key:before {\r\n content: \"\\e631\";\r\n}\r\n.ti-import:before {\r\n content: \"\\e632\";\r\n}\r\n.ti-image:before {\r\n content: \"\\e633\";\r\n}\r\n.ti-heart:before {\r\n content: \"\\e634\";\r\n}\r\n.ti-heart-broken:before {\r\n content: \"\\e635\";\r\n}\r\n.ti-hand-stop:before {\r\n content: \"\\e636\";\r\n}\r\n.ti-hand-open:before {\r\n content: \"\\e637\";\r\n}\r\n.ti-hand-drag:before {\r\n content: \"\\e638\";\r\n}\r\n.ti-folder:before {\r\n content: \"\\e639\";\r\n}\r\n.ti-flag:before {\r\n content: \"\\e63a\";\r\n}\r\n.ti-flag-alt:before {\r\n content: \"\\e63b\";\r\n}\r\n.ti-flag-alt-2:before {\r\n content: \"\\e63c\";\r\n}\r\n.ti-eye:before {\r\n content: \"\\e63d\";\r\n}\r\n.ti-export:before {\r\n content: \"\\e63e\";\r\n}\r\n.ti-exchange-vertical:before {\r\n content: \"\\e63f\";\r\n}\r\n.ti-desktop:before {\r\n content: \"\\e640\";\r\n}\r\n.ti-cup:before {\r\n content: \"\\e641\";\r\n}\r\n.ti-crown:before {\r\n content: \"\\e642\";\r\n}\r\n.ti-comments:before {\r\n content: \"\\e643\";\r\n}\r\n.ti-comment:before {\r\n content: \"\\e644\";\r\n}\r\n.ti-comment-alt:before {\r\n content: \"\\e645\";\r\n}\r\n.ti-close:before {\r\n content: \"\\e646\";\r\n}\r\n.ti-clip:before {\r\n content: \"\\e647\";\r\n}\r\n.ti-angle-up:before {\r\n content: \"\\e648\";\r\n}\r\n.ti-angle-right:before {\r\n content: \"\\e649\";\r\n}\r\n.ti-angle-left:before {\r\n content: \"\\e64a\";\r\n}\r\n.ti-angle-down:before {\r\n content: \"\\e64b\";\r\n}\r\n.ti-check:before {\r\n content: \"\\e64c\";\r\n}\r\n.ti-check-box:before {\r\n content: \"\\e64d\";\r\n}\r\n.ti-camera:before {\r\n content: \"\\e64e\";\r\n}\r\n.ti-announcement:before {\r\n content: \"\\e64f\";\r\n}\r\n.ti-brush:before {\r\n content: \"\\e650\";\r\n}\r\n.ti-briefcase:before {\r\n content: \"\\e651\";\r\n}\r\n.ti-bolt:before {\r\n content: \"\\e652\";\r\n}\r\n.ti-bolt-alt:before {\r\n content: \"\\e653\";\r\n}\r\n.ti-blackboard:before {\r\n content: \"\\e654\";\r\n}\r\n.ti-bag:before {\r\n content: \"\\e655\";\r\n}\r\n.ti-move:before {\r\n content: \"\\e656\";\r\n}\r\n.ti-arrows-vertical:before {\r\n content: \"\\e657\";\r\n}\r\n.ti-arrows-horizontal:before {\r\n content: \"\\e658\";\r\n}\r\n.ti-fullscreen:before {\r\n content: \"\\e659\";\r\n}\r\n.ti-arrow-top-right:before {\r\n content: \"\\e65a\";\r\n}\r\n.ti-arrow-top-left:before {\r\n content: \"\\e65b\";\r\n}\r\n.ti-arrow-circle-up:before {\r\n content: \"\\e65c\";\r\n}\r\n.ti-arrow-circle-right:before {\r\n content: \"\\e65d\";\r\n}\r\n.ti-arrow-circle-left:before {\r\n content: \"\\e65e\";\r\n}\r\n.ti-arrow-circle-down:before {\r\n content: \"\\e65f\";\r\n}\r\n.ti-angle-double-up:before {\r\n content: \"\\e660\";\r\n}\r\n.ti-angle-double-right:before {\r\n content: \"\\e661\";\r\n}\r\n.ti-angle-double-left:before {\r\n content: \"\\e662\";\r\n}\r\n.ti-angle-double-down:before {\r\n content: \"\\e663\";\r\n}\r\n.ti-zip:before {\r\n content: \"\\e664\";\r\n}\r\n.ti-world:before {\r\n content: \"\\e665\";\r\n}\r\n.ti-wheelchair:before {\r\n content: \"\\e666\";\r\n}\r\n.ti-view-list:before {\r\n content: \"\\e667\";\r\n}\r\n.ti-view-list-alt:before {\r\n content: \"\\e668\";\r\n}\r\n.ti-view-grid:before {\r\n content: \"\\e669\";\r\n}\r\n.ti-uppercase:before {\r\n content: \"\\e66a\";\r\n}\r\n.ti-upload:before {\r\n content: \"\\e66b\";\r\n}\r\n.ti-underline:before {\r\n content: \"\\e66c\";\r\n}\r\n.ti-truck:before {\r\n content: \"\\e66d\";\r\n}\r\n.ti-timer:before {\r\n content: \"\\e66e\";\r\n}\r\n.ti-ticket:before {\r\n content: \"\\e66f\";\r\n}\r\n.ti-thumb-up:before {\r\n content: \"\\e670\";\r\n}\r\n.ti-thumb-down:before {\r\n content: \"\\e671\";\r\n}\r\n.ti-text:before {\r\n content: \"\\e672\";\r\n}\r\n.ti-stats-up:before {\r\n content: \"\\e673\";\r\n}\r\n.ti-stats-down:before {\r\n content: \"\\e674\";\r\n}\r\n.ti-split-v:before {\r\n content: \"\\e675\";\r\n}\r\n.ti-split-h:before {\r\n content: \"\\e676\";\r\n}\r\n.ti-smallcap:before {\r\n content: \"\\e677\";\r\n}\r\n.ti-shine:before {\r\n content: \"\\e678\";\r\n}\r\n.ti-shift-right:before {\r\n content: \"\\e679\";\r\n}\r\n.ti-shift-left:before {\r\n content: \"\\e67a\";\r\n}\r\n.ti-shield:before {\r\n content: \"\\e67b\";\r\n}\r\n.ti-notepad:before {\r\n content: \"\\e67c\";\r\n}\r\n.ti-server:before {\r\n content: \"\\e67d\";\r\n}\r\n.ti-quote-right:before {\r\n content: \"\\e67e\";\r\n}\r\n.ti-quote-left:before {\r\n content: \"\\e67f\";\r\n}\r\n.ti-pulse:before {\r\n content: \"\\e680\";\r\n}\r\n.ti-printer:before {\r\n content: \"\\e681\";\r\n}\r\n.ti-power-off:before {\r\n content: \"\\e682\";\r\n}\r\n.ti-plug:before {\r\n content: \"\\e683\";\r\n}\r\n.ti-pie-chart:before {\r\n content: \"\\e684\";\r\n}\r\n.ti-paragraph:before {\r\n content: \"\\e685\";\r\n}\r\n.ti-panel:before {\r\n content: \"\\e686\";\r\n}\r\n.ti-package:before {\r\n content: \"\\e687\";\r\n}\r\n.ti-music:before {\r\n content: \"\\e688\";\r\n}\r\n.ti-music-alt:before {\r\n content: \"\\e689\";\r\n}\r\n.ti-mouse:before {\r\n content: \"\\e68a\";\r\n}\r\n.ti-mouse-alt:before {\r\n content: \"\\e68b\";\r\n}\r\n.ti-money:before {\r\n content: \"\\e68c\";\r\n}\r\n.ti-microphone:before {\r\n content: \"\\e68d\";\r\n}\r\n.ti-menu:before {\r\n content: \"\\e68e\";\r\n}\r\n.ti-menu-alt:before {\r\n content: \"\\e68f\";\r\n}\r\n.ti-map:before {\r\n content: \"\\e690\";\r\n}\r\n.ti-map-alt:before {\r\n content: \"\\e691\";\r\n}\r\n.ti-loop:before {\r\n content: \"\\e692\";\r\n}\r\n.ti-location-pin:before {\r\n content: \"\\e693\";\r\n}\r\n.ti-list:before {\r\n content: \"\\e694\";\r\n}\r\n.ti-light-bulb:before {\r\n content: \"\\e695\";\r\n}\r\n.ti-Italic:before {\r\n content: \"\\e696\";\r\n}\r\n.ti-info:before {\r\n content: \"\\e697\";\r\n}\r\n.ti-infinite:before {\r\n content: \"\\e698\";\r\n}\r\n.ti-id-badge:before {\r\n content: \"\\e699\";\r\n}\r\n.ti-hummer:before {\r\n content: \"\\e69a\";\r\n}\r\n.ti-home:before {\r\n content: \"\\e69b\";\r\n}\r\n.ti-help:before {\r\n content: \"\\e69c\";\r\n}\r\n.ti-headphone:before {\r\n content: \"\\e69d\";\r\n}\r\n.ti-harddrives:before {\r\n content: \"\\e69e\";\r\n}\r\n.ti-harddrive:before {\r\n content: \"\\e69f\";\r\n}\r\n.ti-gift:before {\r\n content: \"\\e6a0\";\r\n}\r\n.ti-game:before {\r\n content: \"\\e6a1\";\r\n}\r\n.ti-filter:before {\r\n content: \"\\e6a2\";\r\n}\r\n.ti-files:before {\r\n content: \"\\e6a3\";\r\n}\r\n.ti-file:before {\r\n content: \"\\e6a4\";\r\n}\r\n.ti-eraser:before {\r\n content: \"\\e6a5\";\r\n}\r\n.ti-envelope:before {\r\n content: \"\\e6a6\";\r\n}\r\n.ti-download:before {\r\n content: \"\\e6a7\";\r\n}\r\n.ti-direction:before {\r\n content: \"\\e6a8\";\r\n}\r\n.ti-direction-alt:before {\r\n content: \"\\e6a9\";\r\n}\r\n.ti-dashboard:before {\r\n content: \"\\e6aa\";\r\n}\r\n.ti-control-stop:before {\r\n content: \"\\e6ab\";\r\n}\r\n.ti-control-shuffle:before {\r\n content: \"\\e6ac\";\r\n}\r\n.ti-control-play:before {\r\n content: \"\\e6ad\";\r\n}\r\n.ti-control-pause:before {\r\n content: \"\\e6ae\";\r\n}\r\n.ti-control-forward:before {\r\n content: \"\\e6af\";\r\n}\r\n.ti-control-backward:before {\r\n content: \"\\e6b0\";\r\n}\r\n.ti-cloud:before {\r\n content: \"\\e6b1\";\r\n}\r\n.ti-cloud-up:before {\r\n content: \"\\e6b2\";\r\n}\r\n.ti-cloud-down:before {\r\n content: \"\\e6b3\";\r\n}\r\n.ti-clipboard:before {\r\n content: \"\\e6b4\";\r\n}\r\n.ti-car:before {\r\n content: \"\\e6b5\";\r\n}\r\n.ti-calendar:before {\r\n content: \"\\e6b6\";\r\n}\r\n.ti-book:before {\r\n content: \"\\e6b7\";\r\n}\r\n.ti-bell:before {\r\n content: \"\\e6b8\";\r\n}\r\n.ti-basketball:before {\r\n content: \"\\e6b9\";\r\n}\r\n.ti-bar-chart:before {\r\n content: \"\\e6ba\";\r\n}\r\n.ti-bar-chart-alt:before {\r\n content: \"\\e6bb\";\r\n}\r\n.ti-back-right:before {\r\n content: \"\\e6bc\";\r\n}\r\n.ti-back-left:before {\r\n content: \"\\e6bd\";\r\n}\r\n.ti-arrows-corner:before {\r\n content: \"\\e6be\";\r\n}\r\n.ti-archive:before {\r\n content: \"\\e6bf\";\r\n}\r\n.ti-anchor:before {\r\n content: \"\\e6c0\";\r\n}\r\n.ti-align-right:before {\r\n content: \"\\e6c1\";\r\n}\r\n.ti-align-left:before {\r\n content: \"\\e6c2\";\r\n}\r\n.ti-align-justify:before {\r\n content: \"\\e6c3\";\r\n}\r\n.ti-align-center:before {\r\n content: \"\\e6c4\";\r\n}\r\n.ti-alert:before {\r\n content: \"\\e6c5\";\r\n}\r\n.ti-alarm-clock:before {\r\n content: \"\\e6c6\";\r\n}\r\n.ti-agenda:before {\r\n content: \"\\e6c7\";\r\n}\r\n.ti-write:before {\r\n content: \"\\e6c8\";\r\n}\r\n.ti-window:before {\r\n content: \"\\e6c9\";\r\n}\r\n.ti-widgetized:before {\r\n content: \"\\e6ca\";\r\n}\r\n.ti-widget:before {\r\n content: \"\\e6cb\";\r\n}\r\n.ti-widget-alt:before {\r\n content: \"\\e6cc\";\r\n}\r\n.ti-wallet:before {\r\n content: \"\\e6cd\";\r\n}\r\n.ti-video-clapper:before {\r\n content: \"\\e6ce\";\r\n}\r\n.ti-video-camera:before {\r\n content: \"\\e6cf\";\r\n}\r\n.ti-vector:before {\r\n content: \"\\e6d0\";\r\n}\r\n.ti-themify-logo:before {\r\n content: \"\\e6d1\";\r\n}\r\n.ti-themify-favicon:before {\r\n content: \"\\e6d2\";\r\n}\r\n.ti-themify-favicon-alt:before {\r\n content: \"\\e6d3\";\r\n}\r\n.ti-support:before {\r\n content: \"\\e6d4\";\r\n}\r\n.ti-stamp:before {\r\n content: \"\\e6d5\";\r\n}\r\n.ti-split-v-alt:before {\r\n content: \"\\e6d6\";\r\n}\r\n.ti-slice:before {\r\n content: \"\\e6d7\";\r\n}\r\n.ti-shortcode:before {\r\n content: \"\\e6d8\";\r\n}\r\n.ti-shift-right-alt:before {\r\n content: \"\\e6d9\";\r\n}\r\n.ti-shift-left-alt:before {\r\n content: \"\\e6da\";\r\n}\r\n.ti-ruler-alt-2:before {\r\n content: \"\\e6db\";\r\n}\r\n.ti-receipt:before {\r\n content: \"\\e6dc\";\r\n}\r\n.ti-pin2:before {\r\n content: \"\\e6dd\";\r\n}\r\n.ti-pin-alt:before {\r\n content: \"\\e6de\";\r\n}\r\n.ti-pencil-alt2:before {\r\n content: \"\\e6df\";\r\n}\r\n.ti-palette:before {\r\n content: \"\\e6e0\";\r\n}\r\n.ti-more:before {\r\n content: \"\\e6e1\";\r\n}\r\n.ti-more-alt:before {\r\n content: \"\\e6e2\";\r\n}\r\n.ti-microphone-alt:before {\r\n content: \"\\e6e3\";\r\n}\r\n.ti-magnet:before {\r\n content: \"\\e6e4\";\r\n}\r\n.ti-line-double:before {\r\n content: \"\\e6e5\";\r\n}\r\n.ti-line-dotted:before {\r\n content: \"\\e6e6\";\r\n}\r\n.ti-line-dashed:before {\r\n content: \"\\e6e7\";\r\n}\r\n.ti-layout-width-full:before {\r\n content: \"\\e6e8\";\r\n}\r\n.ti-layout-width-default:before {\r\n content: \"\\e6e9\";\r\n}\r\n.ti-layout-width-default-alt:before {\r\n content: \"\\e6ea\";\r\n}\r\n.ti-layout-tab:before {\r\n content: \"\\e6eb\";\r\n}\r\n.ti-layout-tab-window:before {\r\n content: \"\\e6ec\";\r\n}\r\n.ti-layout-tab-v:before {\r\n content: \"\\e6ed\";\r\n}\r\n.ti-layout-tab-min:before {\r\n content: \"\\e6ee\";\r\n}\r\n.ti-layout-slider:before {\r\n content: \"\\e6ef\";\r\n}\r\n.ti-layout-slider-alt:before {\r\n content: \"\\e6f0\";\r\n}\r\n.ti-layout-sidebar-right:before {\r\n content: \"\\e6f1\";\r\n}\r\n.ti-layout-sidebar-none:before {\r\n content: \"\\e6f2\";\r\n}\r\n.ti-layout-sidebar-left:before {\r\n content: \"\\e6f3\";\r\n}\r\n.ti-layout-placeholder:before {\r\n content: \"\\e6f4\";\r\n}\r\n.ti-layout-menu:before {\r\n content: \"\\e6f5\";\r\n}\r\n.ti-layout-menu-v:before {\r\n content: \"\\e6f6\";\r\n}\r\n.ti-layout-menu-separated:before {\r\n content: \"\\e6f7\";\r\n}\r\n.ti-layout-menu-full:before {\r\n content: \"\\e6f8\";\r\n}\r\n.ti-layout-media-right-alt:before {\r\n content: \"\\e6f9\";\r\n}\r\n.ti-layout-media-right:before {\r\n content: \"\\e6fa\";\r\n}\r\n.ti-layout-media-overlay:before {\r\n content: \"\\e6fb\";\r\n}\r\n.ti-layout-media-overlay-alt:before {\r\n content: \"\\e6fc\";\r\n}\r\n.ti-layout-media-overlay-alt-2:before {\r\n content: \"\\e6fd\";\r\n}\r\n.ti-layout-media-left-alt:before {\r\n content: \"\\e6fe\";\r\n}\r\n.ti-layout-media-left:before {\r\n content: \"\\e6ff\";\r\n}\r\n.ti-layout-media-center-alt:before {\r\n content: \"\\e700\";\r\n}\r\n.ti-layout-media-center:before {\r\n content: \"\\e701\";\r\n}\r\n.ti-layout-list-thumb:before {\r\n content: \"\\e702\";\r\n}\r\n.ti-layout-list-thumb-alt:before {\r\n content: \"\\e703\";\r\n}\r\n.ti-layout-list-post:before {\r\n content: \"\\e704\";\r\n}\r\n.ti-layout-list-large-image:before {\r\n content: \"\\e705\";\r\n}\r\n.ti-layout-line-solid:before {\r\n content: \"\\e706\";\r\n}\r\n.ti-layout-grid4:before {\r\n content: \"\\e707\";\r\n}\r\n.ti-layout-grid3:before {\r\n content: \"\\e708\";\r\n}\r\n.ti-layout-grid2:before {\r\n content: \"\\e709\";\r\n}\r\n.ti-layout-grid2-thumb:before {\r\n content: \"\\e70a\";\r\n}\r\n.ti-layout-cta-right:before {\r\n content: \"\\e70b\";\r\n}\r\n.ti-layout-cta-left:before {\r\n content: \"\\e70c\";\r\n}\r\n.ti-layout-cta-center:before {\r\n content: \"\\e70d\";\r\n}\r\n.ti-layout-cta-btn-right:before {\r\n content: \"\\e70e\";\r\n}\r\n.ti-layout-cta-btn-left:before {\r\n content: \"\\e70f\";\r\n}\r\n.ti-layout-column4:before {\r\n content: \"\\e710\";\r\n}\r\n.ti-layout-column3:before {\r\n content: \"\\e711\";\r\n}\r\n.ti-layout-column2:before {\r\n content: \"\\e712\";\r\n}\r\n.ti-layout-accordion-separated:before {\r\n content: \"\\e713\";\r\n}\r\n.ti-layout-accordion-merged:before {\r\n content: \"\\e714\";\r\n}\r\n.ti-layout-accordion-list:before {\r\n content: \"\\e715\";\r\n}\r\n.ti-ink-pen:before {\r\n content: \"\\e716\";\r\n}\r\n.ti-info-alt:before {\r\n content: \"\\e717\";\r\n}\r\n.ti-help-alt:before {\r\n content: \"\\e718\";\r\n}\r\n.ti-headphone-alt:before {\r\n content: \"\\e719\";\r\n}\r\n.ti-hand-point-up:before {\r\n content: \"\\e71a\";\r\n}\r\n.ti-hand-point-right:before {\r\n content: \"\\e71b\";\r\n}\r\n.ti-hand-point-left:before {\r\n content: \"\\e71c\";\r\n}\r\n.ti-hand-point-down:before {\r\n content: \"\\e71d\";\r\n}\r\n.ti-gallery:before {\r\n content: \"\\e71e\";\r\n}\r\n.ti-face-smile:before {\r\n content: \"\\e71f\";\r\n}\r\n.ti-face-sad:before {\r\n content: \"\\e720\";\r\n}\r\n.ti-credit-card:before {\r\n content: \"\\e721\";\r\n}\r\n.ti-control-skip-forward:before {\r\n content: \"\\e722\";\r\n}\r\n.ti-control-skip-backward:before {\r\n content: \"\\e723\";\r\n}\r\n.ti-control-record:before {\r\n content: \"\\e724\";\r\n}\r\n.ti-control-eject:before {\r\n content: \"\\e725\";\r\n}\r\n.ti-comments-smiley:before {\r\n content: \"\\e726\";\r\n}\r\n.ti-brush-alt:before {\r\n content: \"\\e727\";\r\n}\r\n.ti-youtube:before {\r\n content: \"\\e728\";\r\n}\r\n.ti-vimeo:before {\r\n content: \"\\e729\";\r\n}\r\n.ti-twitter:before {\r\n content: \"\\e72a\";\r\n}\r\n.ti-time:before {\r\n content: \"\\e72b\";\r\n}\r\n.ti-tumblr:before {\r\n content: \"\\e72c\";\r\n}\r\n.ti-skype:before {\r\n content: \"\\e72d\";\r\n}\r\n.ti-share:before {\r\n content: \"\\e72e\";\r\n}\r\n.ti-share-alt:before {\r\n content: \"\\e72f\";\r\n}\r\n.ti-rocket:before {\r\n content: \"\\e730\";\r\n}\r\n.ti-pinterest:before {\r\n content: \"\\e731\";\r\n}\r\n.ti-new-window:before {\r\n content: \"\\e732\";\r\n}\r\n.ti-microsoft:before {\r\n content: \"\\e733\";\r\n}\r\n.ti-list-ol:before {\r\n content: \"\\e734\";\r\n}\r\n.ti-linkedin:before {\r\n content: \"\\e735\";\r\n}\r\n.ti-layout-sidebar-2:before {\r\n content: \"\\e736\";\r\n}\r\n.ti-layout-grid4-alt:before {\r\n content: \"\\e737\";\r\n}\r\n.ti-layout-grid3-alt:before {\r\n content: \"\\e738\";\r\n}\r\n.ti-layout-grid2-alt:before {\r\n content: \"\\e739\";\r\n}\r\n.ti-layout-column4-alt:before {\r\n content: \"\\e73a\";\r\n}\r\n.ti-layout-column3-alt:before {\r\n content: \"\\e73b\";\r\n}\r\n.ti-layout-column2-alt:before {\r\n content: \"\\e73c\";\r\n}\r\n.ti-instagram:before {\r\n content: \"\\e73d\";\r\n}\r\n.ti-google:before {\r\n content: \"\\e73e\";\r\n}\r\n.ti-github:before {\r\n content: \"\\e73f\";\r\n}\r\n.ti-flickr:before {\r\n content: \"\\e740\";\r\n}\r\n.ti-facebook:before {\r\n content: \"\\e741\";\r\n}\r\n.ti-dropbox:before {\r\n content: \"\\e742\";\r\n}\r\n.ti-dribbble:before {\r\n content: \"\\e743\";\r\n}\r\n.ti-apple:before {\r\n content: \"\\e744\";\r\n}\r\n.ti-android:before {\r\n content: \"\\e745\";\r\n}\r\n.ti-save:before {\r\n content: \"\\e746\";\r\n}\r\n.ti-save-alt:before {\r\n content: \"\\e747\";\r\n}\r\n.ti-yahoo:before {\r\n content: \"\\e748\";\r\n}\r\n.ti-wordpress:before {\r\n content: \"\\e749\";\r\n}\r\n.ti-vimeo-alt:before {\r\n content: \"\\e74a\";\r\n}\r\n.ti-twitter-alt:before {\r\n content: \"\\e74b\";\r\n}\r\n.ti-tumblr-alt:before {\r\n content: \"\\e74c\";\r\n}\r\n.ti-trello:before {\r\n content: \"\\e74d\";\r\n}\r\n.ti-stack-overflow:before {\r\n content: \"\\e74e\";\r\n}\r\n.ti-soundcloud:before {\r\n content: \"\\e74f\";\r\n}\r\n.ti-sharethis:before {\r\n content: \"\\e750\";\r\n}\r\n.ti-sharethis-alt:before {\r\n content: \"\\e751\";\r\n}\r\n.ti-reddit:before {\r\n content: \"\\e752\";\r\n}\r\n.ti-pinterest-alt:before {\r\n content: \"\\e753\";\r\n}\r\n.ti-microsoft-alt:before {\r\n content: \"\\e754\";\r\n}\r\n.ti-linux:before {\r\n content: \"\\e755\";\r\n}\r\n.ti-jsfiddle:before {\r\n content: \"\\e756\";\r\n}\r\n.ti-joomla:before {\r\n content: \"\\e757\";\r\n}\r\n.ti-html5:before {\r\n content: \"\\e758\";\r\n}\r\n.ti-flickr-alt:before {\r\n content: \"\\e759\";\r\n}\r\n.ti-email:before {\r\n content: \"\\e75a\";\r\n}\r\n.ti-drupal:before {\r\n content: \"\\e75b\";\r\n}\r\n.ti-dropbox-alt:before {\r\n content: \"\\e75c\";\r\n}\r\n.ti-css3:before {\r\n content: \"\\e75d\";\r\n}\r\n.ti-rss:before {\r\n content: \"\\e75e\";\r\n}\r\n.ti-rss-alt:before {\r\n content: \"\\e75f\";\r\n}\r\n/*!\r\n * Weather Icons 2.0\r\n * Updated August 1, 2015\r\n * Weather themed icons for Bootstrap\r\n * Author - Erik Flowers - erik@helloerik.com\r\n * Email: erik@helloerik.com\r\n * Twitter: http://twitter.com/Erik_UX\r\n * ------------------------------------------------------------------------------\r\n * Maintained at http://erikflowers.github.io/weather-icons\r\n *\r\n * License\r\n * ------------------------------------------------------------------------------\r\n * - Font licensed under SIL OFL 1.1 -\r\n * http://scripts.sil.org/OFL\r\n * - CSS, SCSS and LESS are licensed under MIT License -\r\n * http://opensource.org/licenses/mit-license.html\r\n * - Documentation licensed under CC BY 3.0 -\r\n * http://creativecommons.org/licenses/by/3.0/\r\n * - Inspired by and works great as a companion with Font Awesome\r\n * \"Font Awesome by Dave Gandy - http://fontawesome.io\"\r\n */\r\n@font-face {\r\n font-family: 'weathericons';\r\n src: url('../fonts/weathericons-regular-webfont.eot');\r\n src: url('../fonts/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/weathericons-regular-webfont.woff2') format('woff2'), url('../fonts/weathericons-regular-webfont.woff') format('woff'), url('../fonts/weathericons-regular-webfont.ttf') format('truetype'), url('../fonts/weathericons-regular-webfont.svg#weather_iconsregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.wi {\r\n display: inline-block;\r\n font-family: 'weathericons';\r\n font-style: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.wi-fw {\r\n text-align: center;\r\n width: 1.4em;\r\n}\r\n.wi-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n -webkit-transform: rotate(90deg);\r\n -ms-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n.wi-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n -webkit-transform: rotate(180deg);\r\n -ms-transform: rotate(180deg);\r\n transform: rotate(180deg);\r\n}\r\n.wi-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n -webkit-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n}\r\n.wi-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n -webkit-transform: scale(-1, 1);\r\n -ms-transform: scale(-1, 1);\r\n transform: scale(-1, 1);\r\n}\r\n.wi-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n -webkit-transform: scale(1, -1);\r\n -ms-transform: scale(1, -1);\r\n transform: scale(1, -1);\r\n}\r\n.wi-day-sunny:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-day-cloudy:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-day-cloudy-gusts:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-day-cloudy-windy:before {\r\n content: \"\\f001\";\r\n}\r\n.wi-day-fog:before {\r\n content: \"\\f003\";\r\n}\r\n.wi-day-hail:before {\r\n content: \"\\f004\";\r\n}\r\n.wi-day-haze:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-day-lightning:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-day-rain:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-day-rain-mix:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-day-rain-wind:before {\r\n content: \"\\f007\";\r\n}\r\n.wi-day-showers:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-day-sleet:before {\r\n content: \"\\f0b2\";\r\n}\r\n.wi-day-sleet-storm:before {\r\n content: \"\\f068\";\r\n}\r\n.wi-day-snow:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-day-snow-thunderstorm:before {\r\n content: \"\\f06b\";\r\n}\r\n.wi-day-snow-wind:before {\r\n content: \"\\f065\";\r\n}\r\n.wi-day-sprinkle:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-day-storm-showers:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-day-sunny-overcast:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-day-thunderstorm:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-day-windy:before {\r\n content: \"\\f085\";\r\n}\r\n.wi-solar-eclipse:before {\r\n content: \"\\f06e\";\r\n}\r\n.wi-hot:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-day-cloudy-high:before {\r\n content: \"\\f07d\";\r\n}\r\n.wi-day-light-wind:before {\r\n content: \"\\f0c4\";\r\n}\r\n.wi-night-clear:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-night-alt-cloudy:before {\r\n content: \"\\f086\";\r\n}\r\n.wi-night-alt-cloudy-gusts:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-night-alt-cloudy-windy:before {\r\n content: \"\\f023\";\r\n}\r\n.wi-night-alt-hail:before {\r\n content: \"\\f024\";\r\n}\r\n.wi-night-alt-lightning:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-night-alt-rain:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-night-alt-rain-mix:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-night-alt-rain-wind:before {\r\n content: \"\\f027\";\r\n}\r\n.wi-night-alt-showers:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-night-alt-sleet:before {\r\n content: \"\\f0b4\";\r\n}\r\n.wi-night-alt-sleet-storm:before {\r\n content: \"\\f06a\";\r\n}\r\n.wi-night-alt-snow:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-night-alt-snow-thunderstorm:before {\r\n content: \"\\f06d\";\r\n}\r\n.wi-night-alt-snow-wind:before {\r\n content: \"\\f067\";\r\n}\r\n.wi-night-alt-sprinkle:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-night-alt-storm-showers:before {\r\n content: \"\\f02c\";\r\n}\r\n.wi-night-alt-thunderstorm:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-night-cloudy:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-night-cloudy-gusts:before {\r\n content: \"\\f02f\";\r\n}\r\n.wi-night-cloudy-windy:before {\r\n content: \"\\f030\";\r\n}\r\n.wi-night-fog:before {\r\n content: \"\\f04a\";\r\n}\r\n.wi-night-hail:before {\r\n content: \"\\f032\";\r\n}\r\n.wi-night-lightning:before {\r\n content: \"\\f033\";\r\n}\r\n.wi-night-partly-cloudy:before {\r\n content: \"\\f083\";\r\n}\r\n.wi-night-rain:before {\r\n content: \"\\f036\";\r\n}\r\n.wi-night-rain-mix:before {\r\n content: \"\\f034\";\r\n}\r\n.wi-night-rain-wind:before {\r\n content: \"\\f035\";\r\n}\r\n.wi-night-showers:before {\r\n content: \"\\f037\";\r\n}\r\n.wi-night-sleet:before {\r\n content: \"\\f0b3\";\r\n}\r\n.wi-night-sleet-storm:before {\r\n content: \"\\f069\";\r\n}\r\n.wi-night-snow:before {\r\n content: \"\\f038\";\r\n}\r\n.wi-night-snow-thunderstorm:before {\r\n content: \"\\f06c\";\r\n}\r\n.wi-night-snow-wind:before {\r\n content: \"\\f066\";\r\n}\r\n.wi-night-sprinkle:before {\r\n content: \"\\f039\";\r\n}\r\n.wi-night-storm-showers:before {\r\n content: \"\\f03a\";\r\n}\r\n.wi-night-thunderstorm:before {\r\n content: \"\\f03b\";\r\n}\r\n.wi-lunar-eclipse:before {\r\n content: \"\\f070\";\r\n}\r\n.wi-stars:before {\r\n content: \"\\f077\";\r\n}\r\n.wi-storm-showers:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-night-alt-cloudy-high:before {\r\n content: \"\\f07e\";\r\n}\r\n.wi-night-cloudy-high:before {\r\n content: \"\\f080\";\r\n}\r\n.wi-night-alt-partly-cloudy:before {\r\n content: \"\\f081\";\r\n}\r\n.wi-cloud:before {\r\n content: \"\\f041\";\r\n}\r\n.wi-cloudy:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-cloudy-gusts:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-cloudy-windy:before {\r\n content: \"\\f012\";\r\n}\r\n.wi-fog:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-hail:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-rain:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-rain-mix:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-rain-wind:before {\r\n content: \"\\f018\";\r\n}\r\n.wi-showers:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-sleet:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-sprinkle:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-storm-showers:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-snow-wind:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-smog:before {\r\n content: \"\\f074\";\r\n}\r\n.wi-smoke:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-lightning:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-raindrops:before {\r\n content: \"\\f04e\";\r\n}\r\n.wi-raindrop:before {\r\n content: \"\\f078\";\r\n}\r\n.wi-dust:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-snowflake-cold:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-windy:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-strong-wind:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-sandstorm:before {\r\n content: \"\\f082\";\r\n}\r\n.wi-earthquake:before {\r\n content: \"\\f0c6\";\r\n}\r\n.wi-fire:before {\r\n content: \"\\f0c7\";\r\n}\r\n.wi-flood:before {\r\n content: \"\\f07c\";\r\n}\r\n.wi-meteor:before {\r\n content: \"\\f071\";\r\n}\r\n.wi-tsunami:before {\r\n content: \"\\f0c5\";\r\n}\r\n.wi-volcano:before {\r\n content: \"\\f0c8\";\r\n}\r\n.wi-hurricane:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-tornado:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-small-craft-advisory:before {\r\n content: \"\\f0cc\";\r\n}\r\n.wi-gale-warning:before {\r\n content: \"\\f0cd\";\r\n}\r\n.wi-storm-warning:before {\r\n content: \"\\f0ce\";\r\n}\r\n.wi-hurricane-warning:before {\r\n content: \"\\f0cf\";\r\n}\r\n.wi-wind-direction:before {\r\n content: \"\\f0b1\";\r\n}\r\n.wi-alien:before {\r\n content: \"\\f075\";\r\n}\r\n.wi-celsius:before {\r\n content: \"\\f03c\";\r\n}\r\n.wi-fahrenheit:before {\r\n content: \"\\f045\";\r\n}\r\n.wi-degrees:before {\r\n content: \"\\f042\";\r\n}\r\n.wi-thermometer:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-thermometer-exterior:before {\r\n content: \"\\f053\";\r\n}\r\n.wi-thermometer-internal:before {\r\n content: \"\\f054\";\r\n}\r\n.wi-cloud-down:before {\r\n content: \"\\f03d\";\r\n}\r\n.wi-cloud-up:before {\r\n content: \"\\f040\";\r\n}\r\n.wi-cloud-refresh:before {\r\n content: \"\\f03e\";\r\n}\r\n.wi-horizon:before {\r\n content: \"\\f047\";\r\n}\r\n.wi-horizon-alt:before {\r\n content: \"\\f046\";\r\n}\r\n.wi-sunrise:before {\r\n content: \"\\f051\";\r\n}\r\n.wi-sunset:before {\r\n content: \"\\f052\";\r\n}\r\n.wi-moonrise:before {\r\n content: \"\\f0c9\";\r\n}\r\n.wi-moonset:before {\r\n content: \"\\f0ca\";\r\n}\r\n.wi-refresh:before {\r\n content: \"\\f04c\";\r\n}\r\n.wi-refresh-alt:before {\r\n content: \"\\f04b\";\r\n}\r\n.wi-umbrella:before {\r\n content: \"\\f084\";\r\n}\r\n.wi-barometer:before {\r\n content: \"\\f079\";\r\n}\r\n.wi-humidity:before {\r\n content: \"\\f07a\";\r\n}\r\n.wi-na:before {\r\n content: \"\\f07b\";\r\n}\r\n.wi-train:before {\r\n content: \"\\f0cb\";\r\n}\r\n.wi-moon-new:before {\r\n content: \"\\f095\";\r\n}\r\n.wi-moon-waxing-cresent-1:before {\r\n content: \"\\f096\";\r\n}\r\n.wi-moon-waxing-cresent-2:before {\r\n content: \"\\f097\";\r\n}\r\n.wi-moon-waxing-cresent-3:before {\r\n content: \"\\f098\";\r\n}\r\n.wi-moon-waxing-cresent-4:before {\r\n content: \"\\f099\";\r\n}\r\n.wi-moon-waxing-cresent-5:before {\r\n content: \"\\f09a\";\r\n}\r\n.wi-moon-waxing-cresent-6:before {\r\n content: \"\\f09b\";\r\n}\r\n.wi-moon-first-quarter:before {\r\n content: \"\\f09c\";\r\n}\r\n.wi-moon-waxing-gibbous-1:before {\r\n content: \"\\f09d\";\r\n}\r\n.wi-moon-waxing-gibbous-2:before {\r\n content: \"\\f09e\";\r\n}\r\n.wi-moon-waxing-gibbous-3:before {\r\n content: \"\\f09f\";\r\n}\r\n.wi-moon-waxing-gibbous-4:before {\r\n content: \"\\f0a0\";\r\n}\r\n.wi-moon-waxing-gibbous-5:before {\r\n content: \"\\f0a1\";\r\n}\r\n.wi-moon-waxing-gibbous-6:before {\r\n content: \"\\f0a2\";\r\n}\r\n.wi-moon-full:before {\r\n content: \"\\f0a3\";\r\n}\r\n.wi-moon-waning-gibbous-1:before {\r\n content: \"\\f0a4\";\r\n}\r\n.wi-moon-waning-gibbous-2:before {\r\n content: \"\\f0a5\";\r\n}\r\n.wi-moon-waning-gibbous-3:before {\r\n content: \"\\f0a6\";\r\n}\r\n.wi-moon-waning-gibbous-4:before {\r\n content: \"\\f0a7\";\r\n}\r\n.wi-moon-waning-gibbous-5:before {\r\n content: \"\\f0a8\";\r\n}\r\n.wi-moon-waning-gibbous-6:before {\r\n content: \"\\f0a9\";\r\n}\r\n.wi-moon-third-quarter:before {\r\n content: \"\\f0aa\";\r\n}\r\n.wi-moon-waning-crescent-1:before {\r\n content: \"\\f0ab\";\r\n}\r\n.wi-moon-waning-crescent-2:before {\r\n content: \"\\f0ac\";\r\n}\r\n.wi-moon-waning-crescent-3:before {\r\n content: \"\\f0ad\";\r\n}\r\n.wi-moon-waning-crescent-4:before {\r\n content: \"\\f0ae\";\r\n}\r\n.wi-moon-waning-crescent-5:before {\r\n content: \"\\f0af\";\r\n}\r\n.wi-moon-waning-crescent-6:before {\r\n content: \"\\f0b0\";\r\n}\r\n.wi-moon-alt-new:before {\r\n content: \"\\f0eb\";\r\n}\r\n.wi-moon-alt-waxing-cresent-1:before {\r\n content: \"\\f0d0\";\r\n}\r\n.wi-moon-alt-waxing-cresent-2:before {\r\n content: \"\\f0d1\";\r\n}\r\n.wi-moon-alt-waxing-cresent-3:before {\r\n content: \"\\f0d2\";\r\n}\r\n.wi-moon-alt-waxing-cresent-4:before {\r\n content: \"\\f0d3\";\r\n}\r\n.wi-moon-alt-waxing-cresent-5:before {\r\n content: \"\\f0d4\";\r\n}\r\n.wi-moon-alt-waxing-cresent-6:before {\r\n content: \"\\f0d5\";\r\n}\r\n.wi-moon-alt-first-quarter:before {\r\n content: \"\\f0d6\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-1:before {\r\n content: \"\\f0d7\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-2:before {\r\n content: \"\\f0d8\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-3:before {\r\n content: \"\\f0d9\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-4:before {\r\n content: \"\\f0da\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-5:before {\r\n content: \"\\f0db\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-6:before {\r\n content: \"\\f0dc\";\r\n}\r\n.wi-moon-alt-full:before {\r\n content: \"\\f0dd\";\r\n}\r\n.wi-moon-alt-waning-gibbous-1:before {\r\n content: \"\\f0de\";\r\n}\r\n.wi-moon-alt-waning-gibbous-2:before {\r\n content: \"\\f0df\";\r\n}\r\n.wi-moon-alt-waning-gibbous-3:before {\r\n content: \"\\f0e0\";\r\n}\r\n.wi-moon-alt-waning-gibbous-4:before {\r\n content: \"\\f0e1\";\r\n}\r\n.wi-moon-alt-waning-gibbous-5:before {\r\n content: \"\\f0e2\";\r\n}\r\n.wi-moon-alt-waning-gibbous-6:before {\r\n content: \"\\f0e3\";\r\n}\r\n.wi-moon-alt-third-quarter:before {\r\n content: \"\\f0e4\";\r\n}\r\n.wi-moon-alt-waning-crescent-1:before {\r\n content: \"\\f0e5\";\r\n}\r\n.wi-moon-alt-waning-crescent-2:before {\r\n content: \"\\f0e6\";\r\n}\r\n.wi-moon-alt-waning-crescent-3:before {\r\n content: \"\\f0e7\";\r\n}\r\n.wi-moon-alt-waning-crescent-4:before {\r\n content: \"\\f0e8\";\r\n}\r\n.wi-moon-alt-waning-crescent-5:before {\r\n content: \"\\f0e9\";\r\n}\r\n.wi-moon-alt-waning-crescent-6:before {\r\n content: \"\\f0ea\";\r\n}\r\n.wi-moon-0:before {\r\n content: \"\\f095\";\r\n}\r\n.wi-moon-1:before {\r\n content: \"\\f096\";\r\n}\r\n.wi-moon-2:before {\r\n content: \"\\f097\";\r\n}\r\n.wi-moon-3:before {\r\n content: \"\\f098\";\r\n}\r\n.wi-moon-4:before {\r\n content: \"\\f099\";\r\n}\r\n.wi-moon-5:before {\r\n content: \"\\f09a\";\r\n}\r\n.wi-moon-6:before {\r\n content: \"\\f09b\";\r\n}\r\n.wi-moon-7:before {\r\n content: \"\\f09c\";\r\n}\r\n.wi-moon-8:before {\r\n content: \"\\f09d\";\r\n}\r\n.wi-moon-9:before {\r\n content: \"\\f09e\";\r\n}\r\n.wi-moon-10:before {\r\n content: \"\\f09f\";\r\n}\r\n.wi-moon-11:before {\r\n content: \"\\f0a0\";\r\n}\r\n.wi-moon-12:before {\r\n content: \"\\f0a1\";\r\n}\r\n.wi-moon-13:before {\r\n content: \"\\f0a2\";\r\n}\r\n.wi-moon-14:before {\r\n content: \"\\f0a3\";\r\n}\r\n.wi-moon-15:before {\r\n content: \"\\f0a4\";\r\n}\r\n.wi-moon-16:before {\r\n content: \"\\f0a5\";\r\n}\r\n.wi-moon-17:before {\r\n content: \"\\f0a6\";\r\n}\r\n.wi-moon-18:before {\r\n content: \"\\f0a7\";\r\n}\r\n.wi-moon-19:before {\r\n content: \"\\f0a8\";\r\n}\r\n.wi-moon-20:before {\r\n content: \"\\f0a9\";\r\n}\r\n.wi-moon-21:before {\r\n content: \"\\f0aa\";\r\n}\r\n.wi-moon-22:before {\r\n content: \"\\f0ab\";\r\n}\r\n.wi-moon-23:before {\r\n content: \"\\f0ac\";\r\n}\r\n.wi-moon-24:before {\r\n content: \"\\f0ad\";\r\n}\r\n.wi-moon-25:before {\r\n content: \"\\f0ae\";\r\n}\r\n.wi-moon-26:before {\r\n content: \"\\f0af\";\r\n}\r\n.wi-moon-27:before {\r\n content: \"\\f0b0\";\r\n}\r\n.wi-time-1:before {\r\n content: \"\\f08a\";\r\n}\r\n.wi-time-2:before {\r\n content: \"\\f08b\";\r\n}\r\n.wi-time-3:before {\r\n content: \"\\f08c\";\r\n}\r\n.wi-time-4:before {\r\n content: \"\\f08d\";\r\n}\r\n.wi-time-5:before {\r\n content: \"\\f08e\";\r\n}\r\n.wi-time-6:before {\r\n content: \"\\f08f\";\r\n}\r\n.wi-time-7:before {\r\n content: \"\\f090\";\r\n}\r\n.wi-time-8:before {\r\n content: \"\\f091\";\r\n}\r\n.wi-time-9:before {\r\n content: \"\\f092\";\r\n}\r\n.wi-time-10:before {\r\n content: \"\\f093\";\r\n}\r\n.wi-time-11:before {\r\n content: \"\\f094\";\r\n}\r\n.wi-time-12:before {\r\n content: \"\\f089\";\r\n}\r\n.wi-direction-up:before {\r\n content: \"\\f058\";\r\n}\r\n.wi-direction-up-right:before {\r\n content: \"\\f057\";\r\n}\r\n.wi-direction-right:before {\r\n content: \"\\f04d\";\r\n}\r\n.wi-direction-down-right:before {\r\n content: \"\\f088\";\r\n}\r\n.wi-direction-down:before {\r\n content: \"\\f044\";\r\n}\r\n.wi-direction-down-left:before {\r\n content: \"\\f043\";\r\n}\r\n.wi-direction-left:before {\r\n content: \"\\f048\";\r\n}\r\n.wi-direction-up-left:before {\r\n content: \"\\f087\";\r\n}\r\n.wi-wind-beaufort-0:before {\r\n content: \"\\f0b7\";\r\n}\r\n.wi-wind-beaufort-1:before {\r\n content: \"\\f0b8\";\r\n}\r\n.wi-wind-beaufort-2:before {\r\n content: \"\\f0b9\";\r\n}\r\n.wi-wind-beaufort-3:before {\r\n content: \"\\f0ba\";\r\n}\r\n.wi-wind-beaufort-4:before {\r\n content: \"\\f0bb\";\r\n}\r\n.wi-wind-beaufort-5:before {\r\n content: \"\\f0bc\";\r\n}\r\n.wi-wind-beaufort-6:before {\r\n content: \"\\f0bd\";\r\n}\r\n.wi-wind-beaufort-7:before {\r\n content: \"\\f0be\";\r\n}\r\n.wi-wind-beaufort-8:before {\r\n content: \"\\f0bf\";\r\n}\r\n.wi-wind-beaufort-9:before {\r\n content: \"\\f0c0\";\r\n}\r\n.wi-wind-beaufort-10:before {\r\n content: \"\\f0c1\";\r\n}\r\n.wi-wind-beaufort-11:before {\r\n content: \"\\f0c2\";\r\n}\r\n.wi-wind-beaufort-12:before {\r\n content: \"\\f0c3\";\r\n}\r\n.wi-yahoo-0:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-yahoo-1:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-2:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-yahoo-3:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-yahoo-4:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-yahoo-5:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-6:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-7:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-8:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-9:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-10:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-11:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-12:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-13:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-14:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-yahoo-15:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-16:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-17:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-18:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-19:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-yahoo-20:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-yahoo-21:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-yahoo-22:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-yahoo-23:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-yahoo-24:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-yahoo-25:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-yahoo-26:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-yahoo-27:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-yahoo-28:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-yahoo-29:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-yahoo-30:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-yahoo-31:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-yahoo-32:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-yahoo-33:before {\r\n content: \"\\f083\";\r\n}\r\n.wi-yahoo-34:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-yahoo-35:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-36:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-yahoo-37:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-38:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-39:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-40:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-41:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-42:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-43:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-44:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-yahoo-45:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-46:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-47:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-3200:before {\r\n content: \"\\f077\";\r\n}\r\n.wi-forecast-io-clear-day:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-forecast-io-clear-night:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-forecast-io-rain:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-forecast-io-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-forecast-io-sleet:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-forecast-io-wind:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-forecast-io-fog:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-forecast-io-cloudy:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-forecast-io-partly-cloudy-day:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-forecast-io-partly-cloudy-night:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-forecast-io-hail:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-forecast-io-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-forecast-io-tornado:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-wmo4680-0:before,\r\n.wi-wmo4680-00:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-wmo4680-1:before,\r\n.wi-wmo4680-01:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-wmo4680-2:before,\r\n.wi-wmo4680-02:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-wmo4680-3:before,\r\n.wi-wmo4680-03:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-wmo4680-4:before,\r\n.wi-wmo4680-04:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-5:before,\r\n.wi-wmo4680-05:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-10:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-11:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-12:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-18:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-wmo4680-20:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-21:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-22:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-23:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-24:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-25:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-26:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-27:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-28:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-29:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-30:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-31:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-32:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-33:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-34:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-35:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-40:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-41:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-42:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-43:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-44:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-45:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-46:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-47:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-48:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-50:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-51:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-52:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-53:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-54:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-55:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-56:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-57:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-58:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-60:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-61:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-62:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-63:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-64:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-65:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-66:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-67:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-68:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-70:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-71:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-72:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-73:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-74:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-75:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-76:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-77:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-78:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-80:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-81:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-82:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-83:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-84:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-wmo4680-85:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-86:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-87:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-89:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-90:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-91:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-wmo4680-92:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-93:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-94:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-95:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-96:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-99:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-200:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-201:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-202:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-210:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-211:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-212:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-221:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-230:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-231:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-232:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-300:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-301:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-302:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-310:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-311:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-312:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-313:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-314:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-321:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-500:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-501:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-502:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-503:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-504:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-511:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-520:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-521:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-522:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-531:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-owm-600:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-601:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-602:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-owm-611:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-612:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-615:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-616:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-620:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-621:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-622:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-701:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-741:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-owm-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-771:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-800:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-owm-801:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-802:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-803:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-803:before {\r\n content: \"\\f012\";\r\n}\r\n.wi-owm-804:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-owm-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-901:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-owm-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-905:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-owm-906:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-owm-957:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-owm-day-200:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-201:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-202:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-210:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-211:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-212:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-221:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-230:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-231:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-232:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-300:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-301:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-302:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-310:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-311:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-312:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-313:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-314:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-321:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-500:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-501:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-502:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-503:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-504:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-511:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-520:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-521:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-522:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-531:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-owm-day-600:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-601:before {\r\n content: \"\\f0b2\";\r\n}\r\n.wi-owm-day-602:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-611:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-612:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-615:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-616:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-620:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-621:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-622:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-701:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-day-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-day-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-741:before {\r\n content: \"\\f003\";\r\n}\r\n.wi-owm-day-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-day-800:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-owm-day-801:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-802:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-803:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-804:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-owm-day-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-day-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-day-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-day-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-day-906:before {\r\n content: \"\\f004\";\r\n}\r\n.wi-owm-day-957:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-owm-night-200:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-201:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-202:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-210:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-211:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-212:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-221:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-230:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-231:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-232:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-300:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-301:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-302:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-310:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-311:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-312:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-313:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-314:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-321:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-500:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-501:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-502:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-503:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-504:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-511:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-520:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-521:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-522:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-531:before {\r\n content: \"\\f02c\";\r\n}\r\n.wi-owm-night-600:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-601:before {\r\n content: \"\\f0b4\";\r\n}\r\n.wi-owm-night-602:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-611:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-612:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-615:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-616:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-620:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-621:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-622:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-701:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-night-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-night-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-741:before {\r\n content: \"\\f04a\";\r\n}\r\n.wi-owm-night-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-night-800:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-owm-night-801:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-802:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-803:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-804:before {\r\n content: \"\\f086\";\r\n}\r\n.wi-owm-night-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-night-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-night-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-night-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-night-906:before {\r\n content: \"\\f024\";\r\n}\r\n.wi-owm-night-957:before {\r\n content: \"\\f050\";\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Menu\r\n*/\r\nbody {\r\n padding-bottom: 61px;\r\n}\r\n.wrapper {\r\n margin-top: 145px;\r\n}\r\n.container {\r\n width: 95%;\r\n}\r\n.page-title {\r\n margin-bottom: 20px;\r\n margin-top: 0;\r\n}\r\n#topnav {\r\n position: fixed;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n z-index: 1030;\r\n background-color: transparent;\r\n border: 0;\r\n -webkit-transition: all .5s ease;\r\n transition: all .5s ease;\r\n min-height: 62px;\r\n}\r\n#topnav .has-submenu.active a {\r\n color: #3bafda;\r\n}\r\n#topnav .has-submenu.active a i {\r\n color: #3bafda;\r\n}\r\n#topnav .has-submenu.active .submenu li.active > a {\r\n color: #3bafda;\r\n}\r\n#topnav .topbar-main {\r\n background-color: #3bafda;\r\n}\r\n#topnav .topbar-main .logo {\r\n color: #ffffff !important;\r\n font-size: 18px;\r\n font-weight: 700;\r\n letter-spacing: .05em;\r\n margin-top: 9px;\r\n float: left;\r\n}\r\n#topnav .topbar-main .logo h1 {\r\n margin: 0px auto;\r\n text-align: center;\r\n}\r\n#topnav .topbar-main .logo i {\r\n color: #ffffff;\r\n}\r\n#topnav .topbar-main .badge {\r\n position: absolute;\r\n top: 12px;\r\n right: 7px;\r\n}\r\n#topnav .topbar-main .nav > li > a {\r\n color: #ffffff !important;\r\n line-height: 60px;\r\n padding: 0px 15px !important;\r\n position: relative;\r\n background: transparent !important;\r\n}\r\n#topnav .topbar-main .nav > li > a i {\r\n font-size: 16px;\r\n}\r\n#topnav .topbar-main .nav > li > a {\r\n padding: 0px 15px !important;\r\n}\r\n#topnav .topbar-main .navbar-nav > .open > a {\r\n background-color: rgba(255, 255, 255, 0.1) !important;\r\n}\r\n#topnav .topbar-main .profile img {\r\n border: 2px solid #edf0f0;\r\n height: 36px;\r\n width: 36px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg {\r\n width: 300px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .list-group {\r\n margin-bottom: 0px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .list-group-item {\r\n border: none;\r\n padding: 10px 20px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .media-heading {\r\n margin-bottom: 0px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .media-body p {\r\n color: #828282;\r\n}\r\n#topnav .topbar-main .notification-list {\r\n max-height: 230px;\r\n}\r\n#topnav .topbar-main .notification-list em {\r\n width: 34px;\r\n text-align: center;\r\n}\r\n#topnav .topbar-main .notification-list .media-body {\r\n display: inherit;\r\n width: auto;\r\n overflow: hidden;\r\n margin-left: 50px;\r\n}\r\n#topnav .topbar-main .notification-list .media-body h5 {\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n width: 100%;\r\n font-weight: normal;\r\n overflow: hidden;\r\n}\r\n#topnav .topbar-main .notifi-title {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n font-size: 15px;\r\n text-transform: uppercase;\r\n font-weight: 600;\r\n padding: 11px 20px 15px;\r\n font-family: 'Source Sans Pro', sans-serif;\r\n}\r\n#topnav .topbar-main .navbar-nav {\r\n margin: 0;\r\n}\r\n#topnav .app-search {\r\n position: relative;\r\n margin: 14px 20px 14px 10px;\r\n}\r\n#topnav .app-search a {\r\n position: absolute;\r\n top: 6px;\r\n right: 20px;\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search .form-control,\r\n#topnav .app-search .form-control:focus {\r\n border: none;\r\n font-size: 13px;\r\n color: #ffffff;\r\n padding-left: 20px;\r\n padding-right: 40px;\r\n background: rgba(255, 255, 255, 0.2);\r\n box-shadow: none;\r\n border-radius: 30px;\r\n height: 34px;\r\n width: 180px;\r\n}\r\n#topnav .app-search input::-webkit-input-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n font-weight: normal;\r\n}\r\n#topnav .app-search input:-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search input::-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search input:-ms-input-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .notifi-title {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n color: #ffffff;\r\n font-size: 16px;\r\n font-weight: 400;\r\n padding: 5px 0px 10px;\r\n}\r\n#topnav .notification-list em {\r\n width: 30px;\r\n text-align: center;\r\n height: 30px;\r\n line-height: 28px;\r\n border-radius: 50%;\r\n margin-top: 4px;\r\n}\r\n#topnav .notification-list .list-group-item {\r\n padding: 12px 20px;\r\n}\r\n#topnav .notification-list .media-body {\r\n display: inherit;\r\n width: auto;\r\n overflow: hidden;\r\n margin-left: 50px;\r\n}\r\n#topnav .notification-list .media-body h5 {\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n width: 100%;\r\n font-weight: normal;\r\n overflow: hidden;\r\n}\r\n#topnav .noti-primary {\r\n color: #3bafda;\r\n border: 2px solid #3bafda;\r\n}\r\n#topnav .noti-success {\r\n color: #00b19d;\r\n border: 2px solid #00b19d;\r\n}\r\n#topnav .noti-info {\r\n color: #3ddcf7;\r\n border: 2px solid #3ddcf7;\r\n}\r\n#topnav .noti-warning {\r\n color: #ffaa00;\r\n border: 2px solid #ffaa00;\r\n}\r\n#topnav .noti-danger {\r\n color: #ef5350;\r\n border: 2px solid #ef5350;\r\n}\r\n#topnav .noti-purple {\r\n color: #7266ba;\r\n border: 2px solid #7266ba;\r\n}\r\n#topnav .noti-pink {\r\n color: #f76397;\r\n border: 2px solid #f76397;\r\n}\r\n#topnav .noti-inverse {\r\n color: #4c5667;\r\n border: 2px solid #4c5667;\r\n}\r\n#topnav .navbar-custom {\r\n background-color: #323b44;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);\r\n}\r\n#topnav .navbar-toggle {\r\n border: 0;\r\n position: relative;\r\n width: 60px;\r\n height: 60px;\r\n padding: 0;\r\n margin: 0;\r\n cursor: pointer;\r\n}\r\n#topnav .navbar-toggle:hover {\r\n background-color: transparent;\r\n}\r\n#topnav .navbar-toggle:hover span {\r\n background-color: #ffffff;\r\n}\r\n#topnav .navbar-toggle:focus {\r\n background-color: transparent;\r\n}\r\n#topnav .navbar-toggle:focus span {\r\n background-color: #3bafda;\r\n}\r\n#topnav .navbar-toggle .lines {\r\n width: 25px;\r\n display: block;\r\n position: relative;\r\n margin: 23px auto 17px auto;\r\n height: 18px;\r\n}\r\n#topnav .navbar-toggle span {\r\n height: 2px;\r\n width: 100%;\r\n background-color: #ffffff;\r\n display: block;\r\n margin-bottom: 5px;\r\n -webkit-transition: -webkit-transform 0.5s ease;\r\n transition: -webkit-transform 0.5s ease;\r\n transition: transform .5s ease;\r\n}\r\n#topnav .navbar-toggle.open span {\r\n position: absolute;\r\n}\r\n#topnav .navbar-toggle.open span:first-child {\r\n top: 6px;\r\n -webkit-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n}\r\n#topnav .navbar-toggle.open span:nth-child(2) {\r\n visibility: hidden;\r\n}\r\n#topnav .navbar-toggle.open span:last-child {\r\n width: 100%;\r\n top: 6px;\r\n -webkit-transform: rotate(-45deg);\r\n transform: rotate(-45deg);\r\n}\r\n#topnav .navigation-menu {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n#topnav .navigation-menu > li {\r\n float: left;\r\n display: block;\r\n position: relative;\r\n}\r\n#topnav .navigation-menu > li > a {\r\n display: block;\r\n color: rgba(255, 255, 255, 0.7);\r\n font-weight: 500;\r\n -webkit-transition: all .3s ease;\r\n transition: all .3s ease;\r\n line-height: 20px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n}\r\n#topnav .navigation-menu > li > a:hover {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:hover i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:focus {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:focus i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:active {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:active i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a i {\r\n font-size: 18px;\r\n margin-right: 5px;\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .navigation-menu > li > a:hover,\r\n#topnav .navigation-menu > li > a:focus {\r\n background-color: transparent;\r\n}\r\n/*\r\n Responsive Menu\r\n*/\r\n@media (min-width: 101px) {\r\n #topnav .navigation-menu > li > a {\r\n padding-top: 22px;\r\n padding-bottom: 22px;\r\n }\r\n #topnav .navigation-menu > li.last-elements .submenu {\r\n left: auto;\r\n right: 0;\r\n }\r\n #topnav .navigation-menu > li.last-elements .submenu > li.has-submenu .submenu {\r\n left: auto;\r\n right: 100%;\r\n margin-left: 0;\r\n margin-right: 10px;\r\n }\r\n #topnav .navigation-menu > li:first-of-type a {\r\n padding-left: 0px;\r\n }\r\n #topnav .navigation-menu > li:hover a {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li:hover a i {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 1000;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n padding: 15px 0;\r\n list-style: none;\r\n min-width: 200px;\r\n visibility: hidden;\r\n opacity: 0;\r\n margin-top: 10px;\r\n -webkit-transition: all .2s ease;\r\n transition: all .2s ease;\r\n background-color: #272e35;\r\n box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu {\r\n white-space: nowrap;\r\n width: auto;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li {\r\n overflow: hidden;\r\n width: 200px;\r\n display: inline-block;\r\n vertical-align: top;\r\n }\r\n #topnav .navigation-menu > li .submenu > li.has-submenu > a:after {\r\n content: \"\\e649\";\r\n font-family: \"themify\";\r\n position: absolute;\r\n right: 20px;\r\n font-size: 9px;\r\n top: 15px;\r\n }\r\n #topnav .navigation-menu > li .submenu > li .submenu {\r\n left: 100%;\r\n top: 0;\r\n margin-left: 10px;\r\n margin-top: -1px;\r\n }\r\n #topnav .navigation-menu > li .submenu li {\r\n position: relative;\r\n }\r\n #topnav .navigation-menu > li .submenu li ul {\r\n list-style: none;\r\n padding-left: 0;\r\n margin: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu li a {\r\n display: block;\r\n padding: 8px 25px;\r\n clear: both;\r\n white-space: nowrap;\r\n color: rgba(255, 255, 255, 0.6);\r\n }\r\n #topnav .navigation-menu > li .submenu li a:hover {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu li span {\r\n display: block;\r\n padding: 8px 25px;\r\n clear: both;\r\n line-height: 1.42857143;\r\n white-space: nowrap;\r\n font-size: 10px;\r\n text-transform: uppercase;\r\n letter-spacing: 2px;\r\n font-weight: 500;\r\n color: #949ba1;\r\n }\r\n #topnav .navbar-toggle {\r\n display: none;\r\n }\r\n #topnav #navigation {\r\n display: block !important;\r\n }\r\n}\r\n@media (max-width: 100px) {\r\n .wrapper {\r\n margin-top: 80px;\r\n }\r\n .container {\r\n width: auto;\r\n }\r\n #topnav .navigation-menu {\r\n float: none;\r\n max-height: 400px;\r\n }\r\n #topnav .navigation-menu > li {\r\n float: none;\r\n }\r\n #topnav .navigation-menu > li > a {\r\n color: rgba(255, 255, 255, 0.7);\r\n padding: 15px;\r\n }\r\n #topnav .navigation-menu > li > a i {\r\n display: inline-block;\r\n margin-right: 10px;\r\n margin-bottom: 0px;\r\n }\r\n #topnav .navigation-menu > li > a:after {\r\n position: absolute;\r\n right: 15px;\r\n }\r\n #topnav .navigation-menu > li .submenu {\r\n display: none;\r\n list-style: none;\r\n padding-left: 20px;\r\n margin: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu li a {\r\n display: block;\r\n position: relative;\r\n padding: 7px 20px;\r\n color: rgba(255, 255, 255, 0.5);\r\n }\r\n #topnav .navigation-menu > li .submenu li a:hover {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu li.has-submenu > a:after {\r\n content: \"\\e64b\";\r\n font-family: \"themify\";\r\n position: absolute;\r\n right: 30px;\r\n }\r\n #topnav .navigation-menu > li .submenu.open {\r\n display: block;\r\n }\r\n #topnav .navigation-menu > li .submenu .submenu {\r\n display: none;\r\n list-style: none;\r\n }\r\n #topnav .navigation-menu > li .submenu .submenu.open {\r\n display: block;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li > ul {\r\n list-style: none;\r\n padding-left: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li > ul > li > span {\r\n display: block;\r\n position: relative;\r\n padding: 15px;\r\n text-transform: uppercase;\r\n font-size: 11px;\r\n letter-spacing: 2px;\r\n color: #79818a;\r\n }\r\n #topnav .navigation-menu > li.has-submenu.open > a {\r\n color: #3bafda;\r\n }\r\n #topnav .navbar-header {\r\n float: left;\r\n }\r\n #navigation {\r\n position: absolute;\r\n top: 60px;\r\n left: 0;\r\n width: 100%;\r\n display: none;\r\n height: auto;\r\n padding-bottom: 0;\r\n overflow: auto;\r\n border-top: 1px solid rgba(255, 255, 255, 0.5);\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.5);\r\n background-color: #323b44;\r\n }\r\n #navigation.open {\r\n display: block;\r\n overflow-y: auto;\r\n }\r\n}\r\n@media (min-width: 768px) {\r\n #topnav .navigation-menu > li.has-submenu:hover > .submenu {\r\n visibility: visible;\r\n opacity: 1;\r\n margin-top: 0;\r\n }\r\n #topnav .navigation-menu > li.has-submenu:hover > .submenu > li.has-submenu:hover > .submenu {\r\n visibility: visible;\r\n opacity: 1;\r\n margin-left: 0;\r\n margin-right: 0;\r\n }\r\n .navbar-toggle {\r\n display: block;\r\n }\r\n}\r\n/* Footer */\r\n.footer {\r\n border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n bottom: 0px;\r\n color: #58666e;\r\n text-align: left !important;\r\n padding: 20px 0px;\r\n position: absolute;\r\n right: 0px;\r\n left: 0px;\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Core file List\r\n\r\n - Timeline\r\n - Timeline-2\r\n - Sweet Alerts\r\n - Notification\r\n - Nestable list\r\n - Maps\r\n - Email\r\n - Form Advanced\r\n - Charts\r\n - Maintenance\r\n - Countdown\r\n - Gallery\r\n - Tree view\r\n - Pricing\r\n - FAQ\r\n\r\n =============*/\r\n/* ===========\r\n Timeline\r\n =============*/\r\n.timeline {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n display: table;\r\n margin-bottom: 50px;\r\n position: relative;\r\n table-layout: fixed;\r\n width: 100%;\r\n}\r\n.timeline .time-show {\r\n margin-bottom: 30px;\r\n margin-right: -75px;\r\n margin-top: 30px;\r\n position: relative;\r\n}\r\n.timeline .time-show a {\r\n color: #ffffff;\r\n}\r\n.timeline:before {\r\n background-color: #98a6ad;\r\n bottom: 0px;\r\n content: \"\";\r\n left: 50%;\r\n position: absolute;\r\n top: 30px;\r\n width: 1px;\r\n z-index: 0;\r\n}\r\n.timeline .timeline-icon {\r\n -webkit-border-radius: 50%;\r\n background: #98a6ad;\r\n border-radius: 50%;\r\n border: 1px solid #98a6ad;\r\n color: #ffffff;\r\n display: block;\r\n height: 20px;\r\n left: -54px;\r\n margin-top: -10px;\r\n position: absolute;\r\n text-align: center;\r\n top: 50%;\r\n width: 20px;\r\n}\r\n.timeline .timeline-icon i {\r\n margin-top: 9px;\r\n}\r\n.timeline .time-icon:before {\r\n font-size: 16px;\r\n margin-top: 5px;\r\n}\r\nh3.timeline-title {\r\n color: #c8ccd7;\r\n font-size: 20px;\r\n font-weight: 400;\r\n margin: 0 0 5px;\r\n text-transform: uppercase;\r\n}\r\n.timeline-item {\r\n display: table-row;\r\n}\r\n.timeline-item:before {\r\n content: \"\";\r\n display: block;\r\n width: 50%;\r\n}\r\n.timeline-item .timeline-desk .arrow {\r\n border-bottom: 8px solid transparent;\r\n border-right: 8px solid #272e35 !important;\r\n border-top: 8px solid transparent;\r\n display: block;\r\n height: 0;\r\n left: -7px;\r\n margin-top: -10px;\r\n position: absolute;\r\n top: 50%;\r\n width: 0;\r\n}\r\n.timeline-item.alt:after {\r\n content: \"\";\r\n display: block;\r\n width: 50%;\r\n}\r\n.timeline-item.alt .timeline-desk .arrow-alt {\r\n border-bottom: 8px solid transparent;\r\n border-left: 8px solid #272e35 !important;\r\n border-top: 8px solid transparent;\r\n display: block;\r\n height: 0;\r\n left: auto;\r\n margin-top: -10px;\r\n position: absolute;\r\n right: -7px;\r\n top: 50%;\r\n width: 0;\r\n}\r\n.timeline-item.alt .timeline-desk .album {\r\n float: right;\r\n margin-top: 20px;\r\n}\r\n.timeline-item.alt .timeline-desk .album a {\r\n float: right;\r\n margin-left: 5px;\r\n}\r\n.timeline-item.alt .timeline-icon {\r\n left: auto;\r\n right: -56px;\r\n}\r\n.timeline-item.alt:before {\r\n display: none;\r\n}\r\n.timeline-item.alt .panel {\r\n margin-left: 0;\r\n margin-right: 45px;\r\n}\r\n.timeline-item.alt .panel .panel-body p + p {\r\n margin-top: 10px !important;\r\n}\r\n.timeline-item.alt h4 {\r\n text-align: right;\r\n}\r\n.timeline-item.alt p {\r\n text-align: right;\r\n}\r\n.timeline-item.alt .timeline-date {\r\n text-align: right;\r\n}\r\n.timeline-desk {\r\n display: table-cell;\r\n vertical-align: top;\r\n width: 50%;\r\n}\r\n.timeline-desk h4 {\r\n font-size: 16px;\r\n font-weight: 300;\r\n margin: 0;\r\n}\r\n.timeline-desk .panel {\r\n background: #272e35;\r\n display: block;\r\n margin-bottom: 5px;\r\n margin-left: 45px;\r\n position: relative;\r\n text-align: left;\r\n}\r\n.timeline-desk h5 span {\r\n color: #797979;\r\n display: block;\r\n font-size: 12px;\r\n margin-bottom: 4px;\r\n}\r\n.timeline-desk p {\r\n color: #98a6ad;\r\n font-size: 14px;\r\n margin-bottom: 0;\r\n}\r\n.timeline-desk .album {\r\n margin-top: 12px;\r\n}\r\n.timeline-desk .album a {\r\n float: left;\r\n margin-right: 5px;\r\n}\r\n.timeline-desk .album img {\r\n height: 36px;\r\n width: auto;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.timeline-desk .notification {\r\n background: none repeat scroll 0 0 #ffffff;\r\n margin-top: 20px;\r\n padding: 8px;\r\n}\r\n/* ===========\r\n Timeline-2\r\n =============*/\r\n.timeline-2 {\r\n border-left: 2px solid #3bafda;\r\n position: relative;\r\n}\r\n.timeline-2 .time-item:after {\r\n background-color: #ffffff;\r\n border-color: #3bafda;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-width: 2px;\r\n bottom: 0;\r\n content: '';\r\n height: 10px;\r\n left: 0;\r\n margin-left: -6px;\r\n position: absolute;\r\n top: 5px;\r\n width: 10px;\r\n}\r\n.time-item {\r\n border-color: #dee5e7;\r\n padding-bottom: 10px;\r\n position: relative;\r\n}\r\n.time-item:before {\r\n content: \" \";\r\n display: table;\r\n}\r\n.time-item:after {\r\n background-color: #ffffff;\r\n border-color: #3bafda;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-width: 2px;\r\n bottom: 0;\r\n content: '';\r\n height: 14px;\r\n left: 0;\r\n margin-left: -8px;\r\n position: absolute;\r\n top: 5px;\r\n width: 14px;\r\n}\r\n.time-item-item:after {\r\n content: \" \";\r\n display: table;\r\n}\r\n.item-info {\r\n margin-bottom: 15px;\r\n margin-left: 15px;\r\n}\r\n.item-info p {\r\n font-size: 13px;\r\n}\r\n/* ===========\r\n Sweet Alert\r\n =============*/\r\n.sweet-alert h2 {\r\n font-size: 22px;\r\n color: #323b44;\r\n}\r\n.sweet-alert p {\r\n font-size: 14px;\r\n line-height: 22px;\r\n}\r\n.sweet-alert .icon.success .placeholder {\r\n border: 4px solid rgba(0, 177, 157, 0.3);\r\n}\r\n.sweet-alert .icon.success .line {\r\n background-color: #00b19d;\r\n}\r\n.sweet-alert .icon.warning {\r\n border-color: #ffaa00;\r\n}\r\n.sweet-alert .icon.info {\r\n border-color: #3ddcf7;\r\n}\r\n.sweet-alert .btn-warning:focus,\r\n.sweet-alert .btn-info:focus,\r\n.sweet-alert .btn-success:focus,\r\n.sweet-alert .btn-danger:focus,\r\n.sweet-alert .btn-default:focus {\r\n box-shadow: none;\r\n}\r\n/* =============\r\n Notification\r\n============= */\r\n.notifyjs-metro-base {\r\n position: relative;\r\n min-height: 52px;\r\n min-width: 250px;\r\n color: #444;\r\n border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);\r\n -webkit-animation: dropdownOpen 0.3s ease-out;\r\n -o-animation: dropdownOpen 0.3s ease-out;\r\n animation: dropdownOpen 0.3s ease-out;\r\n}\r\n.notifyjs-metro-base .image {\r\n display: table;\r\n position: absolute;\r\n height: auto;\r\n width: auto;\r\n left: 25px;\r\n top: 50%;\r\n font-size: 24px;\r\n -moz-transform: translate(-50%, -50%);\r\n -ms-transform: translate(-50%, -50%);\r\n -o-transform: translate(-50%, -50%);\r\n -webkit-transform: translate(-50%, -50%);\r\n transform: translate(-50%, -50%);\r\n}\r\n.notifyjs-metro-base .text-wrapper {\r\n display: inline-block;\r\n vertical-align: top;\r\n text-align: left;\r\n margin: 10px 10px 10px 52px;\r\n clear: both;\r\n}\r\n.notifyjs-metro-base .title {\r\n font-size: 15px;\r\n line-height: 20px;\r\n margin-bottom: 5px;\r\n font-weight: bold;\r\n}\r\n.notifyjs-metro-base .text {\r\n font-size: 12px;\r\n font-weight: normal;\r\n max-width: 360px;\r\n vertical-align: middle;\r\n}\r\n.notifyjs-metro-cool {\r\n color: #fafafa !important;\r\n background-color: #4A525F;\r\n border: 1px solid #4A525F;\r\n}\r\n/* =============\r\n Nestable\r\n============= */\r\n.custom-dd .dd-list .dd-item .dd-handle {\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n border: none;\r\n padding: 8px 16px;\r\n height: auto;\r\n font-weight: 600;\r\n color: #98a6ad;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.custom-dd .dd-list .dd-item .dd-handle:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd .dd-list .dd-item button {\r\n height: auto;\r\n font-size: 17px;\r\n margin: 8px auto;\r\n color: #98a6ad;\r\n width: 30px;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle {\r\n border: none;\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n height: 36px;\r\n width: 36px;\r\n color: #98a6ad;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle:before {\r\n top: 7px;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd-empty .dd-list .dd3-content {\r\n height: auto;\r\n border: none;\r\n color: #98a6ad;\r\n padding: 8px 16px 8px 46px;\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n font-weight: 600;\r\n}\r\n.custom-dd-empty .dd-list .dd3-content:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd-empty .dd-list button {\r\n width: 26px;\r\n height: 26px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n}\r\n/* ===========\r\n Maps\r\n =============*/\r\n.gmaps,\r\n.gmaps-panaroma {\r\n height: 300px;\r\n background: #eeeeee;\r\n border-radius: 3px;\r\n}\r\n.gmaps-overlay {\r\n display: block;\r\n text-align: center;\r\n color: #ffffff;\r\n font-size: 16px;\r\n line-height: 40px;\r\n background: #3bafda;\r\n border-radius: 4px;\r\n padding: 10px 20px;\r\n}\r\n.gmaps-overlay_arrow {\r\n left: 50%;\r\n margin-left: -16px;\r\n width: 0;\r\n height: 0;\r\n position: absolute;\r\n}\r\n.gmaps-overlay_arrow.above {\r\n bottom: -15px;\r\n border-left: 16px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-top: 16px solid #3bafda;\r\n}\r\n.gmaps-overlay_arrow.below {\r\n top: -15px;\r\n border-left: 16px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 16px solid #3bafda;\r\n}\r\n/* =============\r\n Email\r\n============= */\r\n.mails a {\r\n color: #98a6ad;\r\n}\r\n.mails td {\r\n vertical-align: middle !important;\r\n position: relative;\r\n}\r\n.mails td:last-of-type {\r\n width: 100px;\r\n padding-right: 20px;\r\n}\r\n.mails tr:hover .text-white {\r\n display: none;\r\n}\r\n.mails .mail-select {\r\n padding: 12px 20px;\r\n min-width: 134px;\r\n}\r\n.mails .checkbox {\r\n margin-bottom: 0px;\r\n margin-top: 0px;\r\n vertical-align: middle;\r\n display: inline-block;\r\n height: 17px;\r\n}\r\n.mails .checkbox label {\r\n min-height: 16px;\r\n}\r\n.mail-list .list-group-item {\r\n background-color: transparent !important;\r\n}\r\n.mail-list .list-group-item:hover {\r\n background-color: #eeeeee;\r\n}\r\n.mail-list .list-group-item:focus {\r\n background-color: #eeeeee;\r\n}\r\n.mail-list .list-group-item.active {\r\n background-color: #3bafda !important;\r\n color: #4c5667;\r\n font-weight: 600;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.unread a {\r\n font-weight: 600;\r\n color: rgba(238, 238, 238, 0.7);\r\n}\r\n/* =============\r\n Form Advanced\r\n============= */\r\n.bootstrap-tagsinput {\r\n box-shadow: none;\r\n background-color: transparent;\r\n padding: 3px 7px 6px;\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.bootstrap-tagsinput .label-info {\r\n background-color: #3bafda !important;\r\n display: inline-block;\r\n padding: 5px;\r\n}\r\n/* Multiple */\r\n.ms-container {\r\n background: transparent url('../images/multiple-arrow.png') no-repeat 50% 50%;\r\n}\r\n.ms-container .ms-list {\r\n box-shadow: none;\r\n border: 2px solid rgba(255, 255, 255, 0.2);\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n border: 2px solid rgba(255, 255, 255, 0.3);\r\n}\r\n.ms-container .ms-selectable li.ms-elem-selectable {\r\n border: none;\r\n padding: 5px 10px;\r\n}\r\n.ms-container .ms-selection li.ms-elem-selection {\r\n border: none;\r\n padding: 5px 10px;\r\n}\r\n.ms-selectable {\r\n box-shadow: none;\r\n outline: none !important;\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n}\r\n.ms-container .ms-selectable li.ms-hover {\r\n background-color: #3bafda;\r\n color: #ffffff !important;\r\n}\r\n.ms-container .ms-selection li.ms-hover {\r\n background-color: #3bafda;\r\n color: #ffffff !important;\r\n}\r\n.ms-container .ms-selectable,\r\n.ms-container .ms-selection {\r\n background-color: transparent;\r\n}\r\n.ms-container .ms-selectable li.ms-elem-selectable,\r\n.ms-container .ms-selection li.ms-elem-selection {\r\n color: #98a6ad;\r\n}\r\n/* Select2 */\r\n.select2-container .select2-choice {\r\n background-image: none !important;\r\n border: none !important;\r\n height: auto !important;\r\n padding: 0px !important;\r\n line-height: 22px !important;\r\n background-color: transparent !important;\r\n box-shadow: none !important;\r\n color: #ffffff;\r\n}\r\n.select2-container .select2-choice .select2-arrow {\r\n background-image: none !important;\r\n background: transparent;\r\n border: none;\r\n width: 14px;\r\n top: -2px;\r\n}\r\n.select2-container .select2-container-multi.form-control {\r\n height: auto;\r\n}\r\n.select2-results .select2-highlighted {\r\n color: #ffffff;\r\n background-color: #3bafda;\r\n}\r\n.select2-drop-active {\r\n border: 1px solid #e3e3e3 !important;\r\n padding-top: 5px;\r\n -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n}\r\n.select2-search input {\r\n border: 1px solid #e3e3e3;\r\n}\r\n.select2-container-multi {\r\n width: 100%;\r\n}\r\n.select2-container-multi .select2-choices {\r\n border: 2px solid rgba(255, 255, 255, 0.2) !important;\r\n box-shadow: none !important;\r\n background: transparent !important;\r\n background-image: none !important;\r\n -webkit-border-radius: 4px !important;\r\n border-radius: 4px !important;\r\n -moz-border-radius: 4px !important;\r\n background-clip: padding-box !important;\r\n min-height: 38px;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-choice {\r\n padding: 6px 8px 7px 19px;\r\n margin: 5px 0 3px 5px;\r\n color: #ffffff;\r\n background: rgba(255, 255, 255, 0.2);\r\n border: none;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-field input {\r\n padding: 7px 7px 7px 10px;\r\n font-family: inherit;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-choice-close {\r\n top: 6px;\r\n}\r\n/* Wysiwig */\r\n.mce-tinymce {\r\n background-color: transparent !important;\r\n}\r\n.mce-content-body p {\r\n color: #9398a0;\r\n font-size: 14px;\r\n font-weight: 300;\r\n}\r\n.mce-popover .mce-arrow:after {\r\n border-bottom-color: red;\r\n}\r\n.mce-popover .mce-colorbutton-grid {\r\n margin: 0px;\r\n border: 1px solid #d7dce5 !important;\r\n padding: 4px;\r\n}\r\n.mce-reset .mce-window-head {\r\n border-bottom: 1px solid #d7dce5;\r\n}\r\n.mce-reset .mce-window-head .mce-title {\r\n color: #707780;\r\n font-size: 16px;\r\n font-weight: 400;\r\n}\r\n.mce-reset .mce-textbox {\r\n border-radius: 0px;\r\n box-shadow: none;\r\n outline: 0;\r\n border-color: #d7dce5;\r\n height: 30px;\r\n font-weight: 300;\r\n line-height: 30px;\r\n color: #aaaaaa;\r\n font-size: 14px;\r\n}\r\n.mce-reset .mce-textbox:focus {\r\n box-shadow: none;\r\n border-color: #3bafda;\r\n}\r\n.mce-reset .mce-checkbox .mce-ico {\r\n background-image: none;\r\n background-color: #ffffff;\r\n border-radius: 0px;\r\n border: 1px solid #d7dce5;\r\n}\r\n.mce-reset .mce-checkbox .mce-label {\r\n color: #707780;\r\n font-size: 12px;\r\n font-weight: 400;\r\n}\r\n.mce-container {\r\n border-radius: 0px !important;\r\n border-width: 0px !important;\r\n}\r\n.mce-container .mce-menubar {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n padding: 2px;\r\n}\r\n.mce-container .mce-menubar .mce-btn button span {\r\n color: #707780;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: capitalize;\r\n}\r\n.mce-container .mce-menubar .mce-btn button .mce-caret {\r\n border-top-color: #ffffff;\r\n}\r\n.mce-caret {\r\n border-top: 4px solid #ffffff !important;\r\n}\r\n.mce-menubar .mce-menubtn:hover,\r\n.mce-menubar .mce-menubtn.mce-active,\r\n.mce-menubar .mce-menubtn:focus {\r\n background-color: transparent !important;\r\n}\r\n.mce-container .mce-menubar .mce-btn button:hover {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n}\r\n.mce-container .mce-menubar .mce-btn.mce-active button {\r\n background-color: #e8ebf1;\r\n}\r\n.mce-container .mce-btn {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n background-image: none;\r\n outline: 0;\r\n border: 0px;\r\n border-radius: 0px;\r\n}\r\n.mce-container .mce-btn button {\r\n color: #ffffff !important;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-shadow: none;\r\n padding: 5px 10px;\r\n}\r\n.mce-container .mce-primary {\r\n background-color: #3bafda;\r\n background-image: none;\r\n outline: 0;\r\n border: 0px;\r\n border-radius: 0px;\r\n}\r\n.mce-container .mce-primary button {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-shadow: none;\r\n}\r\n.mce-container .mce-primary:hover {\r\n background-color: #0c7cd5;\r\n background-image: none;\r\n}\r\n.mce-container .mce-toolbar-grp {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n border-top-width: 0px !important;\r\n padding: 6px;\r\n}\r\n.mce-container .mce-btn-group .mce-btn:hover,\r\n.mce-container .mce-btn-group .mce-btn:focus {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n color: #323b44;\r\n}\r\n.mce-stack-layout-item body {\r\n background-color: transparent !important;\r\n}\r\ndiv.mce-edit-area {\r\n background: transparent !important;\r\n}\r\n.mce-btn.mce-active button,\r\n.mce-btn.mce-active:hover button {\r\n color: #323b44 !important;\r\n}\r\n.mce-container .mce-statusbar {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n}\r\n.mce-container .mce-statusbar .mce-path .mce-path-item {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n.mce-container .mce-widget {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n border-left: 1px solid transparent;\r\n}\r\n.mce-container .mce-btn-group {\r\n border: none;\r\n}\r\n.mce-container .mce-btn-group .mce-btn {\r\n box-shadow: none;\r\n background-image: none;\r\n border-width: 0px;\r\n border-radius: 0px !important;\r\n}\r\n.mce-container .mce-btn-group .mce-btn:hover,\r\n.mce-container .mce-btn-group .mce-btn:focus {\r\n box-shadow: none;\r\n background-image: none;\r\n background-color: #ffffff;\r\n}\r\n.mce-container .mce-btn-group .mce-btn button span {\r\n color: #707780;\r\n font-size: 14px;\r\n font-weight: 300;\r\n}\r\n.mce-container .mce-btn-group .mce-btn button .mce-caret {\r\n color: #ffffff;\r\n font-size: 14px;\r\n}\r\n.mce-container .mce-ico {\r\n color: #ffffff;\r\n font-size: 14px;\r\n}\r\n.mce-container .mce-panel {\r\n background-image: none;\r\n}\r\n.mce-container.mce-menu {\r\n border: 1px solid #d7dce5 !important;\r\n}\r\n.mce-container.mce-menu .mce-menu-item {\r\n background-image: none;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-ico {\r\n color: #3bafda;\r\n font-size: 14px;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-text {\r\n color: #707780 !important;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: capitalize;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-menu-shortcut {\r\n color: #aaaaaa;\r\n font-size: 12px;\r\n font-weight: 300;\r\n text-transform: capitalize;\r\n}\r\n.mce-container.mce-menu .mce-menu-item:hover,\r\n.mce-container.mce-menu .mce-menu-item:focus,\r\n.mce-container.mce-menu .mce-menu-item.mce-selected {\r\n background-color: #3bafda;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-menu-shortcut {\r\n color: #aaaaaa;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected {\r\n background-color: #d7dce5;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-menu-shortcut,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-menu-shortcut,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-menu-shortcut {\r\n color: #ffffff;\r\n}\r\n.mce-container.mce-menu .mce-menu-item-sep {\r\n background-color: #d7dce5;\r\n}\r\n.mce-container.mce-menu .mce-menu-item-sep:hover {\r\n background-color: #d7dce5;\r\n}\r\n.mce-menubtn button {\r\n color: #323b44 !important;\r\n}\r\n.mce-menu-item-normal.mce-active {\r\n background-color: #3bafda !important;\r\n}\r\n.mce-menu-item-normal.mce-active .mce-text {\r\n color: #ffffff !important;\r\n}\r\n/* Time picker */\r\n.bootstrap-timepicker-widget table td input {\r\n border: none;\r\n font-size: 16px;\r\n font-weight: 500;\r\n background-color: transparent;\r\n}\r\n.bootstrap-timepicker-widget table td a {\r\n color: rgba(238, 238, 238, 0.2);\r\n}\r\n/* =============\r\n Charts\r\n============= */\r\n.morris-hover.morris-default-style {\r\n border-radius: 5px;\r\n padding: 10px 12px;\r\n background-color: #f5f5f5;\r\n border: none;\r\n color: #323b44 !important;\r\n}\r\n.morris-hover.morris-default-style .morris-hover-point {\r\n color: #323b44 !important;\r\n}\r\n.chart-detail-list li {\r\n margin: 0px 10px;\r\n}\r\n.chart-detail-list li h5 {\r\n font-size: 15px;\r\n}\r\n.pieLabel div {\r\n font-size: 14px !important;\r\n}\r\n.jqstooltip {\r\n -webkit-box-sizing: content-box;\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box;\r\n}\r\n.chart {\r\n position: relative;\r\n display: inline-block;\r\n width: 110px;\r\n height: 110px;\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n text-align: center;\r\n}\r\n.chart canvas {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n.chart.chart-widget-pie {\r\n margin-top: 5px;\r\n margin-bottom: 5px;\r\n}\r\n.percent {\r\n display: inline-block;\r\n line-height: 110px;\r\n z-index: 2;\r\n font-weight: 600;\r\n font-size: 18px;\r\n color: #797979;\r\n}\r\n.percent:after {\r\n content: '%';\r\n margin-left: 0.1em;\r\n font-size: .8em;\r\n}\r\n/* Flot chart */\r\n#flotTip {\r\n padding: 8px 12px;\r\n background-color: #f5f5f5;\r\n border: 1px solid rgba(50, 59, 68, 0.1);\r\n z-index: 100;\r\n color: #323b44;\r\n font-weight: 500;\r\n opacity: 0.9;\r\n font-size: 13px;\r\n -webkit-border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n border-radius: 3px;\r\n}\r\n.legend tr {\r\n height: 20px;\r\n}\r\n.legendLabel {\r\n padding-left: 5px !important;\r\n line-height: 10px;\r\n padding-right: 10px;\r\n}\r\n.legend div:first-of-type {\r\n background-color: transparent !important;\r\n}\r\n.flot-tick-label {\r\n color: #ffffff !important;\r\n}\r\n/* Chartist chart */\r\n.ct-golden-section:before {\r\n float: none;\r\n}\r\n.ct-grid {\r\n stroke: rgba(255, 255, 255, 0.1);\r\n}\r\n.ct-chart {\r\n max-height: 300px;\r\n}\r\n.ct-chart .ct-label {\r\n fill: #a3afb7;\r\n color: #a3afb7;\r\n font-size: 12px;\r\n line-height: 1;\r\n}\r\n.ct-chart.simple-pie-chart-chartist .ct-label {\r\n color: #ffffff;\r\n fill: #ffffff;\r\n font-size: 16px;\r\n}\r\n.ct-chart .ct-series.ct-series-a .ct-bar,\r\n.ct-chart .ct-series.ct-series-a .ct-line,\r\n.ct-chart .ct-series.ct-series-a .ct-point,\r\n.ct-chart .ct-series.ct-series-a .ct-slice-donut {\r\n stroke: #3bafda;\r\n}\r\n.ct-chart .ct-series.ct-series-b .ct-bar,\r\n.ct-chart .ct-series.ct-series-b .ct-line,\r\n.ct-chart .ct-series.ct-series-b .ct-point,\r\n.ct-chart .ct-series.ct-series-b .ct-slice-donut {\r\n stroke: #f76397;\r\n}\r\n.ct-chart .ct-series.ct-series-c .ct-bar,\r\n.ct-chart .ct-series.ct-series-c .ct-line,\r\n.ct-chart .ct-series.ct-series-c .ct-point,\r\n.ct-chart .ct-series.ct-series-c .ct-slice-donut {\r\n stroke: #00b19d;\r\n}\r\n.ct-chart .ct-series.ct-series-d .ct-bar,\r\n.ct-chart .ct-series.ct-series-d .ct-line,\r\n.ct-chart .ct-series.ct-series-d .ct-point,\r\n.ct-chart .ct-series.ct-series-d .ct-slice-donut {\r\n stroke: #3ddcf7;\r\n}\r\n.ct-chart .ct-series.ct-series-e .ct-bar,\r\n.ct-chart .ct-series.ct-series-e .ct-line,\r\n.ct-chart .ct-series.ct-series-e .ct-point,\r\n.ct-chart .ct-series.ct-series-e .ct-slice-donut {\r\n stroke: #797979;\r\n}\r\n.ct-chart .ct-series.ct-series-f .ct-bar,\r\n.ct-chart .ct-series.ct-series-f .ct-line,\r\n.ct-chart .ct-series.ct-series-f .ct-point,\r\n.ct-chart .ct-series.ct-series-f .ct-slice-donut {\r\n stroke: #7266ba;\r\n}\r\n.ct-chart .ct-series.ct-series-g .ct-bar,\r\n.ct-chart .ct-series.ct-series-g .ct-line,\r\n.ct-chart .ct-series.ct-series-g .ct-point,\r\n.ct-chart .ct-series.ct-series-g .ct-slice-donut {\r\n stroke: #ffaa00;\r\n}\r\n.ct-series-a .ct-area,\r\n.ct-series-a .ct-slice-pie {\r\n fill: #3bafda;\r\n}\r\n.ct-series-b .ct-area,\r\n.ct-series-b .ct-slice-pie {\r\n fill: #f76397;\r\n}\r\n.ct-series-c .ct-area,\r\n.ct-series-c .ct-slice-pie {\r\n fill: #00b19d;\r\n}\r\n.ct-series-d .ct-area,\r\n.ct-series-d .ct-slice-pie {\r\n fill: #3ddcf7;\r\n}\r\n/* Sparkline chart */\r\n.jqstooltip {\r\n background-color: #36404a !important;\r\n padding: 5px 10px !important;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n border-color: #36404a !important;\r\n}\r\n.jqsfield {\r\n font-size: 12px !important;\r\n line-height: 18px !important;\r\n}\r\n/* Circliful charts */\r\n.circliful-chart {\r\n margin: 0px auto;\r\n}\r\n.circle-text,\r\n.circle-info,\r\n.circle-text-half,\r\n.circle-info-half {\r\n font-size: 12px;\r\n font-weight: 600;\r\n}\r\n/* Nvd3 Chart */\r\n.nvd3 text {\r\n fill: #98a6ad;\r\n}\r\n.nvd3 .nv-axis line,\r\n.nvd3 .nv-axis path {\r\n stroke: #2c333b;\r\n}\r\n.nvd3 .nv-discretebar .nv-groups text,\r\n.nvd3 .nv-multibarHorizontal .nv-groups text {\r\n fill: rgba(255, 255, 255, 0.8);\r\n}\r\n.multi-chart .nv-legend-symbol {\r\n fill: #ffffff !important;\r\n fill-opacity: 0;\r\n stroke: #ffffff !important;\r\n}\r\n/* ===========\r\n Count Down\r\n =============*/\r\n.home-wrapper {\r\n margin: 10% 0px;\r\n}\r\n.app-countdown {\r\n margin-top: 40px;\r\n text-align: center;\r\n}\r\n.app-countdown div {\r\n display: inline-block;\r\n}\r\n.app-countdown div span {\r\n display: block;\r\n width: 150px;\r\n}\r\n.app-countdown div span:first-child {\r\n font-size: 3em;\r\n font-weight: 700;\r\n height: 48px;\r\n line-height: 48px;\r\n}\r\n.app-countdown div span:last-child {\r\n color: #333333;\r\n font-size: 0.9em;\r\n height: 25px;\r\n line-height: 25px;\r\n}\r\n.app-countdown > * {\r\n text-align: center;\r\n}\r\n/* ===========\r\n Gallery\r\n =============*/\r\n.portfolioFilter a {\r\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -moz-transition: all 0.3s ease-out;\r\n -ms-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -webkit-transition: all 0.3s ease-out;\r\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n color: #98a6ad;\r\n padding: 5px 10px;\r\n display: inline-block;\r\n transition: all 0.3s ease-out;\r\n}\r\n.portfolioFilter a:hover {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.portfolioFilter a.current {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.thumb {\r\n background-color: #272e35;\r\n border-radius: 3px;\r\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n margin-top: 30px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n width: 100%;\r\n}\r\n.thumb-img {\r\n border-radius: 2px;\r\n overflow: hidden;\r\n width: 100%;\r\n}\r\n.gal-detail h4 {\r\n margin: 16px auto 10px auto;\r\n width: 80%;\r\n white-space: nowrap;\r\n display: block;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.gal-detail .ga-border {\r\n height: 3px;\r\n width: 40px;\r\n background-color: #3bafda;\r\n margin: 10px auto;\r\n}\r\n/* ===========\r\n Maintenance\r\n =============*/\r\n.icon-main {\r\n font-size: 60px;\r\n}\r\n.maintenance-page {\r\n margin: 10% 0%;\r\n}\r\n.home-text {\r\n letter-spacing: 1px;\r\n}\r\n/* ===========\r\n Accounts\r\n =============*/\r\n.wrapper-page {\r\n margin: 7.5% auto;\r\n width: 360px;\r\n}\r\n.wrapper-page .form-control {\r\n height: 40px;\r\n padding-left: 40px;\r\n}\r\n.wrapper-page .form-control-feedback {\r\n left: 15px;\r\n top: 3px;\r\n color: rgba(255, 255, 255, 0.4);\r\n font-size: 20px;\r\n}\r\n.wrapper-page .btn-email {\r\n padding: 9px 20px;\r\n}\r\n.logo-lg {\r\n font-size: 28px !important;\r\n color: #ffffff !important;\r\n}\r\n.user-thumb img {\r\n height: 88px;\r\n margin: 0px auto;\r\n width: 88px;\r\n}\r\n.ex-page-content .svg-box {\r\n float: right;\r\n}\r\n.message-box {\r\n margin-top: 120px;\r\n margin-left: 50px;\r\n font-weight: 300;\r\n}\r\n.message-box h1 {\r\n color: #ffffff;\r\n font-size: 98px;\r\n font-weight: 700;\r\n line-height: 98px;\r\n text-shadow: rgba(255, 255, 255, 0.3) 1px 1px, rgba(255, 255, 255, 0.2) 2px 2px, rgba(255, 255, 255, 0.3) 3px 3px;\r\n}\r\n#Polygon-1,\r\n#Polygon-2,\r\n#Polygon-3,\r\n#Polygon-4,\r\n#Polygon-4,\r\n#Polygon-5 {\r\n animation: float 1s infinite ease-in-out alternate;\r\n}\r\n#Polygon-2 {\r\n animation-delay: .2s;\r\n}\r\n#Polygon-3 {\r\n animation-delay: .4s;\r\n}\r\n#Polygon-4 {\r\n animation-delay: .6s;\r\n}\r\n#Polygon-5 {\r\n animation-delay: .8s;\r\n}\r\n@keyframes float {\r\n 100% {\r\n transform: translateY(20px);\r\n }\r\n}\r\n/* =============\r\n Tree view page\r\n============= */\r\n.jstree-default .jstree-clicked,\r\n.jstree-default .jstree-wholerow-clicked {\r\n background: rgba(59, 175, 218, 0.4);\r\n box-shadow: none;\r\n}\r\n.jstree-default .jstree-hovered,\r\n.jstree-default .jstree-wholerow-hovered {\r\n background: rgba(59, 175, 218, 0.2);\r\n box-shadow: none;\r\n}\r\n.jstree-default .zmdi {\r\n font-size: 16px;\r\n}\r\n/* =============\r\n Pricing\r\n============= */\r\n.pricing-column {\r\n position: relative;\r\n margin-bottom: 40px;\r\n}\r\n.pricing-column .inner-box {\r\n position: relative;\r\n padding: 0 0 50px;\r\n}\r\n.pricing-column .plan-header {\r\n position: relative;\r\n padding: 30px 20px 25px;\r\n}\r\n.pricing-column .plan-title {\r\n font-size: 16px;\r\n margin-bottom: 10px;\r\n color: #00b19d;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n font-weight: 400;\r\n}\r\n.pricing-column .plan-price {\r\n font-size: 48px;\r\n margin-bottom: 10px;\r\n color: #ffffff;\r\n}\r\n.pricing-column .plan-duration {\r\n font-size: 13px;\r\n color: #98a6ad;\r\n}\r\n.pricing-column .plan-stats {\r\n position: relative;\r\n padding: 30px 20px 15px;\r\n}\r\n.pricing-column .plan-stats li {\r\n margin-bottom: 15px;\r\n line-height: 24px;\r\n}\r\n.pricing-column .plan-stats li i {\r\n font-size: 16px;\r\n vertical-align: middle;\r\n margin-right: 5px;\r\n}\r\n.ribbon {\r\n position: absolute;\r\n left: 5px;\r\n top: -5px;\r\n z-index: 1;\r\n overflow: hidden;\r\n width: 75px;\r\n height: 75px;\r\n text-align: right;\r\n}\r\n.ribbon span {\r\n font-size: 10px;\r\n font-weight: bold;\r\n color: #ffffff;\r\n text-transform: uppercase;\r\n text-align: center;\r\n line-height: 20px;\r\n transform: rotate(-45deg);\r\n -webkit-transform: rotate(-45deg);\r\n width: 100px;\r\n display: block;\r\n box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);\r\n background: #00b19d;\r\n background: linear-gradient(#00b19d 0%, #00b19d 100%);\r\n position: absolute;\r\n top: 19px;\r\n letter-spacing: 1px;\r\n left: -21px;\r\n}\r\n.ribbon span:before {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n top: 100%;\r\n z-index: -1;\r\n border-left: 3px solid #007e70;\r\n border-right: 3px solid transparent;\r\n border-bottom: 3px solid transparent;\r\n border-top: 3px solid #007e70;\r\n}\r\n.ribbon span:after {\r\n content: \"\";\r\n position: absolute;\r\n right: 0;\r\n top: 100%;\r\n z-index: -1;\r\n border-left: 3px solid transparent;\r\n border-right: 3px solid #007e70;\r\n border-bottom: 3px solid transparent;\r\n border-top: 3px solid #007e70;\r\n}\r\n/* =============\r\n FAQ\r\n============= */\r\n.question-q-box {\r\n height: 30px;\r\n width: 30px;\r\n color: #ffffff;\r\n background-color: #ef5350;\r\n text-align: center;\r\n border-radius: 50%;\r\n float: left;\r\n line-height: 30px;\r\n font-weight: 700;\r\n}\r\n.question {\r\n margin-top: 0;\r\n margin-left: 50px;\r\n font-weight: 400;\r\n font-size: 16px;\r\n}\r\n.answer {\r\n margin-left: 50px;\r\n color: #98a6ad;\r\n margin-bottom: 40px;\r\n line-height: 26px;\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Responsive\r\n*/\r\n@media only screen and (max-width: 6000px) and (min-width: 700px) {\r\n .wrapper.right-bar-enabled .right-bar {\r\n right: 0;\r\n z-index: 99;\r\n }\r\n}\r\n@media (min-width: 768px) and (max-width: 991px) {\r\n body {\r\n overflow-x: hidden;\r\n }\r\n}\r\n@media (max-width: 767px) {\r\n body {\r\n overflow-x: hidden;\r\n }\r\n .mobile-sidebar {\r\n left: 0px;\r\n }\r\n .mobile-content {\r\n left: 250px;\r\n right: -250px;\r\n }\r\n .wrapper-page {\r\n width: 90%;\r\n }\r\n .navbar-nav .open .dropdown-menu {\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n left: auto;\r\n position: absolute;\r\n right: 0;\r\n }\r\n .todo-send {\r\n margin-top: 10px;\r\n padding-left: 15px;\r\n }\r\n .chat-inputbar {\r\n padding-left: 15px;\r\n }\r\n .chat-send {\r\n margin-top: 10px;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n }\r\n .fixedHeader-floating {\r\n top: 60px !important;\r\n }\r\n div#datatable-buttons_info {\r\n float: none;\r\n }\r\n}\r\n@media (max-width: 480px) {\r\n .side-menu {\r\n z-index: 10 !important;\r\n }\r\n .button-menu-mobile {\r\n display: block;\r\n }\r\n .search-bar {\r\n display: none !important;\r\n }\r\n}\r\n@media (max-width: 420px) {\r\n .hide-phone {\r\n display: none !important;\r\n }\r\n}\r\n/* Container-alt */\r\n@media (min-width: 768px) {\r\n .container-alt {\r\n width: 750px;\r\n }\r\n}\r\n@media (min-width: 992px) {\r\n .container-alt {\r\n width: 970px;\r\n }\r\n}\r\n@media (min-width: 1200px) {\r\n .container-alt {\r\n width: 1170px;\r\n }\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["resources/services/eventService.ts","shell/routerService.ts","app.ts","environment.ts","resources/services/restService.ts","resources/services/cookieService.ts","resources/services/authService.ts","microservices/auth/authClient.ts","main.ts","shell/index.ts","shell/nav-bar.ts","shell/shell.ts","shell/top-bar.ts","resources/index.ts","main/admin/admin.ts","main/feedback/feedback.ts","main/picks/picks.ts","main/statistics/statistics.ts","microservices/auth/index.ts","microservices/auth/login.ts","microservices/picks/index.ts","microservices/picks/pickClient.ts","microservices/picks/picks-main.ts","microservices/stats/statsClient.ts","resources/valueConverters/dateFormat.ts","microservices/stats/current/current-stats.ts","microservices/stats/current/index.ts","microservices/stats/history/history-stats.ts","microservices/stats/history/index.ts","microservices/stats/majors/index.ts","microservices/stats/majors/majors-stats.ts","microservices/stats/monthly/index.ts","microservices/stats/monthly/monthly-stats.ts","microservices/stats/playoffs/index.ts","microservices/stats/playoffs/playoff-stats.ts","microservices/stats/season/index.ts","microservices/stats/season/season-stats.ts","shell/top-bar.css","resources/styles/datatablestyles.css","resources/styles/iconfonts.css","microservices/stats/current/current-stats-styles.css","microservices/stats/season/season-stats-styles.css","resources/styles/minton/css/components.css","resources/styles/minton/css/core.css","C:/projects/golfpoolnew/web-main/src/resources/styles/minton/css/elements.css","resources/styles/minton/css/icons.css","resources/styles/minton/css/menu.css","resources/styles/minton/css/pages.css","resources/styles/minton/css/responsive.css","resources/styles/minton/css/variables.css"],"names":[],"mappings":";;;;;;;;;;;IAIA,IAAa,YAAY;QACvB,sBAAY,eAAgC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAC1C,CAAC;QAID,8BAAO,GAAP,UAAQ,SAAoB,EAAE,IAAgB;YAAhB,qBAAA,EAAA,WAAgB;YAC5C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,gCAAS,GAAT,UAAU,SAAoB,EAAE,QAAwB;YACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACtD,CAAC;QACH,mBAAC;IAAD,CAdA,AAcC,IAAA;IAdY,YAAY;QADxB,yCAAU,EAAE;yCAEkB,0CAAe;OADjC,YAAY,CAcxB;IAdY,oCAAY;;;;;;;;;;;;;;ICGzB,IAAa,aAAa;QAMxB,uBAAY,MAAc,EAAE,eAAgC,EAAE,YAA0B;YAAxF,iBAcC;YAlBO,iBAAY,GAAW,YAAY,CAAC;YAK1C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,4BAA4B,EAAE,UAAA,IAAI;gBAC/D,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC;oBACrC,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBACnC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnD,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC;QAEM,iCAAS,GAAhB,UAAiB,MAA2B;YAE1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,GAAG,SAAS;gBACtB,MAAM,CAAC,GAAG,CAAC;oBACT,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,8BAA8B,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE;oBACzF,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC/E,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE;oBAChF,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC/E,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE;iBAC5F,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC;QAClB,CAAC;QAED,sCAAc,GAAd,UAAe,KAAK;YAClB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,CAAU,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAd,IAAI,CAAC,cAAA;gBACR,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAChB,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBACb,UAAU,GAAG,IAAI,CAAC;wBAClB,QAAQ,CAAC;oBACX,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;aACrB;YACD,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QACH,oBAAC;IAAD,CArDA,AAqDC,IAAA;IArDY,aAAa;QADzB,0BAAM,CAAC,uBAAM,EAAE,0CAAe,EAAE,2BAAY,CAAC;yCAOxB,uBAAM,EAAmB,0CAAe,EAAgB,2BAAY;OAN7E,aAAa,CAqDzB;IArDY,sCAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICD1B,IAAa,GAAG;QACd,aAAY,YAA0B,EAAE,MAAc,EAAE,aAA4B;YAClF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG;gBACV;oBACE,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;iBACV;gBACD;oBACE,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX;aACF,CAAA;QACH,CAAC;QAOK,sBAAQ,GAAd;;;;gCACE,qBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAA;;4BAAzD,SAAyD,CAAC;;;;;SAAG;QACjE,UAAC;IAAD,CAxBA,AAwBC,IAAA;IAxBY,GAAG;QADf,qCAAM,CAAC,2BAAY,EAAE,uBAAM,EAAE,6BAAa,CAAC;yCAEhB,2BAAY,EAAU,uBAAM,EAAiB,6BAAa;OADzE,GAAG,CAwBf;IAxBY,kBAAG;;;;;;ICNhB,kBAAe;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;KACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICCF,IAAa,WAAW;QACtB,qBAAY,IAAgB;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAIY,0BAAI,GAAjB,UAAkB,GAAW,EAAE,KAAoB,EAAE,OAAoB,EAAE,IAAiB;YAA7D,sBAAA,EAAA,YAAoB;YAAE,wBAAA,EAAA,YAAoB;YAAE,qBAAA,EAAA,SAAiB;;oBACtF,QAAQ,YAYR,OAAO;;;;uCAZI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC;4BAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACzB,EAAE,CAAA,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC;gCACX,OAAO,GAAG,EAAE,CAAA;4BACd,CAAC;4BACD,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;4BAC7C,qBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oCAC7C,MAAM,EAAE,MAAM;oCACd,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE;oCAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;iCAClE,CAAC,EAAA;;uCAJa,SAIb;4BACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;sCACZ,EAAE;;;;4BAEJ,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BAA/B,OAAO,GAAG,SAAqB,CAAC;;;;4BAEhC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,GAAG,CAAC,KAAG,CAAC,CAAC;;gCAEnB,sBAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAG,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAC;;;;SAC7J;QAGO,iCAAW,GAAnB,UAAoB,GAAW,EAAE,KAAa;YAC5C,MAAM,CAAC,CAAC,KAAK,GAAG,GAAG,GAAM,GAAG,SAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAG,CAAA;QACzD,CAAC;QAEO,+BAAS,GAAjB,UAAkB,GAAW;YAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBAChB,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAEO,uCAAiB,GAAzB;QACA,CAAC;QAEO,wCAAkB,GAA1B;QACA,CAAC;QAEH,kBAAC;IAAD,CAlDA,AAkDC,IAAA;IAlDY,WAAW;QADvB,yCAAU,EAAE;yCAEO,iCAAU;OADjB,WAAW,CAkDvB;IAlDY,kCAAW;IAoDxB;QACE,kBAAY,MAAc,EAAE,UAAkB,EAAE,IAAmB;YAAnB,qBAAA,EAAA,WAAmB;YACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,GAAG,CAAC;QAC/B,CAAC;QAMH,eAAC;IAAD,CAZA,AAYC,IAAA;IAZY,4BAAQ;;;;;ICvDrB;QAEI;QAEA,CAAC;QAED,iCAAS,GAAT,UAAU,KAAa,EAAE,MAAc,EAAE,MAAc;YACnD,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACnB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,SAAS,CAAC;QACvE,CAAC;QAED,iCAAS,GAAT,UAAU,KAAa;YACnB,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;YACvB,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;oBACxB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACL,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YACD,MAAM,CAAC,EAAE,CAAC;QACd,CAAC;QAED,oCAAY,GAAZ,UAAa,KAAa;YACtB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACvB,CAAC;QACL,oBAAC;IAAD,CAhCA,AAgCC,IAAA;IAhCY,sCAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICG1B,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAG9C,IAAa,WAAW;QACtB,qBAAY,EAAiB,EAAE,EAAgB;YAO/C,yBAAoB,GAA4C,IAAI,CAAC;YANnE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;QAMD,2BAAK,GAAL,UAAM,KAAe;YACnB,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,gCAAU,GAAV;YACE,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,mBAAiB,UAAY,CAAC,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC;QACpB,CAAC;QAED,iCAAW,GAAX;YACE,EAAE,CAAA,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;gBACpB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,4BAAM,GAAN;YACE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,6CAAuB,GAAvB,UAAwB,oBAA6D;YACnF,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC5C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACnD,CAAC;QAEK,+CAAyB,GAA/B;;oBAKM,SAAS;;;;4BAJb,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gCACvB,MAAM,gBAAC;4BACT,CAAC;4BACD,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wCAC5B,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS;4BAC9B,qBAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAA;;sCAA1C,SAA0C;4BACxD,GAAG,CAAC,KAAK,CAAC,0BAAwB,OAAS,CAAC,CAAC;4BAC7C,EAAE,CAAA,CAAC,OAAO,CAAC,CAAA,CAAC;gCACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;4BAC7C,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;4BACxC,CAAC;4BACD,sBAAO,OAAO,EAAC;;;;SAChB;QACH,kBAAC;IAAD,CA1DA,AA0DC,IAAA;IA1DY,WAAW;QADvB,qCAAM,CAAC,6BAAa,EAAE,2BAAY,CAAC;yCAElB,6BAAa,EAAM,2BAAY;OADpC,WAAW,CA0DvB;IA1DY,kCAAW;IA4DxB;QACE,kBAAY,KAAa,EAAE,SAAiB,EAAE,MAAc,EAAE,IAAY;YACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAMH,eAAC;IAAD,CAZA,AAYC,IAAA;IAZY,4BAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC/DrB,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAG7C,IAAa,UAAU;QACrB,oBAAY,WAAwB,EAAE,WAAwB;YAA9D,iBAOC;YAEgB,eAAU,GAAW,8CAA8C,CAAA;YARlF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,UAAM,SAAS;;;;gCACzC,qBAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAA;;qCAAxC,SAAwC;4BACrD,sBAAO,MAAM,EAAC;;;iBACf,CAAC,CAAC;QACL,CAAC;QAMK,0BAAK,GAAX,UAAY,MAAM,EAAE,QAAQ;;8BAOpB,IAAI;;;gCANK,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,eAAY,EAAE;gCACzE,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,QAAQ;6BACnB,CAAC,EAAA;;uCAHa,SAGb;4BAEF,EAAE,CAAA,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAC;uCACT,QAAQ,CAAC,IAAI;gCACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,sBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BACvG,CAAC;4BAED,sBAAO,CAAC,QAAQ,CAAC,OAAO,EAAA;;;;SACzB;QAEK,8BAAS,GAAf,UAAgB,IAAI,EAAE,SAAS;;;;;gCACd,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,sBAAmB,EAAE;gCAChF,IAAI,EAAE,IAAI;gCACV,SAAS,EAAE,SAAS;6BACrB,CAAC,EAAA;;uCAHa,SAGb;4BACF,sBAAO,CAAC,QAAQ,CAAC,OAAO,EAAC;;;;SAC1B;QACH,iBAAC;IAAD,CAnCA,AAmCC,IAAA;IAnCY,UAAU;QADtB,qCAAM,CAAC,yBAAW,EAAE,yBAAW,CAAC;yCAEN,yBAAW,EAAe,yBAAW;OADnD,UAAU,CAmCtB;IAnCY,gCAAU;;;;;ICMjB,OAAQ,CAAC,MAAM,CAAC;QACpB,eAAe,EAAE,qBAAW,CAAC,KAAK;QAClC,QAAQ,EAAE;YACR,gBAAgB,EAAE,KAAK;SACxB;KACF,CAAC,CAAC;IAEH,mBAA0B,OAAgB;QACxC,OAAO,CAAC,GAAG;aACR,qBAAqB,EAAE;aACvB,OAAO,CAAC,WAAW,CAAC;aACpB,OAAO,CAAC,oBAAoB,CAAC;aAC7B,OAAO,CAAC,OAAO,CAAC;aAChB,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,4BAA4B,CAAC;aACrC,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,8BAA8B,CAAC;aACvC,OAAO,CAAC,4BAA4B,CAAC;aACrC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAElC,EAAE,CAAC,CAAC,qBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACtB,8BAAU,CAAC,WAAW,CAAC,IAAI,yCAAe,EAAE,CAAC,CAAC;YAC9C,8BAAU,CAAC,QAAQ,CAAC,8BAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,EAAE,CAAC,CAAC,qBAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxC,CAAC;QAGD,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAe,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,iCAAU,CAAC,CAAA;QAClD,UAAU,CAAC,SAAS,CAAC,UAAA,MAAM;YACzB,MAAM;iBACH,YAAY,CAAC;gBACZ,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,kBAAkB,EAAE,OAAO;iBAC5B;aACF,CAAC;iBACD,eAAe,CAAC;gBACf,OAAO,YAAC,OAAO;oBAEb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtB,MAAM,CAAC,OAAO,CAAC;gBACjB,CAAC;gBACD,QAAQ,YAAC,QAAQ;oBAEf,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACvB,MAAM,CAAC,QAAQ,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAU,CAAC,CAAC;QAEnD,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,EAAjB,CAAiB,CAAC,CAAC;IAChD,CAAC;IAtDD,8BAsDC;;;;;ICxED,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICDD,IAAa,mBAAmB;QAC9B,6BAAY,EAAgB,EAAE,EAAe;YAA7C,iBAeC;YAEO,iBAAY,GAAW,YAAY,CAAC;YAhB1C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAC,IAAI;gBACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE;;oBAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;;;iBACrB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE;;oBACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;;;iBACtB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAMH,0BAAC;IAAD,CAtBA,AAsBC,IAAA;IAtBY,mBAAmB;QAD/B,0BAAM,CAAC,2BAAY,EAAE,yBAAW,CAAC;yCAEhB,2BAAY,EAAM,yBAAW;OADlC,mBAAmB,CAsB/B;IAtBY,kDAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICEhC,IAAa,kBAAkB;QAC7B,4BAAY,EAAgB,EAAE,EAAe,EAAE,EAAiB,EAAE,CAAS;YAA3E,iBAgBC;YAGO,iBAAY,GAAW,YAAY,CAAC;YAlB1C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAC,IAAI;gBACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;gBACnC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEhD,CAAC;QASK,qCAAQ,GAAd;;;;gCACE,qBAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAA;;4BAAlD,SAAkD,CAAC;;;;;SACpD;QAEH,yBAAC;IAAD,CA9BA,AA8BC,IAAA;IA9BY,kBAAkB;QAD9B,qCAAM,CAAC,2BAAY,EAAE,yBAAW,EAAE,6BAAa,EAAE,uBAAM,CAAC;yCAEvC,2BAAY,EAAM,yBAAW,EAAM,6BAAa,EAAK,uBAAM;OADhE,kBAAkB,CA8B9B;IA9BY,gDAAkB;;;;;;;;;;;;;;ICD/B,IAAa,mBAAmB;QAK9B,6BAAY,WAAW,EAAE,YAAY;YAArC,iBAaC;YAjBO,UAAK,GAAW,cAAc,CAAC;YAC/B,iBAAY,GAAW,YAAY,CAAC;YACpC,aAAQ,GAAY,KAAK,CAAC;YAGhC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAC,IAAI;gBACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;gBACnC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAChD,CAAC;QAKD,oCAAM,GAAN;YACE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QAEH,0BAAC;IAAD,CA3BA,AA2BC,IAAA;IA3BY,mBAAmB;QAD/B,0BAAM,CAAC,yBAAW,EAAE,2BAAY,CAAC;;OACrB,mBAAmB,CA2B/B;IA3BY,kDAAmB;;;;;ICJhC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,6BAA6B;YAC7B,gCAAgC;YAChC,sCAAsC;YACtC,4CAA4C;YAC5C,sCAAsC;YACtC,0CAA0C;YAC1C,uCAAuC;YACvC,sCAAsC;YACtC,uCAAuC;YACvC,4CAA4C;YAC5C,2CAA2C;YAC3C,sCAAsC;SACvC,CAAC,CAAC;IACL,CAAC;IAfD,8BAeC;;;;;IChBD;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK;;;;;ICAlB;QAAA;QAEA,CAAC;QAAD,eAAC;IAAD,CAFA,AAEC,IAAA;IAFY,4BAAQ;;;;;ICArB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK;;;;;ICAlB;QAAA;YACE,YAAO,GAAG,YAAY,CAAC;QACzB,CAAC;QAAD,iBAAC;IAAD,CAFA,AAEC,IAAA;IAFY,gCAAU;;;;;ICCvB,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAa,kBAAkB;QAC7B,4BAAY,EAAc;YAO1B,iBAAY,GAAW,EAAE,CAAC;YANxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;QAOK,kCAAK,GAAX;;;;;;4BACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC;gCACjC,MAAM,gBAAC;4BACT,CAAC;4BACc,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAA;;uCAAvD,SAAuD;4BACtE,EAAE,CAAA,CAAC,CAAC,QAAQ,CAAC,CAAA,CAAC;gCACZ,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;4BACrC,CAAC;;;;;SACF;QACH,yBAAC;IAAD,CApBA,AAoBC,IAAA;IApBY,kBAAkB;QAD9B,qCAAM,CAAC,uBAAU,CAAC;yCAED,uBAAU;OADf,kBAAkB,CAoB9B;IApBY,gDAAkB;;;;;ICF/B,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAG7C,IAAa,UAAU;QACrB,oBAAY,WAAwB,EAAE,WAAwB;YAK7C,eAAU,GAAW,+CAA+C,CAAA;YAJnF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;QAMK,uCAAkB,GAAxB;;;;;gCACiB,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,oBAAiB,EAAE,IAAI,EAAE;gCAClF,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAFW,SAEX;4BACJ,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEK,sCAAiB,GAAvB,UAAwB,eAAuB;;;;;gCAC9B,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,kBAAe,EAAE;gCAC5E,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM;6BACpF,EAAE;gCACC,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJW,SAIX;4BACJ,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEK,+BAAU,GAAhB,UAAiB,QAAgB,EAAE,UAAkB;;;;;gCACpC,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,oBAAiB,EAAE;gCAC9E,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;6BAC7D,EAAE;gCACC,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJW,SAIX;4BACJ,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QACH,iBAAC;IAAD,CAlCA,AAkCC,IAAA;IAlCY,UAAU;QADtB,qCAAM,CAAC,yBAAW,EAAE,yBAAW,CAAC;yCAEN,yBAAW,EAAe,yBAAW;OADnD,UAAU,CAkCtB;IAlCY,gCAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICHvB,IAAa,sBAAsB;QACjC,gCAAY,EAAc;YASlB,eAAU,GAAY,KAAK,CAAC;YARlC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;QASK,yCAAQ,GAAd;;;;;gCACa,qBAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAA;;mCAA1C,SAA0C;4BACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;4BACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;4BACtB,qBAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAA;;uCAAzE,SAAyE;4BACxF,EAAE,CAAA,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;gCACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;4BACrB,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;4BACvB,CAAC;;;;;SACF;QAEK,2CAAU,GAAhB;;;;;;4BACE,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,CAAC;gCACvB,MAAM,gBAAC;4BACT,CAAC;4BACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACR,qBAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAS,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAU,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAA;;uCAA9H,SAA8H;4BAC7I,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACP,qBAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAA;;uCAAzE,SAAyE;4BACxF,EAAE,CAAA,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;gCACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;4BACrB,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;4BACvB,CAAC;4BACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;;;;;SACzB;QACH,6BAAC;IAAD,CAxCA,AAwCC,IAAA;IAxCY,sBAAsB;QADlC,0BAAM,CAAC,uBAAU,CAAC;yCAED,uBAAU;OADf,sBAAsB,CAwClC;IAxCY,wDAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICAnC,IAAI,GAAG,GAAG,8BAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAG9C,IAAa,WAAW;QACtB,qBAAY,WAAwB,EAAE,WAAwB;YAK7C,eAAU,GAAW,+CAA+C,CAAA;YAJnF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;QAMK,wCAAkB,GAAxB,UACE,MAA0B,EAC1B,IAAyB,EACzB,GAAuB,EACvB,KAAkB;YAHlB,uBAAA,EAAA,kBAA0B;YAC1B,qBAAA,EAAA,iBAAyB;YACzB,oBAAA,EAAA,eAAuB;YACvB,sBAAA,EAAA,UAAkB;;;;;gCACH,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,uBAAoB,EAAE;gCACjF,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,KAAK,OAAA;6BACzB,EAAE;gCACD,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJa,SAIb;4BACF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEK,oCAAc,GAApB,UACE,MAA0B,EAC1B,IAAyB;YADzB,uBAAA,EAAA,kBAA0B;YAC1B,qBAAA,EAAA,iBAAyB;;;;;gCACR,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,mBAAgB,EAAE;gCAC7E,MAAM,QAAA,EAAE,IAAI,MAAA;6BACb,EAAE;gCACD,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJa,SAIb;4BACF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QAEG,qCAAe,GAArB,UACE,MAA0B,EAC1B,IAAyB,EACzB,GAAoB;YAFpB,uBAAA,EAAA,kBAA0B;YAC1B,qBAAA,EAAA,iBAAyB;YACzB,oBAAA,EAAA,YAAoB;;;;;gCACH,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,oBAAiB,EAAE;gCAC9E,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA;6BAClB,EAAE;gCACD,aAAa,EAAE,YAAU,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAW;6BACpE,CAAC,EAAA;;uCAJa,SAIb;4BACF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;;SACtB;QACL,kBAAC;IAAD,CA7CA,AA6CC,IAAA;IA7CY,WAAW;QADvB,qCAAM,CAAC,yBAAW,EAAE,yBAAW,CAAC;yCAEN,yBAAW,EAAe,yBAAW;OADnD,WAAW,CA6CvB;IA7CY,kCAAW;;;;;ICNxB;QAAA;QAYA,CAAC;QAXG,yCAAM,GAAN,UAAO,KAAK;YACR,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,MAAM,CAAI,IAAI,SAAI,KAAK,SAAI,GAAK,CAAC;QACrC,CAAC;QAED,4CAAS,GAAT,UAAU,MAAM;YACZ,MAAM,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACL,+BAAC;IAAD,CAZA,AAYC,IAAA;IAZY,4DAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICGrC,IAAa,yBAAyB;QACpC,mCAAY,EAAe;YAKnB,eAAU,GAAW,IAAI,CAAC;YAC1B,WAAM,GAAW,EAAE,CAAC;YACpB,YAAO,GAAe,EAAE,CAAC;YACzB,YAAO,GAAe,EAAE,CAAC;YAP/B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAWK,4CAAQ,GAAd;;;;;gCACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;4BAApB,SAAoB,CAAC;4BACrB,MAAM,CAAC,UAAU,CAAC;gCACV,CAAC,CAAC,eAAe,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gCACvD,CAAC,CAAC,eAAe,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gCACvD,CAAC,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACtD,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;SAEV;QAEK,2CAAO,GAAb;;wBAKM,MAAM;;;;4BAJV,KAAA,IAAI,CAAA;4BAAc,qBAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAA;;4BAA7D,GAAK,UAAU,GAAG,SAA2C,CAAC;4BAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BACxC,IAAI,CAAC,OAAO,GAAe,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;4BACtD,IAAI,CAAC,OAAO,GAAe,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;qCACzC,EAAE;4BACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gCACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BAC7B,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;;;;SAC/C;QAED,oDAAgB,GAAhB;YACE,MAAM,CAAC;gBACL,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACnB;gBACD,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,oDAAgB,GAAhB;YACE,MAAM,CAAC;gBACL,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;iBAChB;gBACD,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QACH,gCAAC;IAAD,CAjEA,AAiEC,IAAA;IAjEY,yBAAyB;QADrC,0BAAM,CAAC,yBAAW,CAAC;yCAEF,yBAAW;OADhB,yBAAyB,CAiErC;IAjEY,8DAAyB;;;;;ICFtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICLD;QAAA;QAEA,CAAC;QAAD,gCAAC;IAAD,CAFA,AAEC,IAAA;IAFY,8DAAyB;;;;;ICCtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICJD,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICLD;QAAA;QAEA,CAAC;QAAD,+BAAC;IAAD,CAFA,AAEC,IAAA;IAFY,4DAAwB;;;;;ICCrC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAa,yBAAyB;QACpC,mCAAY,EAAe;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAOK,4CAAQ,GAAd;;;;;gCACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;4BAApB,SAAoB,CAAC;4BACrB,MAAM,CAAC,UAAU,CAAC;gCACV,CAAC,CAAC,aAAa,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gCACnD,CAAC,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACtD,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;SACV;QAEK,2CAAO,GAAb;;0BAKU,CAAC;;;gCAJE,qBAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAA;;mCAAxC,SAAwC;4BACnD,IAAI,CAAC,OAAO,GAAkB,IAAI,CAAC;4BACnC,IAAI,CAAC,YAAY,GAAmB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,MAAM,CAAC;4BACtE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BACrB,GAAG,CAAA,CAAC,IAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,CAAC;gCACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACjD,CAAC;;;;;SACF;QAED,gDAAY,GAAZ,UAAa,KAAa;YACxB,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,KAAG,KAAO,GAAG,MAAI,KAAO,CAAC;YACpD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAI,QAAQ,aAAU,CAAC,CAAC;YAC3C,IAAI,MAAM,GAAG,OAAO,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,kDAAc,GAAd;YACE,IAAI,UAAU,GAAG;gBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;aACnB,CAAA;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,CAAC;gBACL,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,uDAAmB,GAAnB,UAAoB,KAAa;YAC/B,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;gBACzB,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;gBACtB,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;gBACtB,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;gBACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAA;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAA;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;gBACvB,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;gBAC1B,KAAK,EAAE,EAAE,MAAM,CAAC,SAAS,CAAA;gBACzB,KAAK,EAAE,EAAE,MAAM,CAAC,UAAU,CAAA;gBAC1B,KAAK,EAAE,EAAE,MAAM,CAAC,UAAU,CAAA;gBAC1B;oBACE,MAAM,CAAC,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QAEH,gCAAC;IAAD,CAvEA,AAuEC,IAAA;IAvEY,yBAAyB;QADrC,0BAAM,CAAC,yBAAW,CAAC;yCAEF,yBAAW;OADhB,yBAAyB,CAuErC;IAvEY,8DAAyB;;;;;ICFtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;ICND;QAAA;QAEA,CAAC;QAAD,gCAAC;IAAD,CAFA,AAEC,IAAA;IAFY,8DAAyB;;;;;ICEtC,mBAA0B,MAA8B;QACtD,MAAM,CAAC,eAAe,CAAC;YACrB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAJD,8BAIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,IAAa,wBAAwB;QACnC,kCAAY,EAAe;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAcK,2CAAQ,GAAd;;;;;gCACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;4BAApB,SAAoB,CAAC;4BACrB,MAAM,CAAC,UAAU,CAAC;gCACV,CAAC,CAAC,cAAc,CAAE,CAAC,SAAS,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gCACpD,CAAC,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACtD,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;SACV;QAEK,0CAAO,GAAb;;;;;gCACa,qBAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAA;;mCAAvC,SAAuC;4BAClD,IAAI,CAAC,IAAI,GAAW,IAAI,CAAC,MAAM,CAAC,CAAC;4BACjC,IAAI,CAAC,MAAM,GAAW,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACrC,IAAI,CAAC,cAAc,GAAW,IAAI,CAAC,YAAY,CAAC,CAAA;4BAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,SAAO,IAAI,CAAC,cAAgB,CAAC;4BAChI,IAAI,CAAC,OAAO,GAAkB,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;;;;;SACrB;QAED,iDAAc,GAAd;YACE,MAAM,CAAC;gBACL,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,KAAK,EAAE;iBAChB;gBACD,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,+CAAY,GAAZ;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE5C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACzB,EAAE,CAAA,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAElD,CAAC;QACH,+BAAC;IAAD,CAjGA,AAiGC,IAAA;IAjGY,wBAAwB;QADpC,0BAAM,CAAC,yBAAW,CAAC;yCAEF,yBAAW;OADhB,wBAAwB,CAiGpC;IAjGY,4DAAwB;;;ACJrC;ACAA,EDCE,0BAA0B;AED5B,CDCC,ADCA,oBCDoB;AEDrB,CFEC,CCDC,gBDCgB,yBCDyB;AED3C,CHGC,CEFC,eAAe,IFEI;AIHrB,CFEC,AFEA,CGHC,AFEA,eEFe,uDCDuD,SHGS;AGFjF,ACDA,CFEC,CFEC,mEGHmE,GCDG,ubJIub;AKJ/f,AJIA,AFEA,AIJA,ACDA,CJIC,oEIJoE,YDCY;ADEjF,ACDA,ACDA,AEFA,CPOC,CEFC,WFEW,IEFI,uDKLuD,SFES;AJKjF,AIJA,AEFA,ACDA,CNMC,AFEA,CGHC,eAAe,MHGM,8COP8C,GCDG;ADExE,ACDA,ACDA,CNMC,AHGA,CCDC,mBAAmB,gDOPgD,GCDG,SFES;ALMjF,AKLA,ACDA,ACDA,ACDA,ETSE,SAAS,0DQR0D,GCDG,SFES;ALMjF,AHGA,AQRA,ACDA,ACDA,ACDA,ETSE,ADCA,eCDe,ODCO,6CST6C,GCDG,SFES;AACjF,ACDA,ACDA,CTSC,AFEA,CGHC,AFEA,eEFe,EHGE,mCCDmC,eUVe,YDCY;AACjF,ACDA,CRQC,AHGA,CCDC,mBAAmB,4DUV4D;ATUjF,EDCE,oBAAoB;AEDtB,AHGA,ECDE,AMNA,eNMe;AMLjB,CPOC,CEFC,AMNA,WNMW,QFEQ;AQPrB,CNMC,AFEA,CGHC,AFEA,WEFW,GEFG,EHGE,GFEG,iBCDiB;AIHtC,CHGC,ACDA,AHGA,CCDC,AOPA,AEFA,gBPOgB,AHGA,KQRK,cPOc;ASRrC,CPOC,AHGA,ACDA,AOPA,EDCE;AACH,ACDA,EEFE,cNMc,ACDA;ALMhB,ACDA,AGHA,ACDA,EGHE,EEFE,SAAS,OFEO,YDCY;AAChC,CPOC,AQRA,CPOC,AIJA,EKLE,YAAY,IVUI,EKLE,YJIY;AONlC,CRQC,CCDC,AIJA,AEFA,CGHC,aNMa,OJIO,MOPM,OFEO,4CJI4C;AGFhF,CJIC,AUVA,CTSC,AIJA,AEFA,ACDA,UHGU,CGHC,0CDC0C,0bNM0b;ASRjf,CFEC,CPOC,AGHA,ACDA,AEFA,eFEe,IDCI,CHGC,8VMN8V;APQpX,AQRA,EPOE,AGHA,ACDA,AEFA,AGHA,kBNMkB,CHGC,CMNC,UFEU;CLM/B,ACDA,AGHA,ACDA,CEFC,ACDA,EEFE,cVUc,GOPG,CCDC,CEFC;ATUvB,AGHA,ACDA,CLKC,AOPA,CCDC,CEFC,aFEa,KRQK;AONrB,CPOC,AQRA,AEFA,CTSC,AIJA,mBAAmB,GJIG;AONxB,AEFA,ETSE,AGHA,ACDA,AEFA,mBFEmB,GEFG,QHGQ,gCHGgC;ADEhE,ECDE,AGHA,ACDA,AEFA,ACDA,AEFA,cDCc,ELKE,AIJA,CHGC,EJIE,2BMN2B;AEDhD,CTSC,AIJA,CHGC,AIJA,AEFA,ACDA,EEFE,OVUO,AQRA,UDCU,CFEC,CJIC,ASTA;ANOvB,CJIC,AKLA,CJIC,AMNA,ACDA,CEFC,OFEO,WRQW,EOPE,eNMe;AIHtC,CLKC,CCDC,AMNA,ACDA,AEFA,OFEO,OCDO,GTSG,kBCDkB,CMNC;AEDtC,CTSC,ACDA,CGHC,AGHA,ACDA,EEFE,UAAU,EFEE,eJIe,MGHM;CHIpC,AGHA,CCDC,ACDA,CCDC,yBDCyB,IDCI;ARShC,ACDA,AGHA,AGHA,ECDE,ACDA,ACDA,UFEU,QCDQ,0CFE0C;AAC9D,CPOC,CCDC,AONA,ACFA,ECDE,WVUW,CUVC,CDCC,UDEU,uBPMuB;CDEjD,CCDC,AGHA,AGHA,ACAA,ACFA,ECDE,cAAc,CFGC,EROE,CSTC,IFEI,IHGI,0DHG0D;CDEvF,AIJA,AIHA,CPMC,AIJA,AEFA,AEFA,CCDC,kBDCkB,CFEC,YFEY,0TJI0T;AGF5V,AIHA,EPME,AIJA,AEFA,AEFA,ACDA,oBTSoB,AQRA,CFEC,sBFEsB;ALM7C,COPC,CNMC,AIJA,AGFA,ACFA,ECDE,UDCU,CCDC,ELKE,AGFA,IPMI;AMLrB,CPOC,ACDA,AIJA,AGFA,ACFA,ECDE;ALMH,AGFA,ACFA,EFEE,AGHA,eHGe;ANOjB,CMNC,CHGC,AIHA,ACFA,ECDE,aFGa,EJGE,GKLG,QCDQ;AHI9B,CHGC,AIHA,CPMC,AQRA,ECDE,kBDCkB,0BCD0B,kCTSkC;AGFlF,AIHA,CPMC,CDCC,AOPA,AEFA,ECDE,WAAW,EHGE,EEFE,ETSE;CONpB,CPOC,AIHA,AIJA,ACFA,ECDE,aFGa,ICFI,ECDE,4BNO4B;AGHnD,CPOC,AIHA,AIJA,ACFA,GCDG,SAAS;ANQb,AIJA,ACFA,EJIE,AEFA,CGHC,cHGc,iBFEiB;CACjC,AEFA,CCAC,ACFA,ACDA,eDCe,WDEW;ARQ5B,AKLA,AEFA,CCAC,ACFA,GCDG,iBAAiB;AFIrB,ACFA,EJIE,AEFA,EGHE,aHGa,GFEG,GKLG;CVatB,AKPA,AEFA,CCAC,ACFA,CCDC,sBVYsB,GQTG,ACFA;AJK5B,AEFA,CPSC,CQTC,ACFA,ACDA,YDCY,IDEI;EHGhB,AEFA,ACAA,ACFA,ECDE,UDCU,KDEK,CHEC,EEFE,CGHC;CLMtB,CEFC,ACAA,ACFA,CCDC,SDCS,SFES,GCAG;ARUxB,AKPA,CEFC,CHIC,AIJA,ACFA,ACDA,gBFGgB,GCFG,OLMO;AGH5B,CPSC,AILA,CCFC,AGFA,ACFA,ECDE,QDCQ,CTWC,CQTC,MHEM,CKLC;ANQrB,CJKC,AKPA,AGFA,CDAC,AEFA,ECDE,SDCS,KFEK,KGHK,KVYK;AKN5B,AGFA,CRSC,CILC,AGJA,AEFA,ECDE,SDCS,WCDW,INOI,AGJA,GPSG;CAC9B,ASXA,CLMC,ACFA,AEFA,ACAA,CEHC,gBFGgB,CHEC,IDEI,AGJA,IPSI;ASV5B,CTWC,AILA,ACFA,AEFA,CCAC,AEHA,mBFGmB;AJKrB,ACFA,AEFA,CCAC,CCFC,ECDE,qBAAqB,IDCI;ATY7B,AQTA,EJIE,ACFA,AEFA,AEFA,CCDC,kBHGkB,CEFC,KJIK,CDEC;CCD3B,AEFA,CHIC,AIJA,ACFA,ACDA,eFGe,ICFI,GLMG;ACDxB,AEFA,CHIC,AIJA,CCFC,ECDE,YAAY,YDCY;ALO5B,AIJA,EHEE,AEFA,AEFA,CCDC,ULKU,IIJI,IFEI;CGFpB,CNOC,ACFA,AEFA,ACAA,ACFA,eAAe,IDEI,CDAC,EFEE,IDEI;AMN5B,CVYC,AKPA,CDEC,AGJA,ACAA,ACFA,UDEU,GCFG,ETWE,KOTK,EHIE;ACDxB,CLOC,AILA,CGJC,ACAA,ACFA,ACDA,WFGW,CCFC,MTWM,AOTA;AHKpB,CJKC,AQTA,CHEC,AEFA,AEFA,ECDE,SLKS,OIJO,CFEC,MGHM;AFI3B,CDAC,CHIC,ACFA,AIJA,CCDC,kBDCkB,GJIG,IDEI;AJM5B,AOTA,CFEC,CDEC,AIJA,ACFA,ACDA,mBDCmB,GLMG,IIJI;AHG5B,CDEC,CGJC,ACAA,ACFA,ECDE,ODCO,QCDQ,CFGC,EDAE;AHKtB,CGJC,CFEC,AGFA,ACFA,CCDC,ULKU,CIJC,iBDEiB;ADC/B,CPSC,ASXA,CJIC,AGFA,AEHA,kBVYkB,CQTC,GHEG;AIHxB,CTWC,AKPA,CEFC,ACAA,EEHE,MVYM,kBOTkB,CGHC,QFGQ;AHGrC,CLOC,AQTA,CJIC,AGJA,AEFA,CCDC,SVYS,MSXM,aFEa,QHIQ;AIHvC,CRSC,ASXA,ACDA,CNOC,ACFA,AEFA,YFEY,ELOE,MOTM,aHIa;AKLnC,ACDA,CVYC,AILA,ACFA,AEFA,CCAC,gBAAgB,wBRSwB;AIJ1C,ACFA,AEFA,CPSC,AQTA,CCFC,ACDA,YVYY,ISXI;ADGlB,CRSC,CILC,ACFA,AEFA,AEFA,ECDE,UHGU,IEFI,EJIE,SKLS,UNOU;AJMvC,COTC,AEFA,CLMC,ACFA,AGFA,CEHC,kBLKkB,UGFU,QJIQ;AGHvC,AEFA,CTWC,AILA,AIJA,AEHA,CLKC,YLOY,OKPO;ADGrB,AIJA,AEHA,CVYC,CKPC,AEFA,AEFA,aFEa,EEFE,CTWC,CAAC,AUZA,GLKG,OLOO;AUX7B,CVYC,AKPA,AEFA,CCAC,ACFA,gBAAgB,sCDEsC;ARUxD,AKPA,AEFA,CCAC,CCFC,ACDA,iBDCiB;ADGnB,CRSC,CKPC,AEFA,AEFA,ECDE,aAAa,CVYC,ASXA,CTWC,EOTE,OFEO,eLOe;CAC1C,AOTA,CFEC,AGFA,ACFA,CCDC,yBFGyB,ACFA,qBJIqB;ALQjD,AOTA,CEFC,ACDA,CLKC,AGFA,UHEU,GGFG;ACDf,ACDA,CVYC,CKPC,AEFA,ACAA,YAAY,GHEG,CLOC,CAAC,COTC,2BPS2B;CAC9C,AOTA,ACAA,CHEC,AIJA,ACDA,mBDCmB,SJIS;AED9B,ACAA,CCFC,CJIC,EKLE,aAAa,ILKI,OEFO;APU5B,AOTA,AEFA,ELME,ACFA,AGFA,CEHC,YFGY,MHEM,kBDEkB;CIHtC,AEHA,CNOC,ACFA,AEFA,AEFA,SJIS,GIJG,CFEC,wBHIwB;AIHvC,AEHA,CVYC,AILA,AGJA,CFEC,AIJA,WTWW,CKPC,GIJG;ALOjB,AGJA,CPSC,AKPA,CGFC,ACFA,ACDA,WDCW,QDEQ;AHGrB,CGFC,ACFA,CLMC,AGJA,EGHE,UHGU,IGHI,qBNOqB;AJMvC,AQTA,ACFA,CFEC,CHIC,ACFA,CKLC,YLKY,wBDEwB;AGHvC,CPSC,AILA,AMPA,CLKC,AGFA,ACFA,aDEa,IRSI,AKPA,oBIJoB;ALOvC,CJKC,CKPC,AEFA,ACAA,ACFA,YJIY,OLOO,AOTA,ACAA,wBCFwB;CTY5C,AKPA,AEFA,ACAA,CCFC,kCAAkC;AJKpC,AEFA,ACAA,ECFE,eAAe;ATYjB,EKPE,AEFA,ACAA,ACFA,UJIU,AIJA,QFEQ,CCAC;CRUpB,AOTA,ACAA,CHEC,AIJA,QJIQ,GIJG,ETWE;AORf,ACAA,CRSC,CKPC,AIJA,SJIS,SIJS;EJKlB,AEDA,ACDA,ACFA,OJIO,QGFQ,ICFI,mBFGmB;APSxC,CKPC,AEDA,ACDA,CCFC,SAAS,ITWI;AACf,AKPA,AEDA,ACDA,ECFE,SAAS;CTYV,ASXA,CLMC,ACFA,AEAA,ACFA,kBAAkB,CHEC,QLOQ,UILU,GGFG;AEH1C,CTWC,AOPA,ACFA,CJIC,ACFA,gBAAgB,YLOY,SILS;AGSvC,ACZA,CRSC,AILA,ACFA,CIJC,YAAY,iBTWiB;AIJ/B,ACFA,CLOC,COGC,ACZA,ACFA,YDEY,GCFG;ELOf,ACFA,AGFA,ACFA,EFeE,SEfS,QDEQ,ODaO,WHTW,aCFa;ALQpD,CKPC,AGFA,ACFA,CLMC,CGSC,oCHToC;ACDvC,AGFA,ACFA,CLMC,CGSC;AHRF,CJKC,CKPC,AGFA,ACFA,EFgBE,eCde,WDcW,SEhBS,ETWE,gCKPgC;CLQxE,CKPC,AGFA,ACFA,CFgBC,WCdW,EHEE,0BLO0B,ESXE;CTY3C,AOKA,CFZC,AGFA,ACFA,iBDEiB,WHEW,MIJM;AFiBpC,CFZC,CGFC,ACFA,eAAe,GDEG;ARUpB,AKPA,CGFC,CDcC,AEhBA,UAAU,uDFgBuD;ACbnE,CRSC,CKPC,AEcA,AElBA,WAAW,KTWK,AKPA,SEcS;CPN1B,AOOA,CFdC,AGFA,ACFA,iBJIiB,CIJC,MTWM,AQTA;ADiB1B,CPPC,AKPA,CGFC,ACFA,mBAAmB,CDEC,ORSO;AKN7B,CLOC,COOC,AChBA,ACFA,YAAY,GDEG,kDDgBkD;EHXjE,ACFA,AEgBA,AClBA,ACFA,SAAS,GDEG,GHEG,WEgBW,WHdW;AJMvC,CKPC,AEgBA,CHdC,AIJA,ACFA,SAAS,WDEW,iBJIiB;ACDvC,AEgBA,CHdC,AKNA,CDEC,iBAAiB;AJKnB,AKNA,CTWC,AQTA,CHEC,AEgBA,eFhBe,CLOC,iDOSiD;ACjBnE,CRSC,AKPA,CDEC,AGgBA,AEtBA,aAAa,aFsBa,WHhBW;ACDvC,CEkBC,CHhBC,AIJA,ACFA,iBAAiB,oBLMoB,OIJO;ARU9C,AOWA,CHhBC,AKNA,CJIC,AGFA,cHEc,EGFE;AJKlB,AKNA,CTWC,CKPC,AEkBA,ACpBA,wBRSwB,EQTE,kBHEkB,+BEkB+B;CPV5E,CKNC,AEmBA,ACtBA,ACFA,aAAa,GTWG,CQTC,EHGE,KEmBK;CPZzB,AOaA,CFnBC,AGHA,ACFA,iBAAiB,OJKO,AGHA;ADuB1B,CExBC,CJKC,AGHA,6BHG6B,cGHc;ARU7C,ASXA,CDEC,CHGC,AEmBA,oBFnBoB,uDEmBuD;ACrB7E,EHGE,AEqBA,AE1BA,WAAW,aF0Ba,EFrBE;CAC3B,AEqBA,CCxBC,ACFA,UDEU,GCFG;AJMf,AEqBA,CCxBC,ACFA,ETWE;AACH,AQTA,ACFA,EJKE,0BAA0B;CLO3B,CILC,ACDA,AGHA,ACFA,cAAc,EJKE,GGHG,iBRSiB,CILC;CJMtC,ASXA,CLMC,ACDA,AGHA,iBHGiB,WGHW,SJIS;AJMvC,ASXA,CLMC,AIJA,CHGC,uBAAuB;ADEzB,AIJA,EHGE,AEqBA,AE1BA,aF0Ba,EE1BE,GJKG;CLOnB,AOeA,CHpBC,ACDA,AGHA,ACFA,mBJKmB,AGHA,ACFA,CTWC,iBILiB;AGqBvC,CPfC,AKNA,AILA,CLMC,AIJA,SAAS,URSU,kBILkB;ACAvC,AILA,CTWC,AILA,CGoBC,ACxBA,YAAY,ODwBO;APdrB,AILA,ECDE,AEqBA,ACxBA,ACFA,sBF0BsB,KFrBK,CILC,IDEI;CACjC,ACFA,CJKC,AEqBA,WAAW,SFrBS;AGFtB,ACFA,CTWC,CKNC,AEqBA,YAAY,OFrBO,CLMC;CACrB,CKNC,AEqBA,AE1BA,eJKe,EEqBE,CE1BC,ITWI;CACvB,ASXA,CJKC,AEqBA,ACxBA,aAAa,SHGS,CEqBC;APdzB,ASXA,CF0BC,CFrBC,AGHA,aHGa,GGHG;ADyBlB,EFrBE,AGHA,ACFA,eDEe,GHGG,AILA;CTYnB,ASXA,CJKC,AGHA,mBHGmB,AGHA,ERSE;ASVvB,CTWC,CKNC,AEqBA,ACxBA,YHGY,OEqBO,CCxBC;ARUtB,CKNC,CDCC,AGoBA,ACxBA,ACFA,QF0BQ,UE1BU,mBLMmB,AIJA;AHIvC,CLMC,ASXA,CLMC,AGoBA,ACxBA,YDwBY,KCxBK,KRSK,eILe;AKLvC,CTWC,AILA,CGoBC,ACxBA,mBDwBmB,CCxBC;AJKtB,CGoBC,CCxBC,ACFA,aDEa,CHGC,MILM;AJMtB,AEqBA,EHpBE,AIJA,ACFA,aDEa,OCFO,iBLMiB;CIHtC,CJIC,ACDA,AEqBA,AE1BA,WAAW,SJKS,CEqBC,gBHpBgB;AIHvC,CJIC,AGoBA,AE1BA,CJKC,mBAAmB;ALOrB,AILA,AGoBA,AE1BA,CJKC,CGHC,gCAAgC;AHIlC,EEqBE,ACxBA,ACFA,eF0Be,CE1BC,IDEI;CDyBrB,ACxBA,CCFC,CTWC,gBSXgB;ATYnB,AOeA,ACxBA,ECFE,UAAU;CACX,CF0BC,ACxBA,eDwBe,iBCxBiB;ACDlC,CTWC,AOeA,ACxBA,uBRSuB;AOgBxB,ACxBA,CRSC,CSXC,YTWY,QSXQ;CTYrB,CQTC,ACFA,eAAe,iBDEiB,kCDwBkC;AACpE,CCxBC,CCFC,mBAAmB;ATYrB,AQTA,EJIE,AGoBA,AE1BA,iBF0BiB,CE1BC,mBLMmB;CGqBtC,CHpBC,AIJA,ACFA,mBAAmB,aDEa,KJIK;AGqBvC,CPfC,AILA,AIJA,CCFC,iBAAiB,mBTWmB;AIJtC,AIJA,CRSC,ASXA,CF0BC,iBAAiB;AEzBnB,CF0BC,CHpBC,AIJA,qCJIqC,OIJO;ARU9C,AOeA,EHpBE,AIJA,ACFA,eDEe,ACFA,sBLMsB;CACtC,CGoBC,ACxBA,ACFA,eAAe,CDEC,CDwBC;AHnBnB,CJKC,AOeA,CCxBC,ACFA,YTWY,ISXI,CDEC;ADyBnB,CPfC,CQTC,ACFA,mBAAmB,GDEG;CACvB,ACFA,CF0BC,iBAAiB;APdnB,AQTA,ACFA,CF0BC,CHpBC,qCAAqC;AGqBvC,EHpBE,AIJA,ACFA,YDEY,GCFG,sBLMsB;CJMtC,AILA,CGoBC,ACxBA,ACFA,gBAAgB,CF0BC,ECxBE,MRSM;AIJ3B,CJKC,AOeA,CCxBC,ACFA,aDEa,ICFI;AF2BnB,CE1BC,CLMC,AIJA,kBAAkB,mBJImB;AJMvC,ASXA,ELME,AGoBA,ACxBA,iBDwBiB,ECxBE,kBJIkB;CJMtC,AILA,AGoBA,CCxBC,ACFA,eTWe,CQTC,CCFC;ALOnB,AGoBA,CPfC,AQTA,ACFA;ADGD,ACFA,EF0BE,iBAAiB;APdnB,COeC,CCxBC,ACFA,YAAY,ODEO;ADyBrB,CPfC,AQTA,CJIC,AKNA,kBAAkB,cTWc,KILK;AIHvC,CRSC,ASXA,CLMC,AGoBA,iBAAiB,oBHpBoB;AKLvC,CLMC,AGoBA,CCxBC,iBAAiB;ARUnB,AILA,AGoBA,ECxBE,ACFA,YDEY,CCFC;ETYb,AILA,AGoBA,ACxBA,ACFA,YAAY,ETWE,GOeG,ACxBA,oBJIoB;CJMtC,AILA,AGoBA,CCxBC,ACDA,kBDCkB,CCDC;ALMrB,AGoBA,CCxBC,CCDC,wBAAwB;ATW1B,AQTA,EJIE,AGoBA,AEzBA,iBFyBiB,SHpBS,GKLG;CTW9B,AOeA,AEzBA,CLKC,AIJA,sBRSsB,CAAC,CQTC,oBJIoB,2BJK2B;AOgBzE,AEzBA,CTUC,AILA,CIJC,oBAAoB;AJKtB,EGoBE,ACxBA,ACDA,eDCe,EDwBE,0BEzB0B;ATW7C,COeC,CHpBC,AIJA,ACDA,YDCY,KCDK,2BLK2B;AGqB9C,CPfC,AILA,CIJC,ACDA,aAAa,KTUK,EQTE;AJKtB,CJKC,ASVA,CFyBC,ACxBA,iBDwBiB,ACxBA;ACAnB,CFyBC,ACxBA,CJIC,4CAA4C;AJM9C,AOeA,ACxBA,CJIC;AACD,CJKC,COeC,ACxBA,cCDc,CDCC,EDwBE,QPfQ;AST3B,CTUC,AOeA,CHpBC,AIJA,uBRSuB,GQTG,kBJIkB;AGqB9C,CPfC,AILA,AIJA,CCDC,+BAA+B;ALMjC,AIJA,ECDE,mBAAmB;ATWrB,CSVC,CLKC,ACDA,AGHA,eAAe,IHGI,yBDCyB;AKJ9C,CTUC,AILA,CCDC,AEqBA,ACxBA,aRSa,IOeI,GFrBG,MGHM;AJK5B,CJKC,AKNA,AEqBA,ACxBA,CCDC,0BAA0B;AJK5B,AEqBA,ACxBA,EJIE,AKLA,sBAAsB,sBLKsB;AJM9C,CILC,CCDC,AEqBA,ACxBA,ACDA,eDCe,EDwBE,GEzBG,UJIU,ILMI;AACpC,AILA,CGoBC,CFrBC,AGHA,ACDA,oBJIoB,AIJA,MDCM;ADyB5B,CPfC,AQTA,CJIC,ACDA,AIJA,eTUe,CKNC,EIJE,0BLK0B;AIH9C,CRSC,AILA,ACDA,CEqBC,AEzBA,QTUQ,ESVE,OFyBO;AHnBnB,ACDA,CLMC,AOeA,CCxBC,ACDA,STUS,GSVG,GDCG;ADyBjB,CPfC,CILC,ACDA,AGHA,ACDA,YTUY,CSVC,EJIE,WGHW,kBJIkB;CJM7C,AILA,AIJA,CHGC,AEqBA,AEzBA,QAAQ,KTUK,IOeI,SFrBS;ADE5B,AIJA,CRSC,AOeA,CFnBC,AINA,kBAAkB,CTUC,mBKJmB;AEoBxC,CPfC,CILC,ACCA,AGLA,ACDA,UJMU,KGLK,ERSE,ESVE,yBLKyB;CJM7C,AILA,CCCC,AEmBA,ACxBA,ACDA,SAAS,QFyBQ,CPfC,QQTQ,kBHKkB;ADA9C,CJKC,AKJA,AEmBA,ACxBA,CCDC,WTUW,CSVC;AJOd,AEmBA,ACxBA,CRSC,ASVA,CLKC,kBJKkB,CILC;AKJrB,CTUC,CILC,ACCA,AGLA,aRSa,EQTE,GJIG,ACCA;CDAnB,CCCC,AEmBA,ACxBA,ACDA,eJMe,EEmBE,KEzBK,IDCI;AJK5B,CJKC,AKJA,AEmBA,ACxBA,CCDC,qBAAqB,ETUE;AKHzB,AEmBA,ACxBA,CRSC,CILC,AKLA,iBLKiB,EKLE,iBTUiB;CACrC,ASVA,CLKC,ACCA,AEmBA,ACxBA,eAAe,EDwBE,CPfC,CILC,wBCCwB;AIL7C,CTYS,AIPR,ACCA,AEmBA,CCxBC,0BAA0B,cRWsB;AINlD,ACCA,AEmBA,CPbC,AQXA,CCDC,aAAa;ADEf,EJIE,AGoBA,AEzBA,eAAe,CLKC,CGoBC;APZnB,COaC,AEzBA,CLKC,ACCA,AGLA,eAAe,UJIU,OCCO;AEoBlC,AEzBA,CTYC,CIPC,ACCA,AGLA,gBJIgB,GJOG,GKNG,IGLI;CRY3B,AQXA,CJIC,ACCA,AEmBA,AEzBA,ULKU,KJOK,EOaE,SFnBS,AINA;ADE5B,CRWC,AKNA,AEmBA,CHpBC,AKLA,WLKW,MJOM,KSZK;AJOxB,AEmBA,CPbC,CIPC,AIJA,ACDA,WTYW,AIPA,SKLS,MDCM;CRY3B,CIPC,ACCA,AEmBA,ACxBA,ACDA,iBFyBiB,EHpBE,CKLC,qBDCqB,MHKM;CAChD,AEmBA,ACxBA,CJIC,AKLA,SLKS,SKLS;ATapB,AKNA,AEmBA,ACxBA,EJIE,AKLA,OLKO,GKLG;CTaX,AIPA,CCCC,AEmBA,ACxBA,ACDA,UDCU,ECDE,GTYG,AKNA,EEmBE;AHnBnB,CJOC,AOaA,CFnBC,AGLA,ACDA,aAAa,ITYI,EKNE,AGLA;ADyBrB,CPbC,AKNA,CGLC,ACDA,QAAQ,IDCI;AHMd,EEmBE,ACxBA,ACDA,aDCa,CJIC,GGoBG,CEzBC;ATapB,AIPA,CGoBC,CCxBC,ACDA,WDCW,QCDQ;AF0BrB,EHpBE,ACCA,AGLA,ACDA,ETYE,OSZO,CDCC,OJIO,IJOI,sBKNsB;CAC5C,CDDC,AGoBA,ACxBA,ACDA,ETYE,SAAS,CSZC,IDCI,CDwBC,GHpBG;ACEtB,CEmBC,ACxBA,ACDA,CLKC,EJOE,UAAU,cIPc;AGqB5B,ACxBA,ACDA,ELKE,ACCA,ELME,YAAY,YKNY,iBDDiB;EAC3C,ACCA,AEmBA,ACxBA,ACDA,ETYE,WSZW,ETYE,AKNA,EDDE,AGoBA,aCxBa;CJK/B,AGoBA,ACxBA,CHKC,AINA,ETYE,aSZa,KTYK,uBKNuB;ADA7C,AGoBA,ACxBA,CHKC,AINA,GTYG,kBAAkB;AKLtB,AINA,ELKE,AGoBA,ACxBA,ERWE,YIPY,GGoBG,GPbG,MQXM;CDyB3B,ACxBA,CJIC,ACCA,AINA,ETYE,kBSZkB,GTYG,SIPS,GCCG;AEoBrC,ACxBA,CJIC,ACCA,CINC,ETYE,gBSZgB,GTYG;AINvB,ACCA,CINC,CFyBC,ACxBA,ERWE,eOae,EPbE,WQXW;ACAhC,CFyBC,ACxBA,CJIC,ACCA,ELME,UIPU,cJOc,WKNW;AEoBvC,ACxBA,CJIC,ACCA,CINC,ETiBE,cSjBc,gITiBgI;AIXlJ,ACCA,CLWC,ASjBA,CDCC,0BAA0B;ACA5B,CDCC,CJIC,ACCA,AEmBA,iBHpBiB,AGoBA,oBFnBoB;AGJvC,CJIC,ACCA,AEmBA;AHnBD,ACCA,AEmBA,ECxBE,YAAY,ECDE;ATkBhB,ASjBA,ELKE,ACCA,AEmBA,ACxBA,eAAe,EJIE,AGoBA,oBFnBoB;CACtC,AEmBA,CHpBC,AIJA,ACDA,gBAAgB,GDCG,KJIK;ACE1B,AEmBA,EHpBE,AIJA,ACDA,CTiBC,cSjBc,ILKI,SIJS;ARiB9B,CSjBC,CLKC,ACCA,AEmBA,ACxBA,aAAa,EJIE,EGoBE,oBFnBoB;AILvC,CLKC,ACCA,AEmBA,ACxBA;AJKD,ACCA,AEmBA,ACxBA,ECDE,gBAAgB;ELMhB,ACCA,AEmBA,ACxBA,ACDA,YDCY,KDwBK,CEzBC,mBJMmB,MDDM;CCE5C,AEmBA,AEzBA,CLKC,AIJA,YAAY,QJIQ;ACEtB,AEmBA,AEzBA,CLKC,CIJC,ERgBE,wBAAwB,AQhBA;AJK5B,ECCE,AEmBA,ACxBA,ACDA,ETiBE,aQhBa,EDwBE,EPRE,kBKXkB,IINI;CTkB1C,AKXA,AEmBA,AEzBA,CLKC,AIJA,gBJIgB,GIJG;AHMrB,AEmBA,AEzBA,ELKE,AIFA,iBJEiB,cIFc;ARejC,CQdC,CJEC,ACCA,AEmBA,AEzBA,iBLKiB,AGoBA,SEzBS,WJMW;AGFvC,CHGC,AEmBA,AEzBA,CLKC,cAAc;ACEhB,AEmBA,AEzBA,CTiBC,CIZC,AIFA,mBAAmB,OJEO,IJYI;CQb/B,CJEC,ACCA,AEmBA,AEzBA,ETiBE,eOQe,KEzBK,CLKC,OJYO,OKXO;AGFvC,CHGC,AEmBA,AEzBA,CLKC,EJYE,aIZa,yBJYyB;AKV1C,AEmBA,AEzBA,CLKC,CIFC,ERcE,OQdO,iCRciC;AIX5C,ECCE,AEmBA,ACrBA,ACJA,ETiBE,eOQe,KEzBK,GDIG,YHEY,MLWM;CAC5C,AKXA,AEmBA,ACrBA,ACJA,CLKC,mBAAmB;ACErB,AEmBA,ACrBA,ACJA,ELKE,2CAA2C;AJa7C,EIZE,ACCA,AEmBA,ACrBA,iBJCiB,AGoBA,ECrBE,kBHEkB;CDAtC,ACCA,AEmBA,ACrBA;AJED,ACCA,AEmBA,ACrBA;EJEE,ACCA,AEmBA,ACrBA,YAAY,GHEG,EEmBE,OHpBO;CCEzB,AEmBA,CHpBC,AIDA,ACJA,ETiBE,OQbO,QCJQ,yBTiByB,KIZK;ACEjD,AEmBA,CHpBC,AKLA,CDKC,ERYE,wBQZwB,iBRYiB;AIX7C,AKLA,CTiBC,AQZA,CHCC,AEmBA,eFnBe,EEmBE;ACnBnB,CHCC,AEmBA,CHpBC,eAAe;AJajB,AKXA,AEmBA,CHpBC,CIAC,cCLc,GDKG;AJCnB,AKLA,EJME,AEmBA,ACpBA,UAAU,ODoBO,SFnBS;CAC3B,AEmBA,CHpBC,AIAA,ACLA,ETiBE,SQZS,QRYQ,ASjBA,OLKO;ACE5B,AEmBA,CHpBC,AIAA,CCLC,ETiBE,eSjBe,MTiBM;AIXzB,AIAA,CRYC,CKXC,AEmBA,AEzBA,eJMe,EEmBE,AEzBA;CJOlB,AEmBA,CHpBC,AIAA,ACLA,YDKY,ACLA,cLKc;AJa5B,AKXA,AEmBA,CHpBC,CIAC,ACLA,eDKe,ICLI;ALMrB,ECCE,AEmBA,ACpBA,ACLA,eJMe,EEmBE,ECpBE,QCLQ;CJO5B,AEmBA,ACpBA,CJAC,AKLA,0BLK0B,iBKLiB;AJO7C,AEmBA,ACpBA,CJAC,CKHC,sCAAsC;ALIxC,CKHC,CJIC,AEmBA,ACpBA,ERYE,aKXa,AGDA,EDoBE,EPRE;ASdrB,CTeC,AKXA,AEmBA,CHpBC,AIAA,0BJA0B,MIAM;AHElC,AEmBA,CHpBC,CIAC,ACHA,eAAe,EDGE;ARanB,AIZA,ECCE,AEmBA,ACnBA,ACJA,eJIe,EEmBE,EEvBE,MDIM;CHC1B,AEmBA,CHpBC,AICA,ACJA,aAAa,KDIK,QJDQ;ACE5B,AEmBA,CHpBC,CICC,ACJA,ETeE,USfU,OTeO,AQXA;AJArB,ECCE,AEmBA,ACnBA,ACJA,ETeE,SSfS,MFuBM,GCnBG,ORWO,KKXK;CLYjC,AKXA,AEmBA,ACnBA,CJDC,AKHA,SAAS,iBLGiB;ACE5B,AEmBA,ACnBA,CJDC,CKHC,gBAAgB;ALIlB,ECCE,AEmBA,ACnBA,ACAA,eJAe,AGAA,EDmBE,gBEnBgB;ATYnC,CKXC,AEmBA,ACnBA,ACAA,CLDC,0BAA0B;ACE5B,AEmBA,ACnBA,ACAA,CLDC;AACD,ECCE,AEmBA,ACnBA,ACAA,CTWC,cKXc,AGAA,EDmBE,KEnBK;ATYxB,CKXC,AEmBA,ACnBA,CJDC,AKCA,oBAAoB,MLDM;ACE5B,AEmBA,ACnBA,CRWC,AIZA,CKCC,iBAAiB,ETWE;AIXrB,CJYC,CKXC,AEmBA,ACnBA,ACAA,eDAe,EDmBE,SFnBS,EIAE;CFoB7B,ACnBA,CJDC,ACCA,AIAA,YAAY,OLDO,wBCCwB;AEoB7C,ACnBA,CJDC,AKCA,CJAC,mBAAmB;ADArB,AKCA,EJAE,AEmBA,ACnBA,eHAe,AGAA,EDmBE;CAClB,ACnBA,CJDC,ACCA,AIAA,aJAa,GIAG,cLDc;AGqBhC,ACnBA,EJDE,ACCA,AIAA,gBJAgB,EIAE,oBLDoB;EACtC,ACEA,AEkBA,ACnBA,ACAA,eDAe,EHCE,AEkBA,EHpBE,AKCA;CFoBpB,ACnBA,CJDC,ACMA,AILA,kBAAkB,KLDK,MCMM;AEe/B,ACnBA,CJDC,ACMA,AILA;ALAD,ACMA,AILA,EFmBE,ACnBA,eAAe,EDmBE;CAClB,ACnBA,CJDC,ACMA,AILA,gBAAgB,UJKU,GDNG;AGqB/B,ACnBA,CJDC,CCMC,AILA,oBAAoB,uBJKuB;ADL7C,ECOE,AEaA,ACnBA,ACAA,gBDAgB,CHMC,AEaA,AEnBA;CFoBlB,CHpBC,ACOA,AGNA,ACAA,kBDAkB,IHMI,CINC,ULDU;AGqBnC,CEnBC,CLDC,ACOA,AGNA,eHMe,WDPW,MICM;ACClC,CLDC,ACOA,AGNA,CDmBC,iBAAiB;AHnBnB,ACOA,AGNA,CDmBC,CEnBC,0BAA0B;AFoB5B,EHpBE,AKCA,0BAA0B,OLDO;EACjC,AGoBA,ACnBA,ACAA,iBFmBiB,SHpBS,AKCA,IDAI;CJA/B,AGoBA,ACnBA,ACAA,CJMC,2CAA2C;ADN7C,AGoBA,ACnBA,ACAA,CJMC;AACD,EDPE,AGoBA,iBAAiB,gBHpBgB;CGqBlC,CHpBC,ACOA,AGNA,cCAc,YLDY,MCOM;AEclC,ACnBA,ACAA,CLDC,CCOC,oBAAoB;ADNtB,CCOC,CGNC,ACAA,iDAAiD;AJOnD,EDPE,AGoBA,AEnBA,EDAE,WCAW,IFmBI,GCnBG,aJDa;CGqBlC,CHpBC,ACOA,AINA,EDAE,gBCAgB,KDAK,GJDG,MCOM;AEclC,CHpBC,CCOC,AINA,CDAC,YCAY,OJMO;ADNtB,CCOC,CEaC,ACnBA,ACAA,iBFmBiB,AEnBA;AJOnB,CEaC,CHpBC,AKCA,EDAE,WAAW,ECAE,kBLDkB;AGqBnC,EHpBE,ACOA,AILA,EDDE,SAAS,QCCQ,OLFO,MCOM;CDNjC,CCOC,AEaA,AElBA,CDDC,gBDmBgB,GFbG,IILI;ALD1B,CCOC,AEaA,CCnBC,ACCA,6BAA6B;AJM/B,AEaA,CElBC,CLFC,EICE,WAAW,oBJDoB;AKGnC,ELFE,ACOA,EGNE,YAAY,YJDY,MCOM;CDNjC,CCOC,AILA,EDDE,aCCa,EDDE,GHMG;ADNtB,CCOC,AILA,CFkBC,ECnBE,eDmBe,ICnBI;AHOvB,AILA,CFkBC,CHpBC,CICC,gCJDgC;AGqBnC,EHpBE,ACOA,AGNA,ACCA,aAAa,aLFa,ACOA;CDN3B,ACOA,CEaC,AElBA,EDDE,cCCc,CFkBC,GCnBG;AJAtB,ACOA,CEaC,CElBC,CDDC,gBCCgB;AFmBnB,EHpBE,ACOA,AGNA,ACCA,eAAe,WJKW,ODPO;CCQlC,CDPC,AGoBA,AElBA,EDDE,UCCU,KFkBK,ACnBA,SJDS;ACQ5B,CDPC,AGoBA,AElBA,EDDE;AJAH,AGoBA,AElBA,EJKE,AGNA,0BHM0B;CAC3B,CDPC,AGoBA,AElBA,EDDE,WCCW,ILFI,AGoBA,ACnBA;AHOnB,CDPC,AGoBA,CElBC,CDDC,gDCCgD;ALDnD,AGoBA,EFbE,AGNA,ACCA,aAAa,aJKa;CAC3B,CDPC,AGoBA,AElBA,EDDE,UCCU,KLFK,AGoBA,ICnBI;AHOvB,CDPC,AGoBA,CElBC,EDDE,UAAU,GCCG;ALDjB,AGoBA,CElBC,CJKC,EGNE,QAAQ,gBHMgB;AIJ5B,CJKC,CDPC,EICE,aJDa,CICC;AHOlB,CDPC,CGoBC,AElBA,EDDE,OCCO,QFkBQ,4BCnB4B;AJA/C,CGoBC,AElBA,CJKC,EGNE,gBAAgB,QHMQ;AEc5B,AElBA,CJKC,CDPC,EICE,eJDe,EICE;AHOrB,EDPE,AGoBA,AElBA,EDDE,aJDa,AKEA,EFkBE,ECnBE;CDoBpB,AElBA,CLFC,ACOA,EGNE,WJDW,QICQ,KHMK;AEc5B,AElBA,CJKC,CDPC,EICE,WAAW,cJDc;ACQ7B,EDPE,AGoBA,AElBA,EDDE,WCCW,GLFG,CGoBC,ECnBE;CDoBpB,CHpBC,ACOA,AILA,EDAE,WCAW,KLFK,QCOQ,CGLC;ADmB7B,CFbC,CDPC,AKEA,EDAE,UJFU,GKEG,aDAa;AHM9B,CDPC,CGoBC,AElBA,EDAE,eDkBe,UElBU,kBDAkB;AJD/C,CGoBC,CFbC,AILA,CDAC,mBHKmB,6BIL6B;AFmBnD,CFbC,CDPC,AIEA,ACAA,eLFe,EKEE;AJMnB,CDPC,AKEA,CFkBC,EClBE,eDkBe,KClBK;AJDxB,AKEA,CFkBC,CFbC,EGLE,YAAY,YHKY;AEc5B,CFbC,CDPC,AKEA,CDAC,cCAc,ELFE;ACQnB,CILC,CLFC,AGoBA,AClBA,eJFe,EGoBE;AEjBnB,CFkBC,CHpBC,ACOA,EGLE,WJFW,ICOI,EGLE;ADmBrB,EHpBE,ACOA,AILA,EDAE,UCAU,GDAG,EHKE,UDPU;EAC3B,ACOA,AEaA,AElBA,EDAE,WCAW,GLFG,ACOA,CEaC,OClBO;CDmBzB,CHpBC,ACOA,AILA,EDAE,cHKc,AILA,ELFE,IIEI;ADmBxB,CFbC,CDPC,AKEA,CDAC,WJFW,KKEK;AJMnB,CDPC,AKEA,CFkBC,AClBA,iBDkBiB;AHnBnB,AKEA,CFkBC,CFbC,EGLE,aHKa,IGLI;ADmBrB,CFbC,CDPC,EIEE,eJFe,QIEQ;AHM3B,CDPC,CGoBC,EClBE,YCAY,GFkBG,IClBI;AJDvB,AKEA,CFkBC,GClBG,YAAY;ADmBhB,EHpBE,ACUA,EGRE,eAAe,EJFE,WCUW;CDT/B,ACUA,CEUC,AElBA,EDAE,UAAU,ECAE,GFkBG;AHnBnB,ACUA,CEUC,CElBC,CDAC,mBCAmB;AFmBtB,EHpBE,ACUA,AGRA,ACAA,mBAAmB,OJQO,qBDVqB;CCWhD,AIRA,CLFC,AGoBA,EClBE,WAAW,CJFC,GGoBG;AFTnB,AIRA,CLFC,AGoBA,GClBG,OAAO;AJDX,AGoBA,EFVE,AIRA,EDAE,aCAa,KDAK,MHQM;CAC3B,CDVC,AGoBA,AElBA,EDAE,eDkBe,EClBE,ACAA,WLFW;ACWhC,CEUC,CHpBC,AKEA,CDAC,aJFa,CKEC;AFmBjB,CHpBC,CCUC,AGRA,ACAA,gBAAgB,UJQU;ADT5B,CCUC,CEUC,AElBA,EDAE,eDkBe,CElBC,GDAG;AHSvB,CEUC,CElBC,CDAC,mBCAmB;AFmBtB,EFVE,AGRA,ACAA,cLFc,KKEK,OJQO;ADT5B,CCUC,CEUC,AElBA,EDAE,eDkBe,EClBE,ACAA;AJSrB,CEUC,AElBA,CLFC,EIEE,gBAAgB,yBJFyB;AGqB7C,AElBA,ELFE,ACUA,EGRE,UAAU,cJFc,ACUA;CAC3B,CDVC,AGoBA,AElBA,CDAC,SCAS,OFkBO,OHpBO;ACW1B,CEUC,CHpBC,AIEA,ACAA,mBAAmB,ULFU;AGqB/B,EHpBE,ACUA,AIRA,EDAE,OCAO,QDAQ,GJFG,MCUM;CAC3B,CDVC,AGoBA,AElBA,EDAE,QCAQ,OFkBO,GClBG,CJFC;ACWvB,CDVC,AGoBA,CElBC,EDAE,YAAY,KCAK;ALDrB,AGoBA,CElBC,CJQC,EGRE,oBAAoB,IHQI;AIP5B,CJQC,CDVC,AGoBA,EClBE,eDkBe,EHpBE,eIEe;AHSpC,CEUC,CHpBC,AKEA,CDAC,aCAa,CLFC;AGqBjB,EHpBE,ACUA,AGRA,ACAA,mBLFmB,OCUO,UIRU;CJSrC,CDVC,AGoBA,AElBA,EDAE,WJFW,IGoBI,AClBA,oBCAoB;AJSvC,CDVC,AGoBA,CElBC,CDAC,oBHQoB,UIRU;ALDjC,ACUA,AEUA,CElBC,CDAC;ACCF,ELFE,AGoBA,EClBE,aJFa,EGoBE,AClBA;CDmBlB,CHpBC,ACUA,AIRA,EDAE,SCAS,CLFC,QIEQ,WHQW;AEWjC,EHpBE,ACUA,AIRA,EDAE,YAAY,EJFE,YCUY,QIRQ;CJSrC,CDVC,AGoBA,AElBA,EDAE,eJFe,AGoBA,SClBS,WCAW;AJSvC,CEUC,CHpBC,AKEA,EDAE,eJFe,KIEK,YCAY;AFmBpC,CElBC,CLFC,EIEE,YJFY,IIEI;ACCpB,ELFE,ACUA,AEUA,EClBE,eDkBe,SHpBS,EIEE,IHQI;CEWjC,CHpBC,ACUA,EGRE,oBAAoB,CJFC,MCUM;AEW/B,CHpBC,ACUA,GGRG,YCAY,KDAK;AJDrB,ACUA,AIRA,EFkBE,EClBE,eDkBe,AClBA;CDmBlB,CHpBC,AKEA,CDAC,cCAc,OLFO;AGqBxB,CElBC,CLFC,ACUA,AGRA,aJFa,ECUE;AIPjB,ELFE,ACUA,AEUA,EClBE,cJFc,AIEA,CDkBC,aFVa;CEW/B,CHpBC,ACUA,AIRA,CDAC,iBJFiB,gBKEgB,SJQS;AEW7C,CFVC,CDVC,AIEA,ACAA,mBLFmB,AKEA;AJSrB,CIRC,CLFC,AGoBA,EClBE,eDkBe,EHpBE,SIES;ACC9B,CFkBC,CHpBC,CIEC,iBJFiB;AGqBpB,CHpBC,AIEA,CCAC,aAAa;ALDf,AIEA,EDkBE,AElBA,iBFkBiB,GElBG;CFmBrB,AElBA,CLFC,ACUA,AGRA,cJFc,YCUY;AEW5B,AElBA,CLFC,ACUA,GGRG,iBAAiB;AJDrB,ACUA,EEUE,AElBA,CDAC,aCAa,GFkBG;CAClB,AElBA,CLFC,ACUA,AGRA,eJFe,ECUE;AEWnB,AElBA,CLFC,CCUC,EGRE,YAAY,QHQQ;ADTxB,ECUE,AEUA,AElBA,CDAC,WHQW,KEUK,EElBE;CJSpB,AEUA,CHpBC,AIEA,ACAA,iBAAiB,kBLFkB;ACWrC,AEUA,CElBC,CLFC,EIEE,YAAY,sBJFsB;AKGtC,ELFE,ACUA,AEUA,EClBE,aHQa,EEUE,GClBG,mBJFmB;CCWxC,AEUA,CHpBC,AKEA,CDAC,kBCAkB,qBLFqB;ACW1C,AEUA,EHpBE,AIEA,ACAA,gBAAgB,eLFe;EAC/B,ACYA,AEQA,AElBA,EDAE,YAAY,GDkBG,EFRE,IIVI,SLFS;CCajC,AEQA,CHpBC,AKEA,CDAC,aJFa,QKEQ;AJWxB,AEQA,EHpBE,AIEA,ACAA,aAAa,ELFE;CAChB,AKEA,CFkBC,EClBE,eDkBe,iBClBiB;AJDpC,AKEA,CFkBC,GClBG,cAAc;ADmBlB,EHpBE,AKEA,CDAC,gBCAgB,WLFW;CAC7B,AKEA,CDAC;AJDF,AKEA,EFkBE,EClBE,eDkBe,OClBO;CDmBzB,CFRC,AIVA,EDAE,mBAAmB,KHUK,eIVe;AFmB3C,CElBC,CJUC,EGVE,mBAAmB,CHUC;AITxB,CJUC,CEQC,CClBC,gBDkBgB;AFPnB,CEQC,CClBC,ACAA,0BAA0B;AFmB5B,CElBC,GDAG,mBAAmB;ACCvB,EJYE,AEMA,EClBE,YAAY,GDkBG,EFNE;CEOpB,CFNC,AIZA,CDAC,cHYc,WIZW;AFmB5B,CElBC,CLFC,ACcA,AGZA,eJFe,SCcS;AIX1B,CLFC,ACcA,CEMC,EClBE,cAAc,CDkBC;AHnBnB,ACcA,CEMC,CElBC,EDAE,iBAAiB,kBCAkB;AFmBvC,EHpBE,AKEA,EDAE,aCAa,MDAM,gBJFgB;EACrC,ACcA,AEMA,AElBA,EDAE,UAAU,KJFK,AGoBA,AElBA,oBJYoB;CACtC,AEMA,CHpBC,AKGA,CDDC,YJFY,MKGM;AJYrB,AEMA,EHpBE,AIEA,ACCA,WLHW,aKGa;ELFxB,AGoBA,AEjBA,EDDE,eDkBe,AClBA,EJFE,UKGU;CFkB9B,AEjBA,CLHC,EIEE,UJFU,SIES;ADmBvB,AEjBA,ELHE,EIEE,KJFK,aIEa;CJDrB,CGoBC,AEjBA,EDDE,eDkBe,AEjBA,iBDDiB;AJDpC,CGoBC,CEjBC,CDDC,+BCC+B;AFkBlC,CEjBC,CLHC,AIEA,YJFY;AKId,ELHE,AGoBA,EClBE,WJFW,IGoBI,AClBA;CDmBlB,CHpBC,CIEC,yBJFyB;AGqB5B,EHnBE,AICA,cCCc,KLFK;AKGrB,ELFE,ACaA,AEMA,EClBE,eDkBe,EClBE,KJDK,aCaa;CEOtC,CHnBC,ACaA,AIXA,EDDE,aHYa,EIXE,QDDQ,IJDI;AGoB/B,EHlBE,ACYA,AIXA,EDDE,mBAAmB,SCCS,aJWa,SDZS;CCarD,CDZC,AGkBA,AEjBA,EDDE,YAAY,GDkBG,EHlBE,EKCE;AJYvB,CEMC,CHlBC,AKCA,CDDC,SJAS,iCKCiC;AFkB7C,CEjBC,CLDC,AIAA,SJAS;AKEX,ELDE,AGkBA,EClBE,eDkBe,AClBA,EJAE;CGmBpB,CHlBC,ACYA,AIXA,CDDC,cHYc,GDZG,mBKCmB;AFkBvC,CHlBC,ACYA,CGZC,ACCA,sBAAsB;ALWxB,ACCA,EEME,AEjBA,EDDE,MHYM,KIXK,GDDG,CDkBC;AFLnB,CEMC,AEjBA,CLUC,EIXE,iBAAiB;ADmBrB,AEjBA,EJWE,CGZC,CJWC,UKVU,GJWG,6CDD6C;AKT9D,EJWE,AGZA,EJWE,WCCW,uDDDuD;ECEpE,AEMA,AEjBA,CLUC,CIXC,eDkBe,AClBA,EHYE,2DIX2D;CFkB/E,AEjBA,CLUC,ACCA,CGZC,mBHYmB;AEOtB,AEjBA,EJWE,AGZA,EJWE,UCCU,qDDDqD;CCElE,CEMC,AEjBA,ELUE,AIXA,eDkBe,AEjBA,EDDE,sDJWsD;ACE3E,CEMC,CEjBC,CLUC,CIXC,gBAAgB,yBCCyB;AFkB7C,CEjBC,CLUC,ACCA,CGZC,cHYc;AIVjB,EJWE,AEMA,AClBA,EJWE,UCCU,KEMK,mDHPmD;CGQrE,CFNC,AIXA,ELUE,AIXA,QHYQ,OGZO,ACCA,2DLU2D;AGQ9E,EFNE,AIXA,CLUC,CIXC,iBHYiB,EGZE,sBCCsB;CLW5C,ACCA,AIXA,CFiBC,EClBE,cAAc,CDkBC;AHNnB,ACCA,AIXA,CFiBC,GClBG,0BAA0B;ADmB9B,EFNE,AIXA,EDDE,WCCW,KDDK,gBHYgB;EAClC,AEMA,AEjBA,EDDE,YJWY,GGOG,CEjBC,IDDI,WHYW;ADAnC,CGOC,AEjBA,CJWC,EGZE,eAAe,eHYe;AEOlC,AEjBA,ELUE,ACCA,CGZC,kBJWkB,kBCCkB;CDAtC,CCCC,AEMA,AClBA,ACCA,aAAa,EJWE,EEME;AHNnB,CGOC,CFNC,AIXA,EDDE,aHYa,EGZE,CCCC;AFkBpB,CEjBC,CLUC,ACCA,CGZC,YHYY,SDDS;AKTxB,ELUE,ACCA,AEMA,AClBA,iBDkBiB,CHPC,ICCI;CEOvB,CHPC,ACCA,AIXA,EDDE,YAAY,GCCG,ELUE,UCCU;AEO/B,CHPC,CCCC,AIXA,CDDC,WHYW,aIXa;ALW3B,CCCC,AIXA,CFiBC,AClBA,iBDkBiB;AFLnB,AIXA,CFiBC,CHPC,EIXE,mBAAmB,WJWW;AGQlC,EHPE,ACCA,AIXA,EDDE,UAAU,KCCK,SJWS,WDDW;CCEtC,AIXA,CLUC,AGOA,EClBE,QAAQ,ODkBO,aHPa;ACEhC,AIXA,CFiBC,CHPC,EIXE,YAAY,KJWK;AGQrB,EHPE,ACCA,AIXA,EDDE,cAAc,UJWU,ACCA,AIXA;ELW1B,ACCA,AEMA,AEjBA,EDDE,QHYQ,EDDE,GIXG,EDkBE,SEjBS;CFkB3B,AEjBA,CLUC,ACCA,EGZE,UHYU,QGZQ,EJWE;AGQxB,AEjBA,ELUE,ACCA,EGZE,WJWW,IIXI,EHYE;EDAnB,ACCA,AEMA,AEjBA,EDDE,MJWM,SGOS,QFNQ,CIXC,uBDDuB;CHalD,AEMA,CHPC,AKVA,EDDE,iBJWiB,OKVO,0BDD0B;AHatD,AEMA,CEjBC,CLUC,EIXE,iBJWiB,SIXS;ACE9B,ELUE,ACCA,AEMA,CClBC,MHYM,UEMU,YHPY;CCE9B,AEMA,CHPC,AIXA,YJWY;ACEd,AEMA,EHPE,AKVA,EDDE,eAAe,QJWQ,KKVK;CLW/B,AKVA,CJWC,AEMA,EClBE,eDkBe,EClBE,UHYU;ADA/B,AKVA,CJWC,AEMA,EClBE;AHaH,AEMA,CClBC,CJWC,eAAe;AIVjB,EJWE,ACCA,AEMA,AEjBA,eAAe,EFiBE,KHPK,eCCe;CACtC,AEMA,AEjBA,CLUC,AIXA,gBJWgB;ACElB,AEMA,AEjBA,ELUE,EIXE,SCCS,ELUE,SIXS;ACExB,ELUE,ACCA,EGZE,MJWM,KIXK,wBHYwB;CACtC,CDDC,AGOA,AEjBA,EDDE,cAAc,CDkBC,EHPE,eKVe;AJYpC,CEMC,CHPC,AKVA,CDDC,iBJWiB,MKVM;AFkB1B,EHPE,ACCA,AGZA,ACCA,iBLUiB,QKVQ,YJWY;CACtC,CDDC,AGOA,AEjBA,EDDE,eDkBe,EHPE,GIXG,ECCE;AJY1B,CEMC,CHPC,AKVA,EDDE,KJWK,MIXM,gBCCgB;AFkB/B,EHPE,ACCA,AIXA,EDDE,UJWU,GCCG,EGZE,wBCCwB;CLW1C,CCCC,AEMA,AEjBA,EDDE,eDkBe,CClBC,UCCU,OJWO;ADArC,CCCC,AEMA,CEjBC,CDDC,cCCc;AJYjB,AEMA,CEjBC,CLUC,AIXA,gBJWgB;AKTlB,ELUE,ACCA,AEMA,EClBE,SJWS,MGOM,AClBA,0BHY0B;CEO5C,CHPC,ACCA,AIXA,CDDC,UJWU,SCCS,cIXc;AFkBpC,CClBC,CJWC,ACCA,AIXA,cJWc,UIXU,CLUC;AIV3B,CJWC,CCCC,AEMA,AEjBA,UDDU,GCCG,EJWE,EEME;AHNnB,AIXA,CDkBC,CFNC,AIXA,YAAY,cJWc;AEO5B,CFNC,CDDC,AIXA,ACCA,UAAU,ILUI,2BIX2B;AHa3C,CDDC,AKVA,CDDC,YAAY;AJYd,AKVA,EJWE,AEMA,AClBA,eAAe,EDkBE,GFNG;CACrB,AEMA,CHPC,AIXA,ACCA,aAAa,QLUQ,OIXO;AHa9B,AEMA,CEjBC,CLUC,AIXA,cJWc,IIXI;ACEpB,CLUC,CCCC,AEMA,AClBA,iBDkBiB,EClBE,wBHYwB;ADA7C,CGOC,CFNC,AGZA,ACCA,WDDW,ICCI,KJWK;AEOtB,EHPE,ACCA,AGZA,ACCA,UDDU,OJWO,GCCG,MIXM;CDA3B,ACCA,CLUC,ACCA,AEMA,cFNc,GEMG,UHPU;AKT7B,CLUC,AGOA,CFNC,eAAe;ADAjB,AGOA,EFNE,AIXA,oBJWoB,iBIXiB;ELWrC,ACCA,AEMA,AEjBA,iBFiBiB,AEjBA,SLUS,ACCA;CAC3B,AEMA,CHPC,AKTA,oBLSoB,sBKTsB;AJW5C,AEMA,CHPC,CKTC,+CAA+C;ALUjD,CKTC,CJUC,AEMA,iBAAiB,GFNG;AITtB,CFgBC,CHPC,ACCA,iBAAiB,EDDE;AGQrB,CHPC,CCCC,AIVA,oBJUoB,MIVM;ALU5B,CKTC,CJUC,AEMA,aFNa,IEMI;AEfnB,CJUC,AEMA,CHPC,cAAc;ACEhB,AEMA,CHPC,CKTC,YAAY;ALUd,CKTC,CJUC,AEMA,iBAAiB,SFNS;AIT5B,CFgBC,CHPC,ACCA,UAAU,GDDG;AGQf,CHPC,ACCA,CIVC,sDAAsD;ALUxD,ACCA,EEME,AEhBA,iBFgBiB,WEhBW;CFiB7B,CHPC,ACCA,AIVA,eJUe,WDDW,SKTS;AFiBrC,EHPE,ACCA,AIVA,mBJUmB,GDDG,aKTa;CLUpC,CCCC,AEMA,AEfA,iBFeiB,GFNG,UITU;ALShC,CCCC,AEMA,CEfC,mCAAmC;AJUrC,AEMA,EHPE,AKRA,eLQe,yBKRyB;CLSzC,CCCC,AEMA,AEfA,UJSU,OEMO,AEfA;ALSnB,CCCC,AEMA,AEfA;AJUD,AEMA,AEfA,ELQE,0BAA0B;EAC1B,AGOA,AEfA,iBFeiB,KHPK,IKRI;CLS3B,AGOA,CFNC,AITA,sBAAsB,0BJS0B;ADAlD,AGOA,EFNE,AITA,eAAe,EJSE;EDAjB,ACCA,AEMA,AEfA,aJSa,EDDE,EGOE,oBEfoB;CLStC,AGOA,CFNC,AITA,aAAa,GJSG;ADAlB,AGOA,EFNE,AIRA,iBAAiB,CJQC;CIPnB,CLOC,ACCA,AEMA,iBAAiB,EFNE,ODDO;AKN5B,CFcC,CHPC,ACCA,oBAAoB,EDDE;AGQxB,CHPC,CCCC,AIRA,uBJQuB,GIRG;ALQ5B,ECCE,AEMA,AEdA,iBJQiB,AEMA,IEdI;CFetB,AEdA,CLOC,ACCA,eDDe,WCCW;AEO5B,AEdA,CLOC,CCCC,2CAA2C;ADA7C,CCCC,CEMC,AEdA,SAAS,QFcQ;AFLnB,CEMC,AEdA,CLOC,0BAA0B;AGQ5B,AEdA,ELOE,WKPW,WLOW;AKNxB,CLOC,CCCC,AEMA,iBAAiB,SFNS;ADA5B,CGOC,CFNC,AIRA,yCAAyC,OJQO;AEOlD,CFNC,AIRA,CLOC,eAAe;ACEjB,AIRA,CLOC,CGOC,iBAAiB;AHNnB,CGOC,CFNC,AIRA,eAAe,GJQG;AEOpB,CFNC,CDDC,AKPA,gBAAgB,ULOU;ACE5B,EDDE,AGOA,AEdA,iBFciB,AEdA,KLOK;CACvB,AGOA,AEdA,CJQC,iBAAiB;ADAnB,AGOA,AEdA,EJQE,0CAA0C;CAC3C,CDDC,AGOA,AEdA,eLOe,EGOE,QEdQ;AJS3B,CDDC,AGOA,AEdA;ALQD,AGOA,AEdA;ELQE,AGOA,AEdA,YAAY,KFcK,SHPS;CGQ3B,CHPC,AKPA,sBLOsB,eKPe;AFevC,CHPC,CCCC,AIRA,aJQa,AIRA;ALQf,CCCC,AIRA;AJSD,AIRA,ELOE,AGOA,eHPe,EGOE;CHNlB,AGOA,CEdC,iCAAiC;ALQnC,AGOA,CEdC;AACD,ELOE,AGOA,iBAAiB,SHPS;CGQ3B,CHPC,AKPA,eAAe,OLOO;AGQxB,CHPC,CKPC,gBAAgB;ALQlB,ECCE,AEMA,AEdA,iBFciB,AEdA,SJQS;CAC3B,AEMA,AEdA,CLOC,eAAe;ACEjB,AEMA,AEdA,CLOC;AACD,ECCE,AEMA,AEdA,iBFciB,EEdE,CJQC;CACrB,AEMA,CHPC,AKPA,iBAAiB,SLOS;ACE5B,AEMA,EHPE,AKPA,WAAW,WLOW;CACvB,CCCC,AIRA,sBAAsB,uBJQuB;ADA/C,CCCC,CEMC,AEdA,aAAa,IFcI;AFLnB,CEMC,CHPC,AKPA,eLOe,EKPE;AFenB,CHPC,CCCC,AIRA,kBAAkB,uBJQuB;ADA3C,CCCC,CEMC,AEdA,eAAe,EFcE;AFLnB,CEMC,CHPC,AKPA,gBAAgB,GLOG;AGQrB,CHPC,AKPA,CJQC,wBAAwB;ADA1B,AKPA,EJQE,AEMA,iBAAiB,6BFN6B;CAC/C,AEMA,CHPC,AKPA,iBAAiB,KLOK;ACExB,AEMA,EHPE,AKPA,kBLOkB,IKPI;CACvB,CLOC,ACCA,AEMA,iBAAiB,EHPE,uBCCuB;AIP5C,CLOC,ACCA,AEMA;AHND,ACCA,AEMA,EEdE,uBAAuB;ELQvB,ACCA,AEMA,AEdA,iBFciB,OFNO,EIRE,aLOa;CGQxC,CHPC,ACCA,AIRA,mBAAmB,yBLOyB,GCCG;AEOjD,CFNC,CDDC,AKPA,0BAA0B,ILOI;ACEhC,CIRC,CLOC,AGOA,iBAAiB,EHPE;AKNrB,CFcC,CHPC,ACCA,0BDD0B,iBCCiB;AEO7C,CFNC,CDDC,AKPA,YLOY,GKPG;AJSjB,EDDE,AGOA,AEdA,gBAAgB,CFcC,KHPK;CGQvB,CHPC,AKPA,aLOa,IKPI;AFenB,CEdC,CLOC,QAAQ;AKNV,ELOE,AGOA,iBAAiB,EHPE;CGQpB,CHPC,ACCA,AIRA,aJQa,YDDY,KKPK;AFehC,CFNC,CDDC,AKPA,mBLOmB,UKPU;AJS/B,CIRC,CLOC,AGOA,iBAAiB,mBHPmB;AKNtC,CFcC,CHPC,YAAY;AGQd,CHPC,CKPC,sDAAsD;ALQxD,EGOE,AEdA,iBFciB,OEdO;CFezB,CHPC,AKPA,aAAa,4DLO4D;AGQ3E,CEdC,CLOC,2BAA2B;AKN7B,ELOE,ACCA,AEMA,iBAAiB,SHPS,ACCA;CAC3B,AEMA,CHPC,AKPA,eAAe,sDLOsD;ACEvE,AEMA,EHPE,AKPA,WJQW,KIRK,eLOe;ACEjC,EDDE,AGOA,AEdA,iBFciB,AEdA,8DLO8D;CGQhF,CHPC,ACCA,AIRA,iBJQiB,SDDS,CKPC;AFe7B,CFNC,AIRA,CLOC,mBAAmB;ACErB,AIRA,ELOE,AGOA,aHPa,IGOI;CAClB,CHPC,AKPA,sBLOsB,IKPI;AFe5B,CEdC,CLOC,aAAa;AKNf,ELOE,ACCA,AEMA,UHPU,KCCK,EEME;CAClB,CHPC,ACCA,AIRA,YJQY,ODDO,sBKPsB;AFe3C,CEdC,CLOC,ACCA,iBAAiB,EDDE;AKNrB,ELOE,ACCA,AEMA,SHPS,QGOQ,CFNC;CEOnB,CHPC,ACCA,kBAAkB,KDDK;AGQzB,EHPE,ACCA,kBAAkB,6CDD6C;CCEhE,CDDC,AGOA,AEdA,YLOY,KGOK,wBEdwB;AJS3C,CDDC,AGOA,AEdA,UJQU;ADAX,ACCA,AEMA,AEdA;ELQE,ACCA,AEMA,AEdA,gBLOgB,CGOC,KFNK,qBIRqB;CFe5C,AEdA,CLOC,ACCA,WDDW,cCCc;AEO3B,AEdA,ELOE,ACCA,WDDW,4BCC4B;EDAvC,ACCA,AEMA,AEdA,iBFciB,EFNE,MDDM,CKPC;CLQ3B,AGOA,AEdA,CJQC,iBAAiB;ADAnB,AGOA,AEdA,EJQE,cAAc;EDAd,ACCA,AEMA,AEdA,cLOc,GGOG,SFNS,iBIRiB;CLQ5C,ACCA,AEMA,CEdC,uBAAuB;ALQzB,ACCA,AEMA,EEdE,WAAW;ELQX,ACCA,AIRA,UJQU,EIRE,SLOS;EACrB,ACCA,AEMA,AEdA,WJQW,MEMM,EEdE,wBLOwB;CGQ5C,AEdA,CLOC,ACCA,qBDDqB,6BCC6B;AEOpD,AEdA,CLOC,CCCC,qBAAqB;ADAvB,CCCC,CIRC,0BAA0B;AJS5B,EDEE,AGIA,AEdA,gBAAgB,CFcC,MHJM;CACxB,AGIA,CFNC,AIRA,gBJQgB,CIRC;ALWnB,AGIA,CFNC,CIRC,kBAAkB;AJSpB,EDEE,AGIA,AEdA,iBFciB,CEdC,ELUE;CACrB,AGIA,AEdA,CJQC,WAAW;ADGb,AGIA,AEdA,EJQE,kBAAkB;EDGlB,ACFA,AEMA,AEdA,cLUc,GGIG,SEdS,qBJQqB;CDGhD,ACFA,AEMA,CEdC,uBAAuB;ALWzB,ACFA,AEMA,EEdE,WAAW;ELWX,ACFA,AIRA,YAAY,CLUC,ECFE;CDGhB,CCFC,AEMA,AEdA,iBFciB,CFNC,CIRC;ALWrB,CCFC,AEMA,AEdA;AJSD,AEMA,AEdA,ELUE,0BAA0B;CAC3B,CCFC,AIRA,WJQW,IIRI;ALWjB,CCFC,CEMC,AEdA,gBAAgB,CFcC;AFLnB,CEMC,CHJC,AKVA,iBAAiB,KLUK;AGKxB,CHJC,CCFC,AIRA,kBAAkB,QJQQ;ADG5B,CCFC,AIRA,CFcC,iBAAiB;AFLnB,AIRA,CFcC,CHJC,0BAA0B;AGK5B,CHJC,CCFC,AIRA,mBJQmB,OIRO;ALW5B,CCFC,CIRC,uBAAuB;AJSzB,CIRC,CLUC,AGIA,iBAAiB,SHJS;AKT5B,CLUC,AGIA,CFNC,mBAAmB;ADGrB,AGIA,CFNC,CIRC,sDAAsD;AJSxD,EDEE,AGIA,AEdA,iBFciB,KHJK,EKVE;CLWzB,AGIA,CFNC,AIRA,iBJQiB,gBIRgB;ALWnC,AGIA,CFNC,CIRC,aAAa;AJSf,CIRC,CLUC,gBCFgB,UDEU;ACD5B,AIRA,CLUC;AACD,ECFE,AEMA,iBAAiB,MFNM;CEOxB,CHJC,ACFA,AIRA,aJQa,aDEa,4BKV4B;AFexD,CHJC,CCDC,AITA,eAAe,IJSI;ADErB,CKVC,CJSC,AEKA,iBAAiB,OFLO;AIR1B,CFcC,CHJC,ACDA,sBDCsB,OCDO;AEM/B,CHJC,CCDC,AITA,cJSc,2BIT2B;ALW3C,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,0BAA0B;AGK5B,CHJC,CCDC,AITA,mBJSmB,gBITgB;ALWrC,CKVC,CJSC,AEKA,UFLU,OEKO;AEbnB,CFcC,CHJC,ACDA,YAAY,cDCc;AGK5B,CHJC,CCDC,eAAe;ADEjB,CCDC,CEKC,AEdA,iBFciB,SEdS;AJU5B,CEKC,AEdA,CLUC,sBAAsB;AGKxB,AEdA,CLUC,CCDC,6BAA6B;ADE/B,ECDE,AEKA,AEdA,iBFciB,CFLC,oCIToC;CFevD,CHJC,ACDA,AITA,gBJSgB,QITQ,ELUE;AGK5B,CHJC,AKVA,CJSC,0BAA0B;ADE5B,AKVA,EJSE,AEKA,eFLe,EEKE;CAClB,CHJC,ACDA,AITA,eAAe,EJSE,SDCS;AGK5B,CHJC,CCDC,AITA,YJSY,IITI;ALWlB,CCDC,CEKC,AEdA,iBFciB,AEdA;AJUnB,CEKC,AEdA,CLUC,sBAAsB;AGKxB,AEdA,CLUC,CCDC,cAAc;ADEhB,CCDC,CEKC,AEdA,eAAe,EFcE;AFJnB,CEKC,CHJC,AKVA,gBAAgB,ULUU;AGK5B,CHJC,CKVC,iBAAiB;ALWnB,ECDE,AEKA,AEdA,UJSU,OEKO,kBEdkB;CFepC,AEdA,CLUC,ACDA,cAAc,YDCY;AGK5B,AEdA,CLUC,ACDA;ADED,ACDA,EEKE,AEdA,aAAa,IFcI;CAClB,AEdA,CLUC,ACDA,mBAAmB,GDCG;AGKxB,AEdA,CLUC,ACDA;ADED,ACDA,EEKE,AEdA,iBFciB,AEdA;CFelB,CHJC,AKVA,uBAAuB,GLUG;AGK5B,CHJC,CCDC,AITA,kBAAkB,KJSK;ADEzB,CCDC,CEKC,AEdA,iBFciB,aEda;AJUhC,CEKC,AEdA,CLUC,0BAA0B;AGK5B,AEdA,CLUC,CCDC,8BAA8B;ADEhC,CCDC,CEKC,iBAAiB;AFJnB,CEKC,CHJC,AKVA,UJSU,OITO,KLUK;ACAxB,AEKA,CHJC,CKVC,uBAAuB;ALWzB,ECDE,AEKA,AEdA,iBFciB,SEdS,2BJS2B;CEMtD,AEdA,CLUC,ACDA,0BDC0B,sBCDsB;AEMlD,AEdA,CLUC,CCDC,eAAe;ADEjB,CCDC,CEKC,AEdA,eAAe,EFcE;AFJnB,CEKC,CHJC,AKVA,gBAAgB,ULUU;AGK5B,CHJC,CCDC,AITA,eJSe,EITE;ALWnB,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,sBAAsB;AGKxB,CHJC,CCDC,AITA,eAAe,sCJSsC;ADEvD,ECDE,AEKA,AEdA,gBAAgB,CFcC,gCFLgC;CEMlD,AEdA,CLUC,ACDA,eAAe,WDCW;AGK5B,AEdA,CLUC,ACDA;ADED,ACDA,EITE,eAAe;EJUf,AEKA,AEdA,eJSe,CITC,CFcC;CFJlB,AEKA,AEdA,eLUe;AAChB,ACDA,AEKA,AEdA;ELWE,ACDA,AITA,uBAAuB,aLUa,gBCDgB;CIRrD,CLUC,ACDA,AEKA,iBAAiB,0BHJ0B,KCDK;AIRlD,CFcC,CHJC,ACDA,eAAe,aDCa;AGK9B,CFLC,CDCC,AKVA,aLUa,wBKVwB;AJUvC,CITC,CLUC,oBAAoB;AKTtB,ELUE,ACDA,AEKA,eFLe,EDCE,AGIA;CHHlB,ACDA,AEKA,CEdC,uBAAuB;ALWzB,ACDA,AEKA,CEdC;AACD,ELUE,ACDA,AEKA,iBHJiB,AGIA,mCFLmC;CEMrD,CHJC,ACDA,AITA,eLUe,AKVA,iCJSiC;AEMlD,EHJE,ACDA,AITA,eJSe,CITC,CLUC;CCAlB,AITA,CLUC,AGIA,iBAAiB,CHJC;ACApB,AITA,CLUC,AGIA;AHHD,AGIA,EFLE,AITA,eJSe,WITW;CJU3B,CDCC,AKVA,gBAAgB,OLUO;ACAzB,CDCC,CGIC,AEdA,cJSc,GEKG,AEdA;ALWnB,ACDA,CEKC,CEdC,2BAA2B;AFe7B,CEdC,CLUC,ACDA,eDCe,4BCD4B;AIR7C,ELUE,ACDA,iBDCiB,OCDO;CDEzB,CCDC,AEKA,AEdA,eAAe,EFcE,SFLS;ADE5B,CCDC,AEKA,CEdC,gBAAgB;AJUlB,AEKA,EHJE,AKVA,iBAAiB,OLUO;CACzB,CCDC,AITA,2BAA2B,4BJS4B;ADEzD,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,kBAAkB;AGKpB,EHJE,oBAAoB;CACrB,CGIC,iBAAiB;AHHnB,CGIC,CFLC,AITA,0BAA0B,6BJS6B;AEMzD,CFLC,AITA,CLUC,wBAAwB;ACA1B,AITA,CLUC,CGIC,iBAAiB;AHHnB,CGIC;AACD,EHJE,gBAAgB;EAChB,ACDA,AITA,eAAe,GLUG,mBCDmB;CDEtC,AKVA,CJSC,AEKA,iBAAiB,KFLK;ADExB,AKVA,CJSC,AEKA;AFJD,AEKA,EHJE,0BAA0B;CAC3B,CGIC,iBAAiB;AHHnB,CGIC,CEdC,0BAA0B;AFe5B,CEdC,CLUC,ACDA,0BDC0B,MCDM;AIRlC,CLUC,ACDA,CEKC,iBAAiB;AHHnB,ACDA,CEKC;AACD,EHJE,0BAA0B;CAC3B,CCDC,eAAe;ADEjB,CCDC,CEKC,iBAAiB;AFJnB,CEKC,CHJC,0BAA0B;AGK5B,CHJC,CCDC,eAAe;ADEjB,CCDC,CEKC,iBAAiB;AFJnB,CEKC,CHJC,0BAA0B;AGK5B,CHJC,CCDC,AITA,eAAe,OJSO;ADExB,CKVC,CJSC,AEKA,iBAAiB,WFLW;AIR9B,CJSC,AEKA,CHJC,0BAA0B;ACA5B,AEKA,CHJC,CKVC,0BAA0B;ALW5B,CKVC,CJSC,AEKA,iBAAiB,KFLK;AIRxB,CFcC,CHJC,ACDA,0BDC0B,ECDE;AEM9B,CHJC,ACDA,CITC,0BAA0B;ALW5B,ACDA,CITC,CFcC,iBAAiB;AEbnB,CFcC,CHJC,ACDA,sBAAsB,IDCI;AGK5B,CHJC,CCDC,AITA,0BAA0B,EJSE;ADE9B,CCDC,AITA,CFcC,iBAAiB;AFJnB,AITA,CFcC,CHJC,+BAA+B;AGKjC,EHJE,ACDA,AITA,mBJSmB,kBITkB,KLUK;CKT3C,CLUC,ACDA,AEKA,aFLa,IEKI,UHJU;AKT7B,CFcC,CHJC,ACDA,uBDCuB,oBCDoB;AEM7C,EHJE,ACDA,AITA,eJSe,WITW,QLUQ;CCAnC,AITA,CLUC,AGIA,iBAAiB,EHJE;ACArB,AITA,CLUC,AGIA,aFLa,GITG;ALWjB,ACDA,AEKA,AEdA;EJUE,AEKA,AEdA,aAAa,IFcI,EFLE;CEMpB,CFLC,AITA,cLUc,EKVE,EJSE;ADEpB,AGIA,CFLC,CITC,iBAAiB;AJUnB,EDCE,AGIA,AEdA,WLUW,MGIM,aEda;CLW/B,AGIA,AEdA,CJWC,wBAAwB;ADA1B,AGIA,AEdA,EJWE,uBAAuB;EDAvB,ACCA,AEGA,AEdA,iBFciB,EHJE,KCCK,QIXQ;CJYjC,AEGA,AEdA,CLUC,SAAS;ACEX,AEGA,AEdA,ELUE,WCCW,sCDDsC;ACEnD,EDDE,AGIA,WHJW,MGIM;CAClB,CHJC,ACCA,cIXc,OJWO,CDDC;AGKxB,AEdA,ELUE,ACCA,aAAa,GDDG;CACjB,CCEC,AEEA,AEdA,iBFciB,EFFE,AIZA;ALWrB,CGIC,CFFC,AIZA,mBAAmB,KJYK;AEG1B,EHJE,ACEA,AIZA,0BLU0B,AKVA,GJYG;CDD9B,ACEA,CEEC,AEdA,aAAa,IFcI;AHHnB,ACEA,CEEC,CEdC,0BAA0B;AFe5B,CEdC,CJYC,8BAA8B;AIXhC,EJYE,AEEA,cHJc,CCEC,EEEE;AHHnB,CGIC,CFFC,AIZA,iBJYiB,SIZS;AFe5B,CFFC,AIZA,CLUC,oBAAoB;ACGtB,AIZA,CLUC,CGIC,iBAAiB;AHHnB,CGIC,CEdC,iBAAiB;AFenB,CEdC,CLUC,cCEc,kBDFkB;ACGlC,AIZA,CLUC,CGIC,iBAAiB;AHHnB,CGIC,CFFC,AIZA,gBAAgB,QJYQ;AEG1B,CFFC,AIZA,CLUC,gCAAgC;ACGlC,AIZA,ELUE,AGIA,gBHJgB,CGIC;CAClB,CHJC,ACEA,AIZA,iBLUiB,UKVU,CJYC;AEG9B,CHJC,ACEA,AIZA;ALWD,ACEA,AIZA,EFcE,iBAAiB;CAClB,CFFC,AIVA,wBAAwB,KJUK;AEG/B,CFFC,AIVA;AJWD,AIVA,EFYE,iBAAiB;CAClB,CFFC,AIVA,mBAAmB,YJUY;AEGjC,CFFC,CIVC,sBAAsB;AJWxB,EDFE,AGIA,AEZA,aAAa,IFYI,8BHJ8B;CAChD,AGIA,CFFC,AIVA,cAAc,kBJUkB;ADDlC,AGIA,CFFC,CIVC,iBAAiB;AJWnB,EDFE,AGIA,AEZA,iBFYiB,GEZG,8BLQ8B;CACnD,AGIA,CFFC,AIVA,mBAAmB,IJUI;ADDzB,AGIA,CFFC,AIVA;AJWD,AIVA,ELQE,AGIA,iBAAiB,SHJS;CAC3B,AGIA,CFFC,AIVA,kBJUkB,CIVC;ALSrB,AGIA,CFFC,CIVC,OAAO;AJWT,EEEE,AEZA,QAAQ,SFYS;CAClB,AEZA,CJUC,mBAAmB;AEGrB,AEZA,CJUC;AACD,EEEE,AEZA,gBAAgB,CFYC;CAClB,CFFC,AIVA,mBAAmB,WJUW;AEGhC,CFFC,AIVA;AJWD,AIVA,EFYE,iBAAiB;CAClB,CFFC,AIVA,iBJUiB,KIVK;AFaxB,CFFC,CIVC,mBAAmB;AJWrB,EEEE,AEZA,WAAW,MFYM;CAClB,CFFC,AIVA,iBAAiB,CJUC;AEGpB,CFFC,CIVC,gBAAgB;AJWlB,EEEE,AEZA,eAAe,EFYE;CAClB,AEZA,CLQC,ACEA,kBAAkB,mBDFmB;AGKvC,AEZA,CLQC,ACEA;ADDD,ACEA,EEEE,AEZA,aAAa,IFYI;CAClB,CFFC,AIVA,mBAAmB,QJUQ;AEG7B,CFFC,CIVC,gBAAgB;AJWlB,CIVC,CFYC,iBAAiB;AEXnB,CFYC,CFFC,cIVc,EJUE;AEGlB,AEZA,CJUC;AACD,EEEE,AEZA,iBFYiB,CEZC;CFanB,CFFC,AIVA,0BAA0B,EJUE;AEG9B,CFFC,CIVC,wCAAwC;AJW1C,EIVE,aAAa;EJWb,AEEA,AEZA,eAAe,EFYE,WFFW;CAC7B,AEEA,CEZC,iBAAiB;AJWnB,AEEA,EHJE,AKRA,aAAa,6BLQ6B;CAC3C,CCEC,AEEA,AEZA,gBAAgB,CFYC,WFFW;ADD9B,CCEC,AEEA,CEVC,mBAAmB;AJSrB,AEEA,CEVC;AACD,EJQE,AEEA,iBAAiB,WFFW;CAC7B,AEEA,CEVC,aAAa;AJSf,AEEA,CEVC;AACD,EJQE,AEEA,iBAAiB,WFFW;CAC7B,AEEA,CEVC,6BAA6B;AJS/B,AEEA,EEVE,kBAAkB;EJSlB,AEEA,AEVA,iBFUiB,GEVG,UJQU;CAC/B,AEEA,AEVA;AJSD,AEEA,AEVA;EJSE,AEEA,AEVA,iBFUiB,EFFE,sBIRsB;CJS1C,AEEA,AEVA,CLMC,2CAA2C;ACG7C,AEEA,AEVA,CLMC;AACD,ECEE,AIRA,oBJQoB,MIRM;CJS3B,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC,mBEVmB;AFWpB,AEVA,EJQE,oBAAoB;CACrB,CEEC,AEVA,YAAY,KFUK;AFDnB,CEEC,AEVA;AFWD,AEVA,EJQE,oBAAoB;CACrB,CEEC,AEVA,iBFUiB,gBEVgB;AJSnC,CEEC,AEVA;AFWD,AEVA,EJQE,oBAAoB;CACrB,CEEC,AEVA,iBFUiB,CEVC;AJSpB,CEEC,AEVA;AFWD,AEVA,ELME,ACEA,+BAA+B,WDFW;CAC3C,ACEA,CEEC,AEVA,cAAc,GFUG;AHHnB,ACEA,CEEC,CEVC,eAAe;AFWjB,EFFE,AIRA,gBJQgB,AIRA;CJSjB,CEEC,AEVA,eAAe,EFUE;AFDnB,CEEC,AEVA;AFWD,AEVA,EJQE,gBAAgB;CACjB,CEEC,AEVA,eAAe,EFUE;AFDnB,CEEC,CEVC,cAAc;AFWhB,EFFE,AIRA,gBAAgB,CJQC;CAClB,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC;AACD,EFFE,iBAAiB;CAClB,CEEC,iBAAiB;AFDnB,CEEC,CHJC,0CAA0C;AGK5C,CHJC,CCEC,AIRA,gBAAgB,CJQC;ADDnB,CCEC,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC,CHJC,2CAA2C;AGK7C,CHJC,CCEC,6BAA6B;ADD/B,CCEC,CEEC,iBAAiB;AFDnB,CEEC,CHJC,0BAA0B;AGK5B,CHJC,CCEC,AIRA,gBAAgB,CJQC;ADDnB,CCEC,AIRA,CFUC,iBAAiB;AFDnB,AIRA,CFUC;AACD,EFFE,iBAAiB;CAClB,CEEC,iBAAiB;AFDnB,CEEC;AACD,EFFE,AIRA,gBAAgB,IJQI;CACrB,AIRA,CLMC,2CAA2C;ACG7C,AIRA,CLMC,CGIC,iBAAiB;AHHnB,CGIC,CFFC,gBAAgB;AEGlB,CFFC,CDFC,wBAAwB;ACG1B,EDFE,kBAAkB;EAClB,ACEA,AIRA,cJQc,EIRE,CLMC;CCGlB,AIRA,CLMC,AGIA,WHJW,MGIM;AFDnB,AIRA,CFUC,CHJC,mBAAmB;AGKrB,EHJE,ACEA,iBDFiB,MCEM;CDDxB,CCEC,AEEA,eFFe,EEEE;AHHnB,CCEC,AEEA,eHJe;AAChB,ACEA,AEEA,EEVE,gBAAgB;CACjB,CLMC,ACEA,AEEA,aHJa,IGII,EFFE;AIPrB,CLMC,AGIA,CFFC,oBAAoB;ADDtB,AGIA,CFFC;AACD,EDFE,AGIA,iBAAiB,aHJa;CGK/B,CHJC,ACEA,YDFY,YCEY;AEG1B,CHJC,ACEA,CIRC,gBAAgB;ALOlB,ACEA,CIRC;AACD,ELME,ACEA,AEEA,aFFa,EDFE,EGIE;CHHlB,ACEA,AEEA;AHHD,ACEA,AEEA;EHHE,ACEA,AEEA,eHJe,EGIE,WFFW;CDD7B,ACEA,AEEA,CEVC,gBAAgB;ALOlB,ACEA,AEEA,CEVC;AACD,ELME,ACIA,AEAA,eHJe,EGIE,8BFA8B;CDHhD,ACIA,AEAA;AHHD,ACIA,AEAA,EEVE,cAAc;CACf,CLMC,ACIA,AEAA,eHJe,EGIE,CFAC;AITpB,CLMC,AGIA,CFAC,kBAAkB;ADHpB,AGIA,CFAC;AACD,EDJE,AGIA,AEVA,cAAc,GFUG,GHJG;CACrB,AGIA,AEVA,CJUC,aAAa;ADHf,AGIA,AEVA,EJUE,YAAY;CACb,CDJC,AGIA,iBHJiB,AGIA;AFCnB,CDJC,AGIA,CEVC,cAAc;ALOhB,AGIA,CEVC,CJUC,aAAa;AITf,ELME,ACIA,AEAA,YFAY,KEAK,CHJC;CACnB,ACIA,AEAA;AHHD,ACIA,AEAA,EEVE,cAAc;CACf,CLMC,ACIA,AEAA,YHJY,CCIC,IEAI;AETnB,CLMC,AGIA,CFAC,YAAY,OIVO;ALOrB,AGIA,AEVA,CJUC;AACD,EDJE,AGIA,AEVA,YLMY,CCIC,IEAI,oBEVoB;AJWvC,CDJC,AGIA,CEVC,6BAA6B;ALO/B,AGIA,EFAE,AITA,gBLKgB,GKLG,yBJSyB;ADH9C,ECIE,AEAA,AETA,iBFSiB,GFAG,IITI;CFUzB,CHJC,ACIA,AITA,mBJSmB,EDJE,QKLQ;AFU/B,CHJC,ACIA,CITC,iCAAiC;ALMnC,ACIA,CITC,CFSC,aHJa,IGII;AHHnB,AKLA,CFSC,CFAC,gBAAgB;AEClB,EFAE,AITA,kBJSkB,SITS;ELM3B,ACIA,AEAA,AETA,iBFSiB,GFAG,SITS,SLKS;CGKvC,AETA,CLKC,ACIA,eAAe,MDJM;AGKvB,AETA,CLKC,ACIA,qBITqB;ALMtB,ACIA,AITA,EFSE,iBAAiB;CAClB,CHJC,ACIA,AITA,iBAAiB,EJSE,KDJK;AGK1B,CHJC,AKLA,CJSC,qBAAqB;ADHvB,AKLA,CJSC,CEAC,iBAAiB;AFCnB,CEAC;AACD,EHJE,ACIA,0BDJ0B,GCIG;EDH7B,ACIA,AEAA,iBAAiB,KFAK,iBDJiB;CACxC,AGIA,CFAC,AITA,gBJSgB,AITA;ALMlB,AGIA,EFAE,AITA,UJSU,OITO;CAClB,CLKC,ACIA,AEAA,iBAAiB,EFAE,ODJO;AKJ5B,CLKC,AGIA,CFAC,cITc,OJSO;ADHvB,AGIA,AETA,EJSE,uBAAuB;EDHvB,ACIA,AEAA,AETA,YJSY,EITE,GFSG,WHJW;CAC7B,ACIA,AEAA,AETA;ALMD,ACIA,AEAA,AETA,sBLKsB;AACtB,ECKE,AEDA,iBAAiB,EFCE;CEApB,CHJC,ACKA,AIVA,gBAAgB,QLKQ,ACKA;AEA1B,CHJC,AKLA,CJUC,6BAA6B;ADJ/B,AKLA,CJUC,CEDC,iBAAiB;AFEnB,CEDC,CHJC,0BAA0B;AGK5B,EHJE,ACKA,AIVA,eJUe,gBIVgB,ULKU;CAC1C,ACKA,AIVA,CFSC,iBAAiB;AHHnB,ACKA,AIVA,CFSC;AACD,EHJE,ACKA,AIVA,gBLKgB,SCKS,AIVA;ELMzB,ACKA,AEDA,AETA,gBAAgB,CFSC,GHJG,UCKU;CDJ/B,AGIA,CFCC,AIVA,0BJU0B,CIVC;ALM7B,AGIA,CETC,CJUC,sBAAsB;AITxB,CJUC,CDLC,AGIA,iBAAiB,EHJE;ACMrB,CDLC,AGIA;AHHD,AGIA,EFCE,cIVc,EJUE;AITlB,CJUC,CDLC,AGIA,iBAAiB,KHJK;ACMxB,CEDC,CHJC,AKLA,gBAAgB,ELKE;AGKpB,CETC,CLKC,ACKA,mBDLmB,ICKI;AITzB,CLKC,CCKC,AEDA,iBAAiB,WFCW;ADJ9B,CGIC,CFCC,AIVA,iBAAiB,OJUO;AEA1B,EHJE,ACKA,AIVA,mBAAmB,CJUC,YDLY;CCMjC,AIVA,CLKC,AGIA,iBAAiB,oBHJoB;ACMvC,AIVA,CFSC,CHJC,0BAA0B;AGK5B,EHJE,ACKA,AIVA,kBJUkB,CDLC,GKLG;CACvB,CLKC,ACKA,AEDA,iBAAiB,IFCI,KDLK;AKJ5B,CJUC,AEDA,CHJC,YAAY;ACMd,AEDA,EHJE,AKLA,eAAe,OLKO;EACtB,ACKA,AEDA,AETA,aLKa,AKLA,IFSI,GFCG;CEArB,AETA,CLKC,ACKA,QDLQ,SCKS;AEAnB,AETA,CJUC,CDLC,mBAAmB;ACMrB,EDLE,AGIA,AETA,eAAe,EFSE,EHJE;CGKpB,CHJC,AKLA,iBAAiB,YLKY;AGK/B,EHJE,AKLA,YLKY,CKLC,CJUC;AAChB,EDLE,AGIA,AETA,iBFSiB,CETC,OLKO;CAC1B,AGIA,AETA;ALMD,AGIA,AETA;ELME,AGIA,AETA,eLKe,AKLA,EFSE;CAClB,CHJC,AKLA,iBAAiB,KLKK;AGKxB,EHJE,AKLA,aAAa,GLKG;EAChB,AGIA,AETA,aLKa,IGII,CETC;CFUnB,AETA,CLKC,CCKC,ODLO;ACMV,AEDA,AETA,ELKE,mBAAmB;EACnB,ACKA,AEDA,AETA,iBFSiB,CHJC,CCKC,AIVA;CFUpB,AETA,CLKC,ACKA,gBAAgB,CDLC;AGKnB,AETA,ELKE,ACKA,mBDLmB,GCKG;EDJtB,ACKA,AEDA,UHJU,OCKO,AEDA;CAClB,CHJC,ACKA,YDLY,EKLE,YJUY;AEA5B,AETA,CLKC,CCKC,uBAAuB;ADJzB,ECKE,AEDA,AETA,iBFSiB,KFCK,8BIV8B;CFUrD,CHJC,ACKA,AIVA,gBLKgB,ECKE,iBIViB;AFUrC,EHJE,ACKA,AIVA,WLKW,uBKLuB,OJUO;EDJzC,ACKA,AEDA,AETA,WLKW,MGIM,MFCM,UIVU;CFUlC,CHJC,ACKA,AIVA,WJUW,cDLc,8BKL8B;AFUzD,CHJC,CCKC,AIVA,gCJUgC,MIVM;ALMxC,ECSE,AELA,AETA,iBFSiB,aFKa,iBIdiB;CJehD,AELA,CHJC,AKLA,cLKc,CKLC;AJejB,AELA,CHJC,CKLC,kBAAkB;ALMpB,ECSE,AELA,AETA,iBFSiB,EFKE,GIdG;CFUvB,CHJC,ACSA,AIdA,mBJcmB,EDTE,SKLS;AFUhC,CETC,CLKC,ACSA,YAAY,EDTE;AKJhB,CLKC,CCSC,AELA,aFKa,IELI;AHHnB,CGIC,CFKC,AIdA,kBJckB,QIdQ;AFU5B,EHJE,ACSA,AIdA,eAAe,ELKE,ECSE;CIbpB,CLKC,ACSA,WAAW,gBDTgB;AKJ7B,CLKC,CCSC,AELA,iBAAiB,cFKc;ADRjC,CGIC,CFSC,AIlBA,0BAA0B,IJkBI;AERhC,EHJE,ACgBA,AIrBA,eAAe,WLKW,cCgBc;CIpBzC,CLKC,ACoBA,oBDpBoB,ACoBA;AIxBtB,CLKC,CCoBC,AEhBA,iBAAiB,IFgBI;ADnBvB,CCoBC,AEhBA,CETC,0BAA0B;AJ0B5B,AEhBA,EHJE,AKLA,mBAAmB,OLKO;EAC1B,ACoBA,AIzBA,sBLKsB,qBKLqB,CJyBC;CDnB7C,ACoBA,CEhBC,AETA,iBFSiB,AETA;ALMnB,ACoBA,CEhBC,CETC,qBAAqB;AFUvB,EHJE,ACoBA,AIzBA,eLKe,IKLI,sBJyBsB;CDnB1C,ACoBA,CIzBC,oBAAoB;ALMtB,ACoBA,EEhBE,AETA,YLKY,KGIK,CETC;ALMpB,CGIC,CFgBC,AIzBA,YAAY,8BJyB8B;AEf5C,CFgBC,AIzBA,CLKC,sCAAsC;ACqBxC,AIzBA,ELKE,AGIA,iBAAiB,MHJM;CGKxB,CHJC,ACoBA,AIzBA,aLKa,MKLM,sBJyBsB;AEf3C,CHJC,ACoBA,CIzBC,iBAAiB;ALMnB,ACoBA,EIzBE,YAAY;CACb,CLKC,ACoBA,AEhBA,iBAAiB,CHJC,wBCoBwB;AIxB5C,CJyBC,AEhBA,CHJC,uBAAuB;ACqBzB,AEhBA,EHJE,AKLA,4BAA4B,eLKe;CAC5C,CCoBC,AIzBA,WAAW,8BJyB8B;ADnB3C,CCoBC,CEhBC,AETA,iBFSiB,GETG;AJ0BtB,CEhBC,CHJC,AKLA,eAAe,ILKI;AGKrB,EHJE,ACoBA,AIzBA,iBAAiB,KLKK,mBCoBmB;CAC1C,CDpBC,AKLA,iBLKiB,OKLO;AJ0B1B,CIzBC,CLKC,qBAAqB;AKJvB,ELKE,ACoBA,aDpBa,6BCoB6B;CDnB3C,ACoBA,CEhBC,AETA,YAAY,KFSK;AHHnB,ACoBA,CEhBC,CETC,YAAY;AFUd,EFoBE,AI7BA,0BAA0B,EJ6BE;CAC7B,CDxBC,AKLA,kBAAkB,CLKC;ACyBrB,CI7BC,CLKC,qBAAqB;AKJvB,ELKE,AC4BA,AExBA,iBAAiB,QHJQ,AC4BA;CD3B1B,AGIA,CFwBC,mBAAmB;AD3BrB,AGIA,EFwBE,aAAa,CIjCC;AAChB,EJiCE,cAAc;ED3Bd,AC4BA,AExBA,AETA,gBAAgB,CFSC,EFwBE,CD5BC;CACrB,AGIA,AETA,CJiCC,mBAAmB;AD3BrB,AGIA,AETA,EJiCE,yBAAyB;CAC1B,CD5BC,AKLA,eAAe,kCLKkC;AC6BnD,CD5BC,AKLA,CFSC,iBAAiB;AHHnB,AKLA,CFSC,CFwBC,qBAAqB;AEvBvB,EFwBE,AIjCA,oBAAoB,GJiCG;CACxB,AIjCA,CLKC,AGIA,iBAAiB,QHJQ;AC6B3B,AIjCA,CFSC,CHJC,gBAAgB;AGKlB,CHJC,CC4BC,mBAAmB;AD3BrB,EC4BE,AExBA,OFwBO,OIjCO,GFSG;AERnB,CFSC,CHJC,AC4BA,QAAQ,SD5BS;AGKnB,CHJC,CC4BC,AIjCA,WJiCW,OIjCO;ALMpB,CC4BC,CExBC,AETA,aAAa,IFSI;AFyBnB,CExBC,AETA,CLKC,iBAAiB;AGKnB,AETA,CLKC,CC4BC,eAAe;AD3BjB,CC4BC,CExBC,AETA,aAAa,IFSI;AFyBnB,CExBC,CETC,mBAAmB;AFUrB,CETC,CLKC,eAAe;AKJjB,ELKE,AGIA,cFwBc,GExBG,GHJG;AC6BtB,CD5BC,AGIA,CETC,WAAW,CJiCC;AD3Bd,ACmEA,AE/DA,EETE,SAAS;ELMT,ACmEA,AE/DA,AETA,iBLKiB,AGIA,eETe;CLMjC,AGIA,CETC,EJwEE,WAAW,GIxEG;ALMlB,AGIA,CETC,GJ4EG,sBAAsB;AI3E1B,ELKE,AGIA,CFmEC,gBEnEgB,CHJC;CGKnB,CHJC,ACuEA,AI5EA,kBAAkB,KLKK;AGKzB,CETC,CLKC,ECuEE,WAAW,8BDvE8B;AKJ7C,CLKC,CGIC,EFuEE,eEvEe,OFuEO;AD1E1B,CGIC,CETC,CJgFC,0BIhF0B;AFU7B,EHJE,AC2EA,AIhFA,wBLKwB,EKLE;CLM3B,AKLA,CFSC,EFuEE,WAAW,IEvEI;AHHnB,AKLA,CFSC,GF2EG,oBAAoB;AE1ExB,EETE,CJoFC,YIpFY;CJqFd,CE3EC,AETA,iBFSiB,AETA;AJqFnB,CE3EC,CHJC,AKLA,YJoFY,AIpFA,cLKc;ACwH5B,AEnHA,CETC,CLKC,0BAA0B;AKJ5B,ELKE,ACuHA,AEnHA,iBAAiB,QHJQ;CGK1B,CHJC,AKLA,EJ4HE,WAAW,AI5HA,eLKe;AGK9B,CETC,CLKC,EC2HE,qBD3HqB,SC2HS;AI/HlC,CLKC,CGIC,CFuHC,gBEvHgB;AHHnB,CGIC,CFuHC,AIhIA,YLKY,MKLM;ALMpB,AGIA,EETE,EJgIE,WAAW,KIhIK;ELMlB,AGIA,AETA,EJoIE,eE3He,AETA,SLKS,IC+HI;CD9H/B,AGIA,AETA,EJoIE;AD9HH,AGIA,AETA,EJoIE,oBD/HoB;AACtB,EGIE,AETA,EJoIE,WAAW,EIpIE,EFSE;CAClB,CETC,EJwIE,cIxIc,WJwIW;AE9H7B,EHJE,AKLA,CJwIC,gBIxIgB,gBLKgB;CAClC,ACmIA,CE/HC,AETA,iBFSiB,CETC;ALMpB,ACmIA,CE/HC,CETC,YJwIY,sGIxIsG;AJoKpH,AE1JA,CETC,CLKC,0BAA0B;AKJ5B,ELKE,AC8JA,AE1JA,eHJe,EGIE;CHHlB,AGIA,GF0JG,WAAW;AD7Jf,AGIA,IF8JI,oBAAoB;EDjKtB,AGIA,CF8JC,gBE9JgB,SHJS;CGK3B,CHJC,ACkKA,eDlKe;AGKjB,CHJC,GCkKG,WAAW;ADjKf,EGIE,AETA,EJ2KE,eElKe,KFkKK,6BI3K6B;CFUpD,AETA,CLKC,CCsKC,oBDtKoB;AGKvB,AETA,CJ2KC,CDtKC,0BAA0B;ACuK5B,EDtKE,AGIA,AETA,ULKU,OGIO,IETI,GJ2KG;AAM1B,CD3KC,AGIA,AETA;ALMD,AGIA,AETA,EJgLE;EEtKA,AETA,EJgLE,SAAS,MEvKM,IETI;CFUtB,AETA,EJgLE,eD3Ke;AAClB,AGIA,AETA,CJgLC;AACD,ED3KE,AGIA,AETA,eLKe,EGIE,EFuKE,EIhLE;AJyMvB,CE/LC,AETA,CLKC,gBAAgB;AGKlB,AETA,ELKE,ACmMA,iBDnMiB;CAClB,CGIC,AETA,EJwME,eE/Le,IETI,KJwMK;ADlM5B,CGIC,AETA,EJwME;AE9LH,AETA,ELKE,ACmMA,iCDnMiC;CAClC,CGIC,AETA,EJwME,eE/Le,WF+LW;ADlM9B,CGIC,EF+LE,CIxMC,4BAA4B;AFUhC,CF+LC,CDnMC,CKLC,aLKa;AC2OhB,CI/OC,CLKC,AGIA,UHJU,OGIO;AERnB,CFSC,CHJC,AC0OA,WD1OW;AGKb,CHJC,GC0OG,iCAAiC;ADzOrC,EGIE,EFyOE,YIlPY,GFSG,YFyOY;AIjP/B,CFSC,CHJC,CC6OC,cD7Oc;AGKjB,CHJC,CC6OC;AD5OF,EGIE,AETA,EJkPE,eEzOe,kBFyOkB,CIlPC;CFUrC,CHJC,AKLA,CJkPC,eD7Oe,CKLC;AFUnB,CETC,CLKC,AC6OA,iBD7OiB;AKJnB,ELKE,AGIA,EFyOE,aD7Oa,EGIE,kBFyOkB;CD5OpC,AGIA,GF4OG,0BAA0B;AD/O9B,AGIA,EETE,CJqPC,aDhPa,sBKLsB;ALMtC,CCgPC,CE5OC,AETA,iBFSiB,AETA;AJsPnB,CE5OC,AETA,CLKC,aAAa;AGKf,AETA,CLKC,CCgPC;AD/OF,EGIE,AETA,EJqPE,cIrPc,CFSC,mBF4OmB;CE3OrC,AETA,CLKC,ECgPE,yBDhPyB,ECgPE;AE3O/B,AETA,CLKC,ECgPE;AD/OH,ECgPE,AE5OA,iBAAiB;CAClB,GF4OG,YIrPY,qBJqPqB;AE3OrC,AETA,GJqPG;EACD,AE5OA,AETA,iBFSiB,EETE;CFUpB,CETC,EJqPE,kBIrPkB,gBJqPgB;AE3OtC,CETC,GJqPG,0BAA0B;AIpP9B,EFSE,CF4OC,gBE5OgB;CF6OlB,AE5OA,CETC,mBAAmB;AJsPrB,AE5OA,EETE,kBAAkB;CACnB,CFSC,iBAAiB;AERnB,CFSC,eF4Oe;AAChB,AE5OA,EETE,mBAAmB;ELMnB,ACgPA,AE5OA,AETA,iBFSiB,MHJM,CKLC;CLMzB,AGIA,AETA;ALMD,AGIA,AETA;EFUE,AETA,gBAAgB,CFSC;CAClB,CETC,oBAAoB;AFUtB,EETE,EJqPE,aIrPa,CJqPC;EE3OhB,AETA,EJqPE,YAAY,GE5OG,SETS;CFU3B,CETC,EJqPE,aAAa,KIrPK;AFUtB,EETE,CJqPC,gBIrPgB;CAClB,CJqPC,AE5OA,iBAAiB;AERnB,CFSC;AACD,EETE,EJqPE,cAAc,AIrPA;EFUhB,AETA,CJqPC,gBE5OgB,GETG;CFUrB,CF4OC,AIrPA,eAAe;AFUjB,CETC,GJqPG,2BAA2B;AIpP/B,IJqPI,iBAAiB;EE3OnB,AETA,CJqPC,eIrPe,CFSC;CAClB,CF4OC,AIrPA,eAAe;AFUjB,CETC,GJqPG,4BAA4B;AIpPhC,EFSE,EF4OE,eE5Oe,CF4OC;CE3OnB,CETC,CJqPC,kBIrPkB;AFUrB,CF4OC,CIrPC,wBAAwB;CACzB,CLKC,AGIA,iBAAiB,SHJS;AKJ5B,CLKC,AGIA;AHHD,AGIA,EETE,oBAAoB;EFUpB,AETA,iBFSiB,CETC;CFUnB,AETA;AFUD,AETA;ELME,AGIA,AETA,gBAAgB,CFSC,oBHJoB;CGKtC,CHJC,AKLA,uBLKuB,AKLA;AFUzB,EHJE,AKLA,iBLKiB,CKLC;CACnB,CLKC,AGIA,iBAAiB,CHJC;AKJpB,CLKC,AGIA;AHHD,AGIA,EETE,mBAAmB;EFUnB,AETA,UAAU,OFSO;CAClB,CHJC,AKLA,UAAU,gBLKgB;AGK5B,CHJC,CKLC,WAAW;ALMb,EGIE,AETA,iBFSiB,AETA;CFUlB,CHJC,AKLA,YAAY,+BLK+B;AGK7C,CHJC,CKLC,aAAa;ALMf,EGIE,AETA,iBFSiB,CETC;CFUnB,AETA;AFUD,AETA,ELKE,0BAA0B;EAC1B,AGIA,AETA,gBAAgB,CFSC,KHJK;CACvB,AGIA,CETC,kBAAkB;ALMpB,AGIA,EETE,eAAe;ELMf,AGIA,AETA,iBFSiB,SHJS,AKLA;CLM3B,AGIA,CETC,mBAAmB;ALMrB,AGIA,EETE,kBAAkB;ELOlB,AGGA,AETA,iBFSiB,EHHE,OKNO;CFU3B,CHHC,AKNA,wBLMwB,UKNU;AFUpC,EHHE,AKNA,aAAa,gBLMgB;EAC7B,AKNA,eLMe,AKNA;ELOf,AGGA,AETA,iBLMiB,AGGA,wDETwD;CFU1E,CHHC,AKNA,gBLMgB,IKNI;AFUtB,EHHE,AKNA,sBLMsB,gCKNgC;ELOtD,AGGA,AETA,iBFSiB,EETE,OLMO;CAC3B,AGGA,CETC,UAAU;ALOZ,AGGA,EETE,oBAAoB;EFUpB,AETA,YAAY,KFSK;CAClB,AETA;AFUD,AETA;ELOE,AGGA,AETA,YAAY,KFSK,SHHS;CGI3B,CHHC,AKNA,aLMa,MKNM;AFUrB,EHHE,AKNA,QAAQ,ILMI;CACb,CKNC,UAAU;ALOZ,EGGE,AETA,YAAY,KFSK;CAClB,CETC,+BAA+B;AFUjC,EHHE,AKNA,0BLM0B,UKNU;ELOpC,AGGA,AETA,iBFSiB,SHHS,WKNW;CLOtC,AGGA,CETC,8BAA8B;ALOhC,AGGA,CETC;AACD,ELME,AGGA,iBAAiB,GHHG;CACrB,AGGA,CETC,YAAY;ALOd,AGGA,EETE,mBAAmB;ELOnB,AGGA,AETA,SAAS,QLMQ,AGGA;CAClB,CHHC,AKNA,UAAU,eLMe;AGI3B,CHHC,CKNC,YAAY;ALOd,EGGE,AETA,iBFSiB,kBETkB;CFUpC,CHHC,AKNA,iBLMiB,eKNe;AFUlC,CHHC,CKNC,qCAAqC;ALOvC,EGGE,AETA,iBFSiB,aETa;CFU/B,AETA,CLMC,0BAA0B;AGI5B,AETA,CLMC;AACD,EGGE,iBAAiB;CAClB,CHHC,cKNc,YLMY;AGI5B,AETA,CLMC;AACD,EKNE,aAAa;ELOb,AKNA,YAAY,+BLM+B;EAC3C,AGGA,AETA,eAAe,EFSE,EHHE;CGIpB,CHHC,AKNA,eLMe,WKNW;AFU5B,CHHC,CKNC,mBAAmB;ALOrB,EKNE,mBAAmB;ELOnB,AGGA,AETA,YAAY,KFSK,aHHa;CGI/B,CHHC,AKNA,kBAAkB,eLMe;AGInC,EHHE,AKNA,ULMU,OKNO;CLOlB,AKNA,CFSC,iBAAiB;AHFnB,AKNA,CFSC;AACD,EHHE,AKNA,cAAc,gBLMgB;CAC/B,CGGC,AETA,iBFSiB,CETC;ALOpB,CGGC,CETC,iBAAiB;AFUnB,EHHE,AKNA,gBAAgB,CLMC;CKLlB,CLMC,AGGA,aHHa,IGGI;AERnB,CFSC,CHHC,iBAAiB;AGInB,CHHC,CKNC,kBAAkB;ALOpB,EGGE,AETA,eAAe,EFSE;CAClB,CHHC,AKNA,oBAAoB,ILMI;AGI1B,EHHE,AKNA,eLMe,GKNG;CLOnB,AKNA,CFSC,iBAAiB;AHFnB,CGGC;AACD;EACE,iBAAiB;CAClB;AACD,EHHE,eAAe;CAChB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,wBAAwB;CACzB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,wBAAwB;CACzB,CGGC,iBAAiB;AHFnB,CGGC,eHHe;AAChB,AGGA;EHFE,AGGA,iBAAiB,aHHa;CGI/B,CHHC,0BAA0B;AGI5B,EHHE,mBAAmB;EACnB,AGGA,eHHe,EGGE;CAClB,CHHC,sBAAsB;AGIxB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;AACD,EGGE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB,CHHC,qCAAqC;AGIvC,EHHE,uBAAuB;EACvB,AGGA,iBHHiB,AGGA;CHFlB,AGGA;AHFD,AGGA,cHHc;AACd,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,EHHE,4CAA4C;EAC5C,AGGA,iBAAiB,OHHO;CGIzB,CHHC,mBAAmB;AGIrB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,gBAAgB;AGIlB,CHHC;AACD,EGGE,iBAAiB;CAClB;AACD,gBHHgB;AAChB,EGGE,iBAAiB;CAClB,CHHC,YAAY;AGId,EHHE,mBAAmB;CACpB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,iBAAiB;CAClB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,iBAAiB;CAClB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,mBAAmB;EACnB,AGGA,iBHHiB,AGGA;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,gBHHgB,CGGC;CAClB,CHHC,iBAAiB;AGInB,EHHE,kBAAkB;EAClB,0BAA0B;CAC3B,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,wBAAwB;CACzB;AACD,EGGE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD,EHHE,WAAW;CACZ,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,0BAA0B;CAC3B,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,0BAA0B;CAC3B,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,qCAAqC;EACrC,AGGA,gBHHgB,CGGC;CAClB,CHHC,kBAAkB;AGIpB,EHHE,kBAAkB;EAClB,AGGA,iBAAiB,SHHS;CAC3B,AGGA;AHFD,AGGA;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EHFE,AGGA,iBAAiB,aHHa;CGI/B,CHHC,uCAAuC;AGIzC,CHHC;AACD;EACE,oBAAoB;EACpB,AGGA,iBAAiB,SHHS;CGI3B,CHHC,eAAe;AGIjB,EHHE,2BAA2B;CAC5B;AACD,EGGE,iBAAiB;CAClB,CHHC,qBAAqB;AGIvB,EHHE,gBAAgB;CACjB;AACD,EGGE,iBAAiB;CAClB,CHHC,oBAAoB;AGItB,CHHC;AACD;EACE,AGGA,iBAAiB,GHHG;CACrB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,GHHG;CACrB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,OHHO;CACzB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,EHHE;CGIpB,CHHC,aAAa;AGIf,EHHE,aAAa;EACb,AGGA,gBHHgB,CGGC;CAClB,CHHC,gBAAgB;AGIlB,EHHE,iBAAiB;EACjB,mBAAmB;CACpB;AACD;EACE,eAAe;EACf,AGGA,aHHa,IGGI;CAClB,CHHC,eAAe;AGIjB,EHHE,kBAAkB;CACnB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,mBAAmB;CACpB;AACD,EGGE,iBAAiB;CAClB,CHHC,mBAAmB;AGIrB,CHHC;AACD;EGIE,iBAAiB;CAClB,eHHe;AAChB,AGGA,kBHHkB;AAClB,EGGE,iBAAiB;CAClB,CHHC,iCAAiC;AGInC,EHHE,iBAAiB;EACjB,AGGA,gBHHgB,CGGC;CAClB,CHHC,mBAAmB;AGIrB,CHHC;AACD;EACE,eAAe;EACf,AGGA,YHHY,KGGK;CAClB,CHHC,mBAAmB;AGIrB,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,eAAe;EACf,eAAe;EACf,AGGA,UHHU,OGGO;CHFlB,AGGA;AHFD,AGGA;EHFE,eAAe;EACf,AGGA,eHHe,EGGE;CAClB,CHHC,gBAAgB;AGIlB,EHHE,UAAU;CACX;AACD,EGGE,iBAAiB;CAClB,CHHC,eAAe;AGIjB,EHHE,gBAAgB;EAChB,AGGA,iBAAiB,EHHE;CGIpB,CHHC,WAAW;AGIb,EHHE,SAAS;CACV,CGGC,iBAAiB;AHFnB,CGGC,gBHHgB;AACjB,AGGA;EHFE,AGGA,iBHHiB,AGGA;CAClB,CHHC,cAAc;AGIhB,EHHE,kBAAkB;CACnB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,oBAAoB;CACrB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,sBAAsB;EACtB,AGGA,YHHY,KGGK;CAClB,CHHC,mBAAmB;AGIrB,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,oBAAoB;EACpB,AGGA,YHHY,KGGK;CHFlB,AGGA;AHFD,AGGA;EHFE,gBAAgB;EAChB,AGGA,iBAAiB,EHHE;CGIpB,CHHC,eAAe;AGIjB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,wBAAwB;AGI1B,EHHE,2BAA2B;EAC3B,AGGA,iBAAiB,oBHHoB;CGItC,CHHC,mBAAmB;AGIrB,EHHE,sBAAsB;EACtB,AGGA,cHHc,GGGG;CAClB,CHHC,mBAAmB;AGIrB,EHHE,yCAAyC;CAC1C,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,eAAe;EACf,AGGA,eHHe,EGGE;CAClB,CHHC,gBAAgB;AGIlB,EHHE,mBAAmB;EACnB,AGGA,iBAAiB,CHHC;CGInB,CHHC,mBAAmB;AGIrB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,YAAY;AGId,EHHE,iBAAiB;EACjB,AGGA,eHHe,EGGE;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,YHHY,KGGK;CAClB,CHHC,QAAQ;AGIV,EHHE,0BAA0B;EAC1B,AGGA,aHHa,IGGI;CAClB,CHHC,UAAU;AGIZ,EHHE,SAAS;EACT,AGGA,iBAAiB,EHHE;CGIpB,CHHC,qBAAqB;AGIvB,EHHE,2CAA2C;EAC3C,AGGA,iBAAiB,CHHC;CGInB,CHHC,kBAAkB;AGIpB,EHHE,6CAA6C;CAC9C,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,sBAAsB;EACtB,AGGA,YHHY,KGGK;CAClB,CHHC,gBAAgB;AGIlB,EHHE,kBAAkB;EAClB,AGGA,WHHW,MGGM;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,OHHO;CACzB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,OHHO;CGIzB,CHHC,mBAAmB;AGIrB,EHHE,kBAAkB;EAClB,AGGA,iBAAiB,KHHK;CACvB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,+BHH+B;CGIjD,CHHC,uDAAuD;AGIzD,EHHE,sDAAsD;EACtD,AGGA,iBAAiB,KHHK;CGIvB,CHHC,mBAAmB;AGIrB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,EHHE,oBAAoB;CACrB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,mBAAmB;CACpB,CGGC,iBAAiB;AHFnB,CGGC,iBHHiB;AAClB,AGGA;EHFE,AGGA,gBHHgB,CGGC;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,iBAAiB,EHHE;CGIpB,CHHC,YAAY;AGId,EHHE,YAAY;EACZ,AGGA,aHHa,IGGI;CAClB,CHHC,eAAe;AGIjB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,oBAAoB;AGItB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,mCAAmC;AGIrC,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;AACD,EGGE,gBHHgB,CGGC;AHFnB,CGGC;AACD,EHHE,aAAa;EACb,AGGA,iBAAiB,KHHK;CGIvB,CHHC,aAAa;AGIf,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,mBAAmB;AGIrB,EHHE,mBAAmB;EACnB,AGGA,iBAAiB,EHHE;CGIpB,CHHC,mBAAmB;AGIrB,EHHE,oBAAoB;CACrB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,gBAAgB;EAChB,AGGA,cHHc,GGGG;CAClB,CHHC,qCAAqC;AGIvC,EHHE,mBAAmB;EACnB,AGGA,WHHW,MGGM;CAClB,CHHC,YAAY;AGId,EHHE,SAAS;EACT,kBAAkB;CACnB;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,aAAa;AGIf,EHHE,YAAY;CACb,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,kBAAkB;CACnB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,oBAAoB;EACpB,AGGA,eHHe,EGGE;CAClB,CHHC,iBAAiB;AGInB,EHHE,wBAAwB;CACzB,CGGC,iBAAiB;AHFnB,CGGC;AACD,EHHE,YAAY;EACZ,AGGA,iBHHiB,AGGA;CHFlB,AGGA;AHFD,AGGA;EHFE,AGGA,YHHY,KGGK;CAClB,CHHC,gBAAgB;AGIlB,CHHC;AACD,EGGE,iBAAiB;CAClB,CHHC,kBAAkB;AGIpB,CHHC;EGIC,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;;GAGG;AACH;EACE,2CAA2C;EAC3C,6DAA6D;EAC7D,+QAA+Q;EAC/Q,oBAAoB;EACpB,mBAAmB;CACpB;AACD;;EAEE,sBAAsB;EACtB,gEAAgE;EAChE,mBAAmB;EACnB,YAAY;EACZ,qBAAqB;EACrB,oCAAoC;EACpC,mCAAmC;CACpC;AACD;EACE,qBAAqB;EACrB,uBAAuB;CACxB;AACD;EACE,iBAAiB;EACjB,kBAAkB;EAClB,qBAAqB;CACtB;AACD;EACE,eAAe;CAChB;AACD;EACE,eAAe;CAChB;AACD;EACE,eAAe;CAChB;AACD;EACE,eAAe;CAChB;AACD;EACE,0BAA0B;EAC1B,0BAA0B;EAC1B,oBAAoB;CACrB;AACD;EACE,0BAA0B;EAC1B,0BAA0B;EAC1B,mBAAmB;CACpB;AACD;;EAEE,YAAY;EACZ,mBAAmB;CACpB;AACD;;EAEE,aAAa;EACb,kBAAkB;CACnB;AACD;EAEE,wCAAwC;CACzC;AACD;EAEE,gDAAgD;CACjD;AAWD;EACE;IAEE,wBAAwB;GACzB;EACD;IAEE,0BAA0B;GAC3B;CACF;AAWD;EACE;IAEE,wBAAwB;GACzB;EACD;IAEE,2BAA2B;GAC5B;CACF;AACD;EACE,iEAAiE;EAGjE,yBAAyB;CAC1B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;;;;;EAKE,aAAa;CACd;AACD;oEACoE;AACpE,oEAAoE;AACpE;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;;;;EAKE;AACF;EACE,wBAAwB;EACxB,0CAA0C;EAC1C,wPAAwP;EACxP,oBAAoB;EACpB,mBAAmB;CACpB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkmBE,sBAAsB;EACtB,wBAAwB;EACxB,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,oCAAoC;EACpC,mCAAmC;CACpC;AACD;;;;;;;;EAWE,mCAAmC;CACpC;AAiCD;EACE;IACE,wBAAwB;GACzB;EACD;IACE,0BAA0B;GAC3B;CACF;AACD;EAGE,2CAA2C;CAC5C;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,uBAAuB;EACvB,yCAAyC;EACzC,mPAAmP;EACnP,oBAAoB;EACpB,mBAAmB;CACpB;AACD;;EAEE,uBAAuB;EACvB,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,uCAAuC;EACvC,oCAAoC;EACpC,mCAAmC;CACpC;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;EACE,4BAA4B;EAC5B,sDAAsD;EACtD,yXAAyX;EACzX,oBAAoB;EACpB,mBAAmB;CACpB;AACD;EACE,sBAAsB;EACtB,4BAA4B;EAC5B,mBAAmB;EACnB,oBAAoB;EACpB,eAAe;EACf,oCAAoC;EACpC,mCAAmC;CACpC;AACD;EACE,mBAAmB;EACnB,aAAa;CACd;AACD;EACE,iEAAiE;EAGjE,yBAAyB;CAC1B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,iEAAiE;EAGjE,0BAA0B;CAC3B;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;EACE,2EAA2E;EAG3E,wBAAwB;CACzB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;;EAEE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,iBAAiB;CAClB","file":"app-bundle.js","sourcesContent":["import { autoinject } from 'aurelia-dependency-injection';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject()\r\nexport class EventService {\r\n constructor(eventAggregator: EventAggregator) {\r\n this._eventAggregator = eventAggregator;\r\n }\r\n\r\n private readonly _eventAggregator: EventAggregator;\r\n\r\n publish(eventType: EventType, data: any = null){\r\n this._eventAggregator.publish(eventType, data);\r\n }\r\n\r\n subscribe(eventType: EventType, callback: (data) => void){\r\n this._eventAggregator.subscribe(eventType, callback)\r\n }\r\n}\r\n\r\nexport type EventType =\r\n 'login' |\r\n 'logout' |\r\n 'request' |\r\n 'response' |\r\n 'routed' |\r\n 'notAdmin' |\r\n 'adminDetected';","import { inject } from \"aurelia-framework\";\r\nimport { Router } from \"aurelia-router\";\r\nimport { RouterConfiguration } from \"aurelia-router\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { EventService } from '../resources/services/eventService';\r\n\r\n@inject(Router, EventAggregator, EventService)\r\nexport class RouterService {\r\n\r\n private currentRoute: string = 'statistics';\r\n private readonly eventAggregator: EventAggregator;\r\n private readonly eventService: EventService;\r\n\r\n constructor(router: Router, eventAggregator: EventAggregator, eventService: EventService) {\r\n console.log('router ctor'); \r\n console.log(router);\r\n this.eventAggregator = eventAggregator;\r\n this.eventService = eventService;\r\n this.eventAggregator.subscribe('router:navigation:complete', data => {\r\n if (data.instruction.fragment == '/') {\r\n this.currentRoute = 'statistics';\r\n } else {\r\n this.currentRoute = this.determineRoute(data.instruction.fragment);\r\n }\r\n console.log(\"route: \" + data.instruction.fragment);\r\n this.eventService.publish('routed', this.currentRoute);\r\n }); \r\n }\r\n\r\n public configure(config: RouterConfiguration) : RouterConfiguration {\r\n\r\n console.log('configuring router');\r\n config.title = \"ppppool\",\r\n config.map([\r\n { route: [\"\"], moduleId: \"./main/statistics/statistics\", title: 'Statistics', nav: true },\r\n { route: [\"picks\"], moduleId: \"./main/picks/picks\", title: 'Picks', nav: true },\r\n { route: [\"feedback\"], moduleId: \"./main/feedback/feedback\", title: 'Feedback' },\r\n { route: [\"admin\"], moduleId: \"./main/admin/admin\", title: 'Admin', nav: true },\r\n { route: [\"settings\"], moduleId: \"./main/settings/settings\", title: 'Settings', nav: true },\r\n ]);\r\n return config;\r\n }\r\n\r\n determineRoute(route) {\r\n let firstSlash = false;\r\n let buffer = '';\r\n for (let c of route) {\r\n if (!firstSlash) {\r\n if (c == '/') {\r\n firstSlash = true;\r\n continue;\r\n }\r\n }\r\n if (c == '/') {\r\n return buffer;\r\n }\r\n buffer = buffer + c;\r\n }\r\n return buffer;\r\n }\r\n}","import { inject } from 'aurelia-dependency-injection';\nimport { EventService } from './resources/services/eventService';\nimport { RouterService } from './shell/routerService';\nimport { Router } from 'aurelia-router';\n\n@inject(EventService, Router, RouterService)\nexport class App {\n constructor(eventService: EventService, router: Router, routerService: RouterService) {\n this.eventService = eventService;\n this.router = router;\n this.routerService = routerService;\n this.data = [\n {\n colOne: 1,\n colTwo: 2,\n },\n {\n colThree: 3,\n colFour: 4\n }\n ]\n }\n\n eventService: EventService;\n routerService: RouterService;\n router: Router;\n data: any;\n\n async activate() {\n await this.router.configure(this.routerService.configure); }\n}\n\n\n\n\n\n\n/*\n\n this.data = [\n {\n colOne: 1,\n colTwo: 2,\n },\n {\n colThree: 3,\n colFour: 4\n }\n ]\n\n\n*/","export default {\n debug: true,\n testing: true\n};\n","import { autoinject } from 'aurelia-dependency-injection';\r\nimport { HttpClient } from \"aurelia-fetch-client\";\r\n\r\n@autoinject()\r\nexport class RestService {\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n private http: HttpClient\r\n\r\n public async post(url: string, query: Object = null, headers: Object = {}, body: Object = {}): Promise {\r\n let urlQuery = this.getQueryUrl(url, query);\r\n this.requestDiagnostic();\r\n if(!headers){\r\n headers = {}\r\n }\r\n headers['Content-Type'] = 'application/json; charset=utf-8';\r\n let response = await this.http.fetch(urlQuery, {\r\n method: 'post',\r\n headers: headers ? headers : {},\r\n body: body ? JSON.stringify(body) : JSON.stringify({empty: true})\r\n });\r\n this.responseDiagnostic();\r\n let content = {};\r\n try {\r\n content = await response.json();\r\n } catch (err) {\r\n content = {};\r\n console.log(err);\r\n }\r\n return new Response(content[\"Status\"] ? content[\"Status\"] : response.status , content[\"StatusText\"] ? content[\"StatusText\"] : response.statusText, content);\r\n }\r\n\r\n\r\n private getQueryUrl(url: string, query: Object): string {\r\n return !query ? url : `${url}?${this.serialize(query)}`\r\n }\r\n\r\n private serialize(obj: Object): string {\r\n let str = [];\r\n for (var p in obj)\r\n if (obj.hasOwnProperty(p)) {\r\n str.push(encodeURIComponent(p) + \"=\" + encodeURIComponent(obj[p]));\r\n }\r\n return str.join(\"&\");\r\n }\r\n\r\n private requestDiagnostic() {\r\n }\r\n\r\n private responseDiagnostic() {\r\n }\r\n\r\n}\r\n\r\nexport class Response {\r\n constructor(status: number, statusText: string, data: Object = null){\r\n this.Status = status;\r\n this.StatusText = statusText;\r\n this.Data = data;\r\n this.IsError = status != 200;\r\n }\r\n\r\n StatusText: string;\r\n Status: number;\r\n Data: Object;\r\n IsError: Boolean;\r\n}","// http://www.w3schools.com/js/js_cookies.asp\r\nexport class CookieService {\r\n \r\n constructor(){\r\n \r\n }\r\n\r\n setCookie(cname: string, cvalue: string, exdays: number) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n }\r\n\r\n getCookie(cname: string) : string {\r\n var name = cname + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n cookieExists(cname: string) : boolean {\r\n var value = this.getCookie(cname);\r\n return value != \"\";\r\n }\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { CookieService } from './cookieService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { EventService, EventType } from './eventService';\r\nlet log = LogManager.getLogger('authService');\r\n\r\n@inject(CookieService, EventService)\r\nexport class AuthService {\r\n constructor(cs: CookieService, ea: EventService) {\r\n this.cookieService = cs;\r\n this.eventService = ea;\r\n }\r\n\r\n eventService: EventService;\r\n cookieService: CookieService;\r\n adminRequestCallback: (authToken: string) => Promise = null;\r\n\r\n login(token: WebToken) {\r\n log.debug('storing auth cookie');\r\n this.cookieService.setCookie(\"authToken\", JSON.stringify(token), 1000);\r\n this.eventService.publish('login');\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n let isLoggedIn = this.cookieService.cookieExists(\"authToken\");\r\n log.debug(`is logged in: ${isLoggedIn}`);\r\n return isLoggedIn;\r\n }\r\n\r\n getWebToken() : WebToken {\r\n if(this.isLoggedIn()){\r\n let data = JSON.parse(this.cookieService.getCookie(\"authToken\"));\r\n return new WebToken(data.email, data.authToken, data.userId, data.name);\r\n }\r\n return null;\r\n }\r\n\r\n logout() {\r\n log.debug(`logging out.`);\r\n this.cookieService.setCookie(\"authToken\", \"\", 1);\r\n window.location.replace(\"#\");\r\n this.eventService.publish('logout');\r\n window.location.reload(true);\r\n }\r\n\r\n setAdminRequestCallback(adminRequestCallback: (authToken: string) => Promise) {\r\n log.debug(\"setting admin request callback\");\r\n this.adminRequestCallback = adminRequestCallback;\r\n }\r\n\r\n async requestAdminAuthorization(): Promise {\r\n if (!this.isLoggedIn()) {\r\n return;\r\n }\r\n log.debug(`Requesting admin authorization`);\r\n let authToken = this.getWebToken().authToken;\r\n var isAdmin = await this.adminRequestCallback(authToken);\r\n log.debug(`Admin authorization: ${isAdmin}`);\r\n if(isAdmin){\r\n this.eventService.publish('adminDetected');\r\n } else {\r\n this.eventService.publish('notAdmin');\r\n }\r\n return isAdmin;\r\n }\r\n}\r\n\r\nexport class WebToken{\r\n constructor(email: string, authToken: string, userId: string, name: string){\r\n this.email = email;\r\n this.authToken = authToken;\r\n this.userId = userId;\r\n this.name = name;\r\n }\r\n\r\n readonly email: string;\r\n readonly authToken: string;\r\n readonly userId: string;\r\n readonly name: string;\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { RestService } from '../../resources/services/restService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { AuthService, WebToken } from '../../resources/services/authService';\r\nlet log = LogManager.getLogger('authClient');\r\n\r\n@inject(RestService, AuthService)\r\nexport class AuthClient {\r\n constructor(restService: RestService, authService: AuthService) {\r\n this.restService = restService;\r\n this.authService = authService;\r\n this.authService.setAdminRequestCallback(async authToken => {\r\n let result = await this.authorize(\"admin\", authToken);\r\n return result;\r\n });\r\n }\r\n\r\n private readonly serviceUrl: string = \"https://ppppoolauthservice.azurewebsites.net\"\r\n private readonly restService: RestService;\r\n private readonly authService: AuthService;\r\n\r\n async login(userId, password): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/login`, {\r\n userId: userId,\r\n password: password\r\n });\r\n\r\n if(!response.IsError){\r\n let data = response.Data;\r\n this.authService.login(new WebToken(data[\"email\"], data[\"authToken\"], data[\"userId\"], data[\"name\"]));\r\n }\r\n\r\n return !response.IsError\r\n }\r\n\r\n async authorize(role, authToken): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/authenticate`, {\r\n role: role,\r\n authToken: authToken\r\n });\r\n return !response.IsError;\r\n }\r\n}","import { Aurelia } from 'aurelia-framework'\nimport environment from './environment';\nimport { LogManager } from \"aurelia-framework\";\nimport { ConsoleAppender } from \"aurelia-logging-console\";\nimport { HttpClient } from 'aurelia-fetch-client';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { Container } from 'aurelia-dependency-injection';\nimport { AuthClient } from './microservices/auth/authClient';\nimport { EventService } from './resources/services/eventService';\nimport { RouterService } from './shell/routerService';\nimport { Router, RouterConfiguration } from 'aurelia-router';\n\n//Configure Bluebird Promises.\n(Promise).config({\n longStackTraces: environment.debug,\n warnings: {\n wForgottenReturn: false\n }\n});\n\nexport function configure(aurelia: Aurelia) {\n aurelia.use\n .standardConfiguration()\n .feature('resources')\n .feature('microservices/auth')\n .feature('shell')\n .feature('microservices/stats/current')\n .feature('microservices/stats/history')\n .feature('microservices/stats/majors')\n .feature('microservices/stats/monthly')\n .feature('microservices/stats/playoffs')\n .feature('microservices/stats/season')\n .feature('microservices/picks');\n\n if (environment.debug) {\n LogManager.addAppender(new ConsoleAppender());\n LogManager.setLevel(LogManager.logLevel.debug); // debug, info\n }\n\n if (environment.testing) {\n aurelia.use.plugin('aurelia-testing');\n }\n\n\n let log = LogManager.getLogger('RestService');\n let ea = aurelia.container.get(EventAggregator);\n let httpClient = aurelia.container.get(HttpClient)\n httpClient.configure(config => {\n config\n .withDefaults({\n headers: {\n 'Accept': 'application/json',\n 'X-Requested-With': 'Fetch'\n }\n })\n .withInterceptor({\n request(request) {\n //log.info(`Requesting ${request.method} ${request.url}`);\n log.info(request);\n ea.publish('request');\n return request;\n },\n response(response) {\n //log.info(`Received ${response.status} ${response.url}`);\n log.info(response);\n ea.publish('response');\n return response;\n }\n });\n });\n\n let authClient = aurelia.container.get(AuthClient);\n \n aurelia.start().then(() => aurelia.setRoot());\n}\n","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n \"./shell\"\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { EventService } from '../resources/services/eventService';\r\nimport { AuthService } from '../resources/services/authService';\r\n\r\n@inject(EventService, AuthService)\r\nexport class NavBarCustomElement {\r\n constructor(es: EventService, as: AuthService){\r\n this.eventService = es;\r\n this.authService = as;\r\n this.eventService.subscribe('routed', (data) => {\r\n this.currentRoute = data;\r\n });\r\n this.eventService.subscribe('adminDetected', async () => {\r\n this.isAdmin = true;\r\n });\r\n this.eventService.subscribe('notAdmin', async () => {\r\n this.isAdmin = false;\r\n }); \r\n this.eventService.subscribe('logout', () => {\r\n this.isAdmin = false;\r\n });\r\n }\r\n\r\n private currentRoute: string = 'statistics';\r\n private isAdmin: boolean;\r\n private readonly eventService: EventService;\r\n private readonly authService: AuthService;\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { EventService } from '../resources/services/eventService';\r\nimport { AuthService } from '../resources/services/authService';\r\nimport { RouterService } from './routerService';\r\nimport { Router } from \"aurelia-router\";\r\n\r\n@inject(EventService, AuthService, RouterService, Router)\r\nexport class ShellCustomElement {\r\n constructor(es: EventService, as: AuthService, rs: RouterService, r: Router) {\r\n this.eventService = es;\r\n this.authService = as;\r\n this.routerService = rs;\r\n this.router = r;\r\n this.eventService.subscribe('routed', (data) => {\r\n this.currentRoute = data;\r\n });\r\n this.eventService.subscribe('login', () => {\r\n this.loggedIn = true;\r\n });\r\n this.eventService.subscribe('logout', () => {\r\n this.loggedIn = false;\r\n });\r\n this.loggedIn = this.authService.isLoggedIn();\r\n //this.router.configure(this.routerService.configureRouter);\r\n }\r\n\r\n private loggedIn: boolean;\r\n private currentRoute: string = 'statistics';\r\n private readonly eventService: EventService;\r\n private readonly authService: AuthService;\r\n private readonly routerService: RouterService;\r\n private readonly router: Router;\r\n\r\n async attached(){\r\n await this.authService.requestAdminAuthorization();\r\n }\r\n\r\n}","import { inject } from \"aurelia-framework\";\r\nimport { bindable, bindingMode } from 'aurelia-framework';\r\nimport { EventService } from '../resources/services/eventService';\r\nimport { AuthService, WebToken } from '../resources/services/authService';\r\n\r\n@inject(AuthService, EventService)\r\nexport class TopBarCustomElement {\r\n private title: string = \"PPP PGA Pool\";\r\n private currentRoute: string = 'statistics';\r\n private loggedIn: boolean = false;\r\n\r\n constructor(authService, eventService) {\r\n this.authService = authService;\r\n this.eventService = eventService;\r\n this.eventService.subscribe('routed', (data) => {\r\n this.currentRoute = data;\r\n });\r\n this.eventService.subscribe('login', () => {\r\n this.loggedIn = true;\r\n });\r\n this.eventService.subscribe('logout', () => {\r\n this.loggedIn = false;\r\n });\r\n this.loggedIn = this.authService.isLoggedIn();\r\n }\r\n\r\n private readonly authService: AuthService;\r\n private readonly eventService: EventService;\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\n\nexport function configure(config: FrameworkConfiguration) {\n config.globalResources([\n 'bootstrap/css/bootstrap.css',\n 'resources/styles/iconfonts.css',\n 'resources/styles/datatablestyles.css',\n 'resources/styles/minton/css/components.css',\n 'resources/styles/minton/css/core.css',\n 'resources/styles/minton/css/elements.css',\n 'resources/styles/minton/css/icons.css',\n 'resources/styles/minton/css/menu.css',\n 'resources/styles/minton/css/pages.css',\n 'resources/styles/minton/css/responsive.css',\n 'resources/styles/minton/css/variables.css',\n 'resources/valueConverters/dateFormat',\n ]);\n}\n","\r\nexport class Admin {\r\n \r\n}","\r\nexport class Feedback {\r\n \r\n}","\r\nexport class Picks{\r\n \r\n}","\r\nexport class Statistics {\r\n message = \"statistics\";\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n \"./login\"\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { AuthClient } from './authClient';\r\n\r\n@inject(AuthClient)\r\nexport class LoginCustomElement {\r\n constructor(ac: AuthClient){\r\n this.authClient = ac;\r\n }\r\n\r\n authClient: AuthClient\r\n userId: string;\r\n password: string;\r\n errorMessage: string = '';\r\n\r\n async login(){\r\n this.errorMessage = \"\";\r\n if(!this.userId || !this.password){\r\n return;\r\n }\r\n let response = await this.authClient.login(this.userId, this.password);\r\n if(!response){\r\n this.errorMessage = \"Login failed\";\r\n }\r\n }\r\n}\r\n","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n \"./picks-main\"\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { RestService } from '../../resources/services/restService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { AuthService } from '../../resources/services/authService';\r\nlet log = LogManager.getLogger('pickClient');\r\n\r\n@inject(RestService, AuthService)\r\nexport class PickClient {\r\n constructor(restService: RestService, authService: AuthService) {\r\n this.restService = restService;\r\n this.authService = authService;\r\n }\r\n\r\n private readonly serviceUrl: string = \"https://ppppoolpicksservice.azurewebsites.net\"\r\n private readonly restService: RestService;\r\n private readonly authService: AuthService;\r\n\r\n async getCurrentPickInfo(): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getGolfers`, null, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n }\r\n\r\n async getPickForCurrent(tournamentIndex: string): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getPicks`, {\r\n season: 'current', tour: 'PGA TOUR', tournamentIndex: tournamentIndex, user: 'true'\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n }\r\n\r\n async pickGolfer(playerId: string, playerName: string){\r\n let response = await this.restService.post(`${this.serviceUrl}/api/pickGolfer`, {\r\n tour: 'PGA TOUR', playerId: playerId, playerName: playerName\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data; \r\n }\r\n}","import { inject } from 'aurelia-framework';\r\nimport { PickClient } from './pickClient';\r\n\r\n@inject(PickClient)\r\nexport class PicksMainCustomElement {\r\n constructor(pc: PickClient){\r\n this.pickClient = pc;\r\n }\r\n\r\n private readonly pickClient : PickClient;\r\n private tournament: Object;\r\n private golfers: Array;\r\n private pick: any;\r\n private selectedPlayer: Object;\r\n private submitting: boolean = false;\r\n\r\n async attached(){\r\n let data = await this.pickClient.getCurrentPickInfo();\r\n this.tournament = data[\"Tournament\"];\r\n this.golfers = data[\"Golfers\"];\r\n this.tournament[\"State\"] = 'picking';\r\n let pickData = await this.pickClient.getPickForCurrent(this.tournament[\"Index\"]);\r\n if(pickData[\"empty\"]){\r\n this.pick = 'none';\r\n } else {\r\n this.pick = pickData; \r\n }\r\n }\r\n\r\n async submitPick(){\r\n if(!this.selectedPlayer){\r\n return;\r\n }\r\n this.submitting = true;\r\n let response = await this.pickClient.pickGolfer(this.selectedPlayer[\"TournamentPlayerId\"], this.selectedPlayer[\"PlayerName\"]);\r\n console.log(response);\r\n let pickData = await this.pickClient.getPickForCurrent(this.tournament[\"Index\"]);\r\n if(pickData[\"empty\"]){\r\n this.pick = 'none';\r\n } else {\r\n this.pick = pickData; \r\n }\r\n this.submitting = false;\r\n }\r\n}","import { inject } from 'aurelia-dependency-injection';\r\nimport { RestService } from '../../resources/services/restService';\r\nimport { LogManager } from 'aurelia-framework';\r\nimport { AuthService } from '../../resources/services/authService';\r\nlet log = LogManager.getLogger('statsClient');\r\n\r\n@inject(RestService, AuthService)\r\nexport class StatsClient {\r\n constructor(restService: RestService, authService: AuthService) {\r\n this.restService = restService;\r\n this.authService = authService;\r\n }\r\n\r\n private readonly serviceUrl: string = \"https://ppppoolstatsservice.azurewebsites.net\"\r\n private readonly restService: RestService;\r\n private readonly authService: AuthService;\r\n\r\n async getTournamentStats(\r\n season: string = 'current', \r\n tour: string = 'PGA TOUR', \r\n key: string = 'current', \r\n value: string = ''): Promise {\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getTournament`, {\r\n season, tour, key, value\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n }); \r\n return response.Data;\r\n }\r\n\r\n async getSeasonStats(\r\n season: string = 'current',\r\n tour: string = 'PGA TOUR'): Promise{\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getSeason`, {\r\n season, tour\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n }\r\n\r\n async getMonthlyStats(\r\n season: string = 'current',\r\n tour: string = 'PGA TOUR',\r\n key: string = 'user'): Promise{\r\n let response = await this.restService.post(`${this.serviceUrl}/api/getMonthly`, {\r\n season, tour, key\r\n }, {\r\n Authorization: `Bearer ${this.authService.getWebToken().authToken}`\r\n });\r\n return response.Data;\r\n } \r\n}","\r\nexport class DateFormatValueConverter {\r\n toView(value) {\r\n let date = new Date(value);\r\n let year = date.getFullYear();\r\n let month = this.getNumber(date.getMonth() + 1);\r\n let day = this.getNumber(date.getDate());\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n getNumber(number){\r\n return (\"0\" + number).slice(-2);\r\n }\r\n}","import { inject } from 'aurelia-framework';\r\nimport { StatsClient } from '../statsClient';\r\n\r\n@inject(StatsClient)\r\nexport class CurrentStatsCustomElement {\r\n constructor(sc: StatsClient) {\r\n this.statsClient = sc;\r\n }\r\n\r\n private readonly statsClient: StatsClient;\r\n private tournament: Object = null;\r\n private course: Object = {};\r\n private golfers: Array = [];\r\n private poolies: Array = [];\r\n private golfersConfig: Object;\r\n private pooliesConfig: Object;\r\n private maxPoints: number;\r\n\r\n async attached() {\r\n await this.getData();\r\n window.setTimeout(() => {\r\n ($('#pooliestable')).dataTable(this.getPooliesConfig());\r\n ($('#golferstable')).dataTable(this.getGolfersConfig());\r\n ($('input')).addClass(\"form-control input-sm\");\r\n }, 1000);\r\n\r\n }\r\n\r\n async getData() {\r\n this.tournament = await this.statsClient.getTournamentStats();\r\n this.course = this.tournament[\"Course\"];\r\n this.poolies = >this.tournament[\"Poolies\"];\r\n this.golfers = >this.tournament[\"Golfers\"];\r\n let points = [];\r\n this.golfers.forEach(golfer => {\r\n points.push(golfer.Points);\r\n });\r\n this.maxPoints = Math.max.apply(null, points);\r\n }\r\n\r\n getPooliesConfig() {\r\n return {\r\n columnDefs: [\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"string\" },\r\n { type: \"string\" }\r\n ],\r\n order: [[1, 'asc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n\r\n getGolfersConfig() {\r\n return {\r\n columnDefs: [\r\n { type: \"string\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" }\r\n ],\r\n order: [[1, 'desc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './current-stats'\r\n ]);\r\n}\r\n","\r\nexport class HistoryStatsCustomElement {\r\n \r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './history-stats'\r\n ]);\r\n}\r\n","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './majors-stats'\r\n ]);\r\n}\r\n","\r\nexport class MajorsStatsCustomElement {\r\n \r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './monthly-stats'\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { StatsClient } from '../statsClient';\r\n\r\n@inject(StatsClient)\r\nexport class MonthlyStatsCustomElement {\r\n constructor(sc: StatsClient) {\r\n this.statsClient = sc;\r\n }\r\n\r\n private readonly statsClient: StatsClient;\r\n private poolies: Array;\r\n private currentMonth: number;\r\n private monthNames: Array;\r\n\r\n async attached() {\r\n await this.getData();\r\n window.setTimeout(() => {\r\n ($('#monthtable')).dataTable(this.getTableConfig());\r\n ($('input')).addClass(\"form-control input-sm\");\r\n }, 1000);\r\n }\r\n\r\n async getData() {\r\n let data = await this.statsClient.getMonthlyStats();\r\n this.poolies = >data;\r\n this.currentMonth = (>this.poolies[0][\"Points\"]).length;\r\n this.monthNames = [];\r\n for(var i = 0; i < this.currentMonth; i++){\r\n this.monthNames.push(this.getMonthName(i + 1));\r\n }\r\n }\r\n\r\n getMonthName(month: number): string {\r\n let strMonth = month > 9 ? `${month}` : `0${month}`;\r\n let date = new Date(`${strMonth}/02/2000`);\r\n let locale = 'en-us';\r\n return date.toLocaleString(locale, { month: \"long\" });\r\n }\r\n\r\n getTableConfig() {\r\n let columnDefs = [\r\n { type: 'string' }\r\n ]\r\n for (var i = 0; i < this.currentMonth; i++) {\r\n columnDefs.push({ type: 'num' });\r\n }\r\n\r\n return {\r\n columnDefs: columnDefs,\r\n order: [[this.currentMonth, 'desc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n\r\n getMonthNameLiteral(month: number) : string {\r\n switch (month) {\r\n case 0: return \"Invalid\"\r\n case 1: return 'January'\r\n case 2: return 'Februray'\r\n case 3: return 'March'\r\n case 4: return 'April'\r\n case 5: return 'May'\r\n case 6: return 'June'\r\n case 7: return 'July'\r\n case 8: return 'August'\r\n case 9: return 'September'\r\n case 10: return 'October'\r\n case 11: return 'November'\r\n case 12: return 'December'\r\n default:\r\n return 'invalid';\r\n }\r\n }\r\n\r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './playoff-stats'\r\n ]);\r\n}\r\n","export class PlayoffStatsCustomElement {\r\n \r\n}","import { FrameworkConfiguration } from 'aurelia-framework';\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config.globalResources([\r\n './season-stats'\r\n ]);\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { StatsClient } from '../statsClient';\r\n\r\n@inject(StatsClient)\r\nexport class SeasonStatsCustomElement {\r\n constructor(sc: StatsClient) {\r\n this.statsClient = sc;\r\n }\r\n\r\n private readonly statsClient: StatsClient;\r\n private poolies: Array;\r\n private season: number;\r\n private week: number;\r\n private tournamentName: string;\r\n\r\n private maxWins: number;\r\n private maxTop5: number;\r\n private maxTop10: number;\r\n private maxCuts: number;\r\n private maxPlusMinus: number;\r\n\r\n async attached() {\r\n await this.getData();\r\n window.setTimeout(() => {\r\n ($('#seasontable')).dataTable(this.getTableConfig());\r\n ($('input')).addClass(\"form-control input-sm\");\r\n }, 1000);\r\n }\r\n\r\n async getData() {\r\n let data = await this.statsClient.getSeasonStats();\r\n this.week = data[\"Week\"];\r\n this.season = data[\"Season\"];\r\n this.tournamentName = data[\"Tournament\"]\r\n this.tournamentName = this.tournamentName.toLowerCase().startsWith(\"the \") ? this.tournamentName : `The ${this.tournamentName}`;\r\n this.poolies = >data[\"Poolies\"];\r\n this.getMaxValues();\r\n }\r\n\r\n getTableConfig(): Object {\r\n return {\r\n columnDefs: [\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"string\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" },\r\n { type: \"num\" }\r\n ],\r\n order: [[0, 'asc']],\r\n paging: false,\r\n info: false\r\n };\r\n }\r\n\r\n getMaxValues() {\r\n let array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Wins\"]){\r\n array.push(poolie[\"Wins\"]);\r\n }\r\n });\r\n this.maxWins = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Top5\"]){\r\n array.push(poolie[\"Top5\"]);\r\n }\r\n });\r\n this.maxTop5 = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Top10\"]){\r\n array.push(poolie[\"Top10\"]);\r\n }\r\n });\r\n this.maxTop10 = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"Cuts\"]){\r\n array.push(poolie[\"Cuts\"]);\r\n }\r\n });\r\n this.maxCuts = Math.max.apply(null, array);\r\n\r\n array = [];\r\n this.poolies.forEach(poolie => {\r\n if(poolie[\"PlusMinus\"]){\r\n array.push(poolie[\"PlusMinus\"]);\r\n }\r\n });\r\n this.maxPlusMinus = Math.max.apply(null, array);\r\n\r\n }\r\n}","#topnav .top-bar-color {\r\n background-color: #55bb22;\r\n}","div.dataTables_length label {\r\n\tfont-weight: normal;\r\n\ttext-align: left;\r\n\twhite-space: nowrap;\r\n}\r\n\r\ndiv.dataTables_length select {\r\n\twidth: 75px;\r\n\tdisplay: inline-block;\r\n}\r\n\r\ndiv.dataTables_filter {\r\n\ttext-align: right;\r\n}\r\n\r\ndiv.dataTables_filter label {\r\n\tfont-weight: normal;\r\n\twhite-space: nowrap;\r\n\ttext-align: left;\r\n}\r\n\r\ndiv.dataTables_filter input {\r\n\tmargin-left: 0.5em;\r\n\tdisplay: inline-block;\r\n}\r\n\r\ndiv.dataTables_info {\r\n\tpadding-top: 8px;\r\n\twhite-space: nowrap;\r\n}\r\n\r\ndiv.dataTables_paginate {\r\n\tmargin: 0;\r\n\twhite-space: nowrap;\r\n\ttext-align: right;\r\n}\r\n\r\ndiv.dataTables_paginate ul.pagination {\r\n\tmargin: 2px 0;\r\n\twhite-space: nowrap;\r\n}\r\n\r\n@media screen and (max-width: 767px) {\r\n\tdiv.dataTables_length,\r\n\tdiv.dataTables_filter,\r\n\tdiv.dataTables_info,\r\n\tdiv.dataTables_paginate {\r\n\t\ttext-align: center;\r\n\t}\r\n}\r\n\r\n\r\ntable.dataTable td,\r\ntable.dataTable th {\r\n\t-webkit-box-sizing: content-box;\r\n\t-moz-box-sizing: content-box;\r\n\tbox-sizing: content-box;\r\n}\r\n\r\n\r\ntable.dataTable {\r\n\tclear: both;\r\n\tmargin-top: 6px !important;\r\n\tmargin-bottom: 6px !important;\r\n\tmax-width: none !important;\r\n}\r\n\r\ntable.dataTable thead .sorting,\r\ntable.dataTable thead .sorting_asc,\r\ntable.dataTable thead .sorting_desc,\r\ntable.dataTable thead .sorting_asc_disabled,\r\ntable.dataTable thead .sorting_desc_disabled {\r\n\tcursor: pointer;\r\n\tposition: relative;\r\n}\r\n\r\ntable.dataTable thead .sorting:after,\r\ntable.dataTable thead .sorting_asc:after,\r\ntable.dataTable thead .sorting_desc:after {\r\n\tposition: absolute;\r\n\ttop: 8px;\r\n\tright: 8px;\r\n\tdisplay: block;\r\n\tfont-family: 'Glyphicons Halflings Edit';\r\n\topacity: 0.5;\r\n}\r\ntable.dataTable thead .sorting:after {\r\n\topacity: 0.2;\r\n\tcontent: \"\\e150\"; /* sort */\r\n}\r\ntable.dataTable thead .sorting_asc:after {\r\n\tcontent: \"\\e155\"; /* sort-by-attributes */\r\n}\r\ntable.dataTable thead .sorting_desc:after {\r\n\tcontent: \"\\e156\"; /* sort-by-attributes-alt */\r\n}\r\n\r\ntable.dataTable thead .sorting_asc_disabled:after,\r\ntable.dataTable thead .sorting_desc_disabled:after {\r\n\tcolor: #eee;\r\n}\r\n\r\ntable.dataTable thead > tr > th {\r\n\tpadding-left: 8px;\r\n\tpadding-right: 30px;\r\n}\r\n\r\ntable.dataTable th:active {\r\n\toutline: none;\r\n}\r\n\r\n/* Scrolling */\r\ndiv.dataTables_scrollHead table {\r\n\tmargin-bottom: 0 !important;\r\n\tborder-bottom-left-radius: 0;\r\n\tborder-bottom-right-radius: 0;\r\n}\r\n\r\ndiv.dataTables_scrollHead table thead tr:last-child th:first-child,\r\ndiv.dataTables_scrollHead table thead tr:last-child td:first-child {\r\n\tborder-bottom-left-radius: 0 !important;\r\n\tborder-bottom-right-radius: 0 !important;\r\n}\r\n\r\ndiv.dataTables_scrollBody table {\r\n\tborder-top: none;\r\n\tmargin-top: 0 !important;\r\n\tmargin-bottom: 0 !important;\r\n}\r\n\r\ndiv.dataTables_scrollBody tbody tr:first-child th,\r\ndiv.dataTables_scrollBody tbody tr:first-child td {\r\n\tborder-top: none;\r\n}\r\n\r\ndiv.dataTables_scrollFoot table {\r\n\tmargin-top: 0 !important;\r\n\tborder-top: none;\r\n}\r\n\r\n/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column\r\n width calculations when using scrolling impossible to align columns. We have\r\n to use separate\r\n */\r\ntable.table-bordered.dataTable {\r\n\tborder-collapse: separate !important;\r\n}\r\ntable.table-bordered thead th,\r\ntable.table-bordered thead td {\r\n\tborder-left-width: 0;\r\n\tborder-top-width: 0;\r\n}\r\ntable.table-bordered tbody th,\r\ntable.table-bordered tbody td {\r\n\tborder-left-width: 0;\r\n\tborder-bottom-width: 0;\r\n}\r\ntable.table-bordered th:last-child,\r\ntable.table-bordered td:last-child {\r\n\tborder-right-width: 0;\r\n}\r\ndiv.dataTables_scrollHead table.table-bordered {\r\n\tborder-bottom-width: 0;\r\n}\r\n\r\n\r\n\r\n\r\n/*\r\n * TableTools styles\r\n */\r\n.table.dataTable tbody tr.active td,\r\n.table.dataTable tbody tr.active th {\r\n\tbackground-color: #08C;\r\n\tcolor: white;\r\n}\r\n\r\n.table.dataTable tbody tr.active:hover td,\r\n.table.dataTable tbody tr.active:hover th {\r\n\tbackground-color: #0075b0 !important;\r\n}\r\n\r\n.table.dataTable tbody tr.active th > a,\r\n.table.dataTable tbody tr.active td > a {\r\n\tcolor: white;\r\n}\r\n\r\n.table-striped.dataTable tbody tr.active:nth-child(odd) td,\r\n.table-striped.dataTable tbody tr.active:nth-child(odd) th {\r\n\tbackground-color: #017ebc;\r\n}\r\n\r\ntable.DTTT_selectable tbody tr {\r\n\tcursor: pointer;\r\n}\r\n\r\ndiv.DTTT .btn:hover {\r\n\ttext-decoration: none !important;\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu {\r\n z-index: 2003;\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu a {\r\n\tcolor: #333 !important; /* needed only when demo_page.css is included */\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu li {\r\n\tposition: relative;\r\n}\r\n\r\nul.DTTT_dropdown.dropdown-menu li:hover a {\r\n\tbackground-color: #0088cc;\r\n\tcolor: white !important;\r\n}\r\n\r\ndiv.DTTT_collection_background {\r\n\tz-index: 2002;\t\r\n}\r\n\r\n/* TableTools information display */\r\ndiv.DTTT_print_info {\r\n\tposition: fixed;\r\n\ttop: 50%;\r\n\tleft: 50%;\r\n\twidth: 400px;\r\n\theight: 150px;\r\n\tmargin-left: -200px;\r\n\tmargin-top: -75px;\r\n\ttext-align: center;\r\n\tcolor: #333;\r\n\tpadding: 10px 30px;\r\n\topacity: 0.95;\r\n\r\n\tbackground-color: white;\r\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\r\n\tborder-radius: 6px;\r\n\t\r\n\t-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);\r\n\t box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);\r\n}\r\n\r\ndiv.DTTT_print_info h6 {\r\n\tfont-weight: normal;\r\n\tfont-size: 28px;\r\n\tline-height: 28px;\r\n\tmargin: 1em;\r\n}\r\n\r\ndiv.DTTT_print_info p {\r\n\tfont-size: 14px;\r\n\tline-height: 20px;\r\n}\r\n\r\ndiv.dataTables_processing {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 100%;\r\n height: 60px;\r\n margin-left: -50%;\r\n margin-top: -25px;\r\n padding-top: 20px;\r\n padding-bottom: 20px;\r\n text-align: center;\r\n font-size: 1.2em;\r\n background-color: white;\r\n background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));\r\n background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);\r\n}\r\n\r\n\r\n\r\n/*\r\n * FixedColumns styles\r\n */\r\ndiv.DTFC_LeftHeadWrapper table,\r\ndiv.DTFC_LeftFootWrapper table,\r\ndiv.DTFC_RightHeadWrapper table,\r\ndiv.DTFC_RightFootWrapper table,\r\ntable.DTFC_Cloned tr.even {\r\n background-color: white;\r\n margin-bottom: 0;\r\n}\r\n \r\ndiv.DTFC_RightHeadWrapper table ,\r\ndiv.DTFC_LeftHeadWrapper table {\r\n\tborder-bottom: none !important;\r\n margin-bottom: 0 !important;\r\n border-top-right-radius: 0 !important;\r\n border-bottom-left-radius: 0 !important;\r\n border-bottom-right-radius: 0 !important;\r\n}\r\n \r\ndiv.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,\r\ndiv.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,\r\ndiv.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,\r\ndiv.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {\r\n border-bottom-left-radius: 0 !important;\r\n border-bottom-right-radius: 0 !important;\r\n}\r\n \r\ndiv.DTFC_RightBodyWrapper table,\r\ndiv.DTFC_LeftBodyWrapper table {\r\n border-top: none;\r\n margin: 0 !important;\r\n}\r\n \r\ndiv.DTFC_RightBodyWrapper tbody tr:first-child th,\r\ndiv.DTFC_RightBodyWrapper tbody tr:first-child td,\r\ndiv.DTFC_LeftBodyWrapper tbody tr:first-child th,\r\ndiv.DTFC_LeftBodyWrapper tbody tr:first-child td {\r\n border-top: none;\r\n}\r\n \r\ndiv.DTFC_RightFootWrapper table,\r\ndiv.DTFC_LeftFootWrapper table {\r\n border-top: none;\r\n margin-top: 0 !important;\r\n}\r\n\r\n\r\n/*\r\n * FixedHeader styles\r\n */\r\ndiv.FixedHeader_Cloned table {\r\n\tmargin: 0 !important\r\n}\r\n","@font-face {\r\n font-family: 'Glyphicons Halflings Edit';\r\n\r\n src: url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot');\r\n src: url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff') format('woff'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\r\n}\r\n\r\n.glyphicon {\r\n position: relative;\r\n top: 1px;\r\n display: inline-block;\r\n font-family: 'Glyphicons Halflings Edit' !important;\r\n font-style: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@font-face {\r\n font-family: 'FontAwesome Edit';\r\n src: url('src/resources/styles/minton/fonts/fontawesome-webfont.eot?v=4.5.0');\r\n src: url('src/resources/styles/minton/fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('src/resources/styles/minton/fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('src/resources/styles/minton/fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('src/resources/styles/minton/fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('src/resources/styles/minton/fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.fa {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 FontAwesome Edit !important;\r\n font-size: inherit;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@font-face {\r\n font-family: 'Material Design Iconic Font Edit';\r\n src: url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.eot?v=1.0.1');\r\n src: url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.eot?#iefix&v=1.0.1') format('embedded-opentype'), url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.ttf?v=1.0.1') format('truetype'), url('src/resources/styles/minton/fonts/Material-Design-Iconic-Font.svg?v=1.0.1#Material-Design-Iconic-Font') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n\r\n.md {\r\n font: normal normal normal 14px/1 'Material Design Iconic Font Edit' !important;\r\n}",".table-green {\r\n color: #00bb00;\r\n}\r\n\r\n.table-red {\r\n color: #cc0000;\r\n}\r\n\r\n.table-grey {\r\n color: #aaaaaa;\r\n}\r\n\r\n.form-control {\r\n \r\n width: 75%;\r\n\ttransition: none;\r\n}",".table-green {\r\n color: #00bb00;\r\n}\r\n\r\n.table-red {\r\n color: #cc0000;\r\n}\r\n\r\n.table-grey {\r\n color: #aaaaaa;\r\n}\r\n\r\n.form-control {\r\n \r\n width: 75%;\r\n\ttransition: none;\r\n}","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Components List\r\n\r\n - Buttons\r\n - Panels\r\n - Portlets\r\n - Checkbox and radio\r\n - Progressbars\r\n - Carousel\r\n - Tables\r\n - Form Elements\r\n - Calendar\r\n - Widgets\r\n =============*/\r\n/* ===========\r\n Buttons\r\n =============*/\r\n.btn {\r\n border-radius: 2px;\r\n padding: 6px 14px;\r\n}\r\n.btn-group-lg > .btn,\r\n.btn-lg {\r\n padding: 10px 16px !important;\r\n font-size: 16px;\r\n}\r\n.btn-group-sm > .btn,\r\n.btn-sm {\r\n padding: 5px 10px !important;\r\n}\r\n.btn-group-xs > .btn,\r\n.btn-xs {\r\n padding: 1px 5px !important;\r\n}\r\n.btn-group .btn + .btn,\r\n.btn-group .btn + .btn-group,\r\n.btn-group .btn-group + .btn,\r\n.btn-group .btn-group + .btn-group {\r\n margin-left: 0px;\r\n}\r\n.btn-group.open .dropdown-toggle {\r\n -webkit-box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset;\r\n box-shadow: 0 0 0 100px rgba(0, 0, 0, 0.1) inset;\r\n}\r\n.btn-primary,\r\n.btn-success,\r\n.btn-info,\r\n.btn-warning,\r\n.btn-danger,\r\n.btn-inverse,\r\n.btn-purple,\r\n.btn-pink {\r\n color: #ffffff !important;\r\n}\r\n.btn-default {\r\n background-color: #dae6ec;\r\n border-color: #dae6ec;\r\n}\r\n.btn-default:focus {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default:hover {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default:active {\r\n background-color: #dae6ec;\r\n border-color: #C2CED4;\r\n}\r\n.btn-default.active,\r\n.btn-default:active,\r\n.open > .dropdown-toggle.btn-default {\r\n background-color: #dae6ec !important;\r\n border-color: #C2CED4 !important;\r\n}\r\n.btn-primary {\r\n background-color: #3bafda !important;\r\n border: 1px solid #3bafda !important;\r\n}\r\n.btn-primary:hover,\r\n.btn-primary:focus,\r\n.btn-primary:active,\r\n.btn-primary.active,\r\n.btn-primary.focus,\r\n.btn-primary:active,\r\n.btn-primary:focus,\r\n.btn-primary:hover,\r\n.open > .dropdown-toggle.btn-primary {\r\n background-color: #28a5d4 !important;\r\n border: 1px solid #28a5d4 !important;\r\n}\r\n.btn-success {\r\n background-color: #00b19d !important;\r\n border: 1px solid #00b19d !important;\r\n}\r\n.btn-success:hover,\r\n.btn-success:focus,\r\n.btn-success:active,\r\n.btn-success.active,\r\n.btn-success.focus,\r\n.btn-success:active,\r\n.btn-success:focus,\r\n.btn-success:hover,\r\n.open > .dropdown-toggle.btn-success {\r\n background-color: #009886 !important;\r\n border: 1px solid #009886 !important;\r\n}\r\n.btn-info {\r\n background-color: #3ddcf7 !important;\r\n border: 1px solid #3ddcf7 !important;\r\n}\r\n.btn-info:hover,\r\n.btn-info:focus,\r\n.btn-info:active,\r\n.btn-info.active,\r\n.btn-info.focus,\r\n.btn-info:active,\r\n.btn-info:focus,\r\n.btn-info:hover,\r\n.open > .dropdown-toggle.btn-info {\r\n background-color: #25d8f6 !important;\r\n border: 1px solid #25d8f6 !important;\r\n}\r\n.btn-warning {\r\n background-color: #ffaa00 !important;\r\n border: 1px solid #ffaa00 !important;\r\n}\r\n.btn-warning:hover,\r\n.btn-warning:focus,\r\n.btn-warning:active,\r\n.btn-warning.active,\r\n.btn-warning.focus,\r\n.btn-warning:active,\r\n.btn-warning:focus,\r\n.btn-warning:hover,\r\n.open > .dropdown-toggle.btn-warning {\r\n background-color: #e69900 !important;\r\n border: 1px solid #e69900 !important;\r\n}\r\n.btn-danger {\r\n background-color: #ef5350 !important;\r\n border: 1px solid #ef5350 !important;\r\n}\r\n.btn-danger:active,\r\n.btn-danger:focus,\r\n.btn-danger:hover,\r\n.btn-danger.active,\r\n.btn-danger.focus,\r\n.btn-danger:active,\r\n.btn-danger:focus,\r\n.btn-danger:hover,\r\n.open > .dropdown-toggle.btn-danger {\r\n background-color: #ed3c39 !important;\r\n border: 1px solid #ed3c39 !important;\r\n}\r\n.btn-inverse {\r\n background-color: #4c5667 !important;\r\n border: 1px solid #4c5667 !important;\r\n}\r\n.btn-inverse:hover,\r\n.btn-inverse:focus,\r\n.btn-inverse:active,\r\n.btn-inverse.active,\r\n.btn-inverse.focus,\r\n.btn-inverse:active,\r\n.btn-inverse:focus,\r\n.btn-inverse:hover,\r\n.open > .dropdown-toggle.btn-inverse {\r\n background-color: #414a58 !important;\r\n border: 1px solid #414a58 !important;\r\n}\r\n.btn-purple {\r\n background-color: #7266ba !important;\r\n border: 1px solid #7266ba !important;\r\n}\r\n.btn-purple:hover,\r\n.btn-purple:focus,\r\n.btn-purple:active {\r\n background-color: #6254b2 !important;\r\n border: 1px solid #6254b2 !important;\r\n}\r\n.btn-pink {\r\n background-color: #f76397 !important;\r\n border: 1px solid #f76397 !important;\r\n}\r\n.btn-pink:hover,\r\n.btn-pink:focus,\r\n.btn-pink:active {\r\n background-color: #f64b87 !important;\r\n border: 1px solid #f64b87 !important;\r\n}\r\n.btn-custom {\r\n border-bottom: 3px solid transparent;\r\n}\r\n.btn-custom.btn-default {\r\n background-color: #dae6ec;\r\n border-bottom: 2px solid #a4b6bf !important;\r\n}\r\n.btn-custom.btn-primary {\r\n border-bottom: 2px solid #2494be !important;\r\n}\r\n.btn-custom.btn-success {\r\n border-bottom: 2px solid #007e70 !important;\r\n}\r\n.btn-custom.btn-info {\r\n border-bottom: 2px solid #08aac6 !important;\r\n}\r\n.btn-custom.btn-warning {\r\n border-bottom: 2px solid #cc8800 !important;\r\n}\r\n.btn-custom.btn-danger {\r\n border-bottom: 2px solid #c71612 !important;\r\n}\r\n.btn-custom.btn-inverse {\r\n border-bottom: 2px solid #21252c !important;\r\n}\r\n.btn-custom.btn-purple {\r\n border-bottom: 2px solid #443a80 !important;\r\n}\r\n.btn-custom.btn-pink {\r\n border-bottom: 2px solid #e80c59 !important;\r\n}\r\n.btn-rounded {\r\n border-radius: 2em;\r\n padding: 6px 18px;\r\n}\r\n.fileupload {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n.fileupload input.upload {\r\n cursor: pointer;\r\n filter: alpha(opacity=0);\r\n font-size: 20px;\r\n margin: 0;\r\n opacity: 0;\r\n padding: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n}\r\n/* ===========\r\n Panels\r\n =============*/\r\n.panel {\r\n border-radius: 0;\r\n margin-bottom: 20px;\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n border-top: none;\r\n}\r\n.panel .panel-body {\r\n padding: 20px;\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n.panel .panel-body p {\r\n margin: 0px;\r\n}\r\n.panel .panel-body p + p {\r\n margin-top: 15px;\r\n}\r\n.panel-heading {\r\n border-radius: 0;\r\n border: none !important;\r\n padding: 10px 20px;\r\n margin: 0 -2px;\r\n}\r\n.panel-default > .panel-heading {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n border-bottom: none;\r\n}\r\n.panel-title {\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.03em;\r\n color: #ffffff;\r\n}\r\n.panel-sub-title {\r\n margin-bottom: 3px;\r\n color: rgba(255, 255, 255, 0.6) !important;\r\n margin-top: -3px;\r\n}\r\n.panel-footer {\r\n background: transparent;\r\n border-top: 1px solid rgba(238, 238, 238, 0.2);\r\n}\r\n.panel-color .panel-title {\r\n color: #ffffff;\r\n}\r\n.panel-primary > .panel-heading {\r\n background-color: #3bafda;\r\n}\r\n.panel-success > .panel-heading {\r\n background-color: #00b19d;\r\n}\r\n.panel-info > .panel-heading {\r\n background-color: #3ddcf7;\r\n}\r\n.panel-warning > .panel-heading {\r\n background-color: #ffaa00;\r\n}\r\n.panel-danger > .panel-heading {\r\n background-color: #ef5350;\r\n}\r\n.panel-purple > .panel-heading {\r\n background-color: #7266ba;\r\n}\r\n.panel-pink > .panel-heading {\r\n background-color: #f76397;\r\n}\r\n.panel-inverse > .panel-heading {\r\n background-color: #4c5667;\r\n}\r\n.panel-border {\r\n border-radius: 3px;\r\n}\r\n.panel-border .panel-heading {\r\n background-color: transparent;\r\n border-top: 3px solid #ccc !important;\r\n border-radius: 3px;\r\n padding: 10px 20px 0px;\r\n}\r\n.panel-border .panel-body {\r\n padding: 15px 20px 20px 20px;\r\n}\r\n.panel-border.panel-primary .panel-heading {\r\n border-color: #3bafda !important;\r\n color: #3bafda !important;\r\n}\r\n.panel-border.panel-success .panel-heading {\r\n border-color: #00b19d !important;\r\n color: #00b19d !important;\r\n}\r\n.panel-border.panel-info .panel-heading {\r\n border-color: #3ddcf7 !important;\r\n color: #3ddcf7 !important;\r\n}\r\n.panel-border.panel-warning .panel-heading {\r\n border-color: #ffaa00 !important;\r\n color: #ffaa00 !important;\r\n}\r\n.panel-border.panel-danger .panel-heading {\r\n border-color: #ef5350 !important;\r\n color: #ef5350 !important;\r\n}\r\n.panel-border.panel-purple .panel-heading {\r\n border-color: #7266ba !important;\r\n color: #7266ba !important;\r\n}\r\n.panel-border.panel-pink .panel-heading {\r\n border-color: #f76397 !important;\r\n color: #f76397 !important;\r\n}\r\n.panel-border.panel-inverse .panel-heading {\r\n border-color: #4c5667 !important;\r\n color: #4c5667 !important;\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse].collapsed:before {\r\n content: '\\f067';\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle.collapsed:before {\r\n content: '\\f067';\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse] {\r\n display: block;\r\n}\r\n.panel-group .panel .panel-heading a[data-toggle=collapse]:before {\r\n content: '\\f068';\r\n display: block;\r\n float: right;\r\n font-family: 'FontAwesome';\r\n font-size: 14px;\r\n text-align: right;\r\n width: 25px;\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle {\r\n display: block;\r\n}\r\n.panel-group .panel .panel-heading .accordion-toggle:before {\r\n content: '\\f068';\r\n display: block;\r\n float: right;\r\n font-family: 'FontAwesome';\r\n font-size: 14px;\r\n text-align: right;\r\n width: 25px;\r\n}\r\n.panel-group .panel .panel-heading + .panel-collapse .panel-body {\r\n border-top: none;\r\n}\r\n.panel-group .panel-heading {\r\n padding: 12px 26px;\r\n}\r\n.panel-group.panel-group-joined .panel + .panel {\r\n border-top: 1px solid rgba(255, 255, 255, 0.3);\r\n margin-top: 0;\r\n}\r\n.panel-group-joined .panel-group .panel + .panel {\r\n border-top: 1px solid #eeeeee;\r\n margin-top: 0;\r\n}\r\n/* ===========\r\n Portlets\r\n =============*/\r\n.portlet {\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n -moz-transition: all 0.4s;\r\n -o-transition: all 0.4s;\r\n -webkit-transition: all 0.4s;\r\n margin-bottom: 20px;\r\n transition: all 0.4s;\r\n}\r\n.portlet .portlet-heading {\r\n border-radius: 3px;\r\n color: #ffffff;\r\n padding: 12px 20px;\r\n margin: -1px;\r\n}\r\n.portlet .portlet-heading .portlet-title {\r\n color: #ffffff;\r\n float: left;\r\n font-size: 14px;\r\n font-weight: 600;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.03em;\r\n}\r\n.portlet .portlet-heading .portlet-widgets {\r\n display: inline-block;\r\n float: right;\r\n font-size: 15px;\r\n line-height: 30px;\r\n padding-left: 15px;\r\n position: relative;\r\n text-align: right;\r\n}\r\n.portlet .portlet-heading .portlet-widgets .divider {\r\n margin: 0 5px;\r\n}\r\n.portlet .portlet-heading a {\r\n color: #999999;\r\n}\r\n.portlet .portlet-body {\r\n -moz-border-radius-bottomleft: 5px;\r\n -moz-border-radius-bottomright: 5px;\r\n -webkit-border-bottom-left-radius: 5px;\r\n -webkit-border-bottom-right-radius: 5px;\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n padding: 15px;\r\n color: #98a6ad;\r\n}\r\n.portlet .portlet-heading .portlet-widgets .collapsed .ion-minus-round:before {\r\n content: \"\\f217\" !important;\r\n}\r\n.portlet .portlet-heading.bg-purple a,\r\n.portlet .portlet-heading.bg-info a,\r\n.portlet .portlet-heading.bg-success a,\r\n.portlet .portlet-heading.bg-primary a,\r\n.portlet .portlet-heading.bg-danger a,\r\n.portlet .portlet-heading.bg-warning a,\r\n.portlet .portlet-heading.bg-inverse a,\r\n.portlet .portlet-heading.bg-pink a {\r\n color: #ffffff;\r\n}\r\n.panel-disabled {\r\n background: rgba(238, 238, 238, 0.2);\r\n cursor: progress;\r\n bottom: 20px;\r\n left: 10px;\r\n position: absolute;\r\n right: 10px;\r\n top: 0;\r\n}\r\n.loader-1 {\r\n width: 30px;\r\n height: 30px;\r\n background-color: #3bafda;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;\r\n animation: sk-rotateplane 1.2s infinite ease-in-out;\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n margin-left: -15px;\r\n margin-top: -15px;\r\n}\r\n@-webkit-keyframes sk-rotateplane {\r\n 0% {\r\n -webkit-transform: perspective(120px);\r\n }\r\n 50% {\r\n -webkit-transform: perspective(120px) rotateY(180deg);\r\n }\r\n 100% {\r\n -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg);\r\n }\r\n}\r\n@keyframes sk-rotateplane {\r\n 0% {\r\n transform: perspective(120px) rotateX(0deg) rotateY(0deg);\r\n -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);\r\n }\r\n 50% {\r\n transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n }\r\n 100% {\r\n transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n }\r\n}\r\n/* ===========\r\n Checkbox and Radio\r\n =============*/\r\n.checkbox {\r\n padding-left: 20px;\r\n}\r\n.checkbox label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.checkbox label::before {\r\n -o-transition: 0.3s ease-in-out;\r\n -webkit-transition: 0.3s ease-in-out;\r\n background-color: transparent;\r\n border-radius: 3px;\r\n border: 2px solid #98a6ad;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n position: absolute;\r\n transition: 0.3s ease-in-out;\r\n width: 17px;\r\n outline: none !important;\r\n}\r\n.checkbox label::after {\r\n color: #eeeeee;\r\n display: inline-block;\r\n font-size: 11px;\r\n height: 16px;\r\n left: 0;\r\n margin-left: -20px;\r\n padding-left: 3px;\r\n padding-top: 1px;\r\n position: absolute;\r\n top: 0;\r\n width: 16px;\r\n}\r\n.checkbox input[type=\"checkbox\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.checkbox input[type=\"checkbox\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.checkbox input[type=\"checkbox\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: none;\r\n}\r\n.checkbox input[type=\"checkbox\"]:checked + label::after {\r\n content: \"\\f00c\";\r\n font-family: 'FontAwesome';\r\n}\r\n.checkbox input[type=\"checkbox\"]:disabled + label::before {\r\n background-color: #eeeeee;\r\n cursor: not-allowed;\r\n}\r\n.checkbox.checkbox-circle label::before {\r\n border-radius: 50%;\r\n}\r\n.checkbox.checkbox-inline {\r\n margin-top: 0;\r\n}\r\n.checkbox.checkbox-single label {\r\n height: 17px;\r\n}\r\n.checkbox-primary input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.checkbox-primary input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-danger input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #ef5350;\r\n border-color: #ef5350;\r\n}\r\n.checkbox-danger input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-info input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3ddcf7;\r\n border-color: #3ddcf7;\r\n}\r\n.checkbox-info input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-warning input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #ffaa00;\r\n border-color: #ffaa00;\r\n}\r\n.checkbox-warning input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-success input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #00b19d;\r\n border-color: #00b19d;\r\n}\r\n.checkbox-success input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-purple input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #7266ba;\r\n border-color: #7266ba;\r\n}\r\n.checkbox-purple input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-pink input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #f76397;\r\n border-color: #f76397;\r\n}\r\n.checkbox-pink input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.checkbox-inverse input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #4c5667;\r\n border-color: #4c5667;\r\n}\r\n.checkbox-inverse input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n.radio {\r\n padding-left: 20px;\r\n}\r\n.radio label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.radio label::before {\r\n -o-transition: border 0.5s ease-in-out;\r\n -webkit-transition: border 0.5s ease-in-out;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border: 2px solid #98a6ad;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n outline: none !important;\r\n position: absolute;\r\n transition: border 0.5s ease-in-out;\r\n width: 17px;\r\n}\r\n.radio label::after {\r\n -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n -ms-transform: scale(0, 0);\r\n -o-transform: scale(0, 0);\r\n -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n -webkit-transform: scale(0, 0);\r\n -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n background-color: #98a6ad;\r\n border-radius: 50%;\r\n content: \" \";\r\n display: inline-block;\r\n height: 11px;\r\n left: 3px;\r\n margin-left: -20px;\r\n position: absolute;\r\n top: 3px;\r\n transform: scale(0, 0);\r\n transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\r\n width: 11px;\r\n}\r\n.radio input[type=\"radio\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.radio input[type=\"radio\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.radio input[type=\"radio\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n outline: thin dotted;\r\n}\r\n.radio input[type=\"radio\"]:checked + label::after {\r\n -ms-transform: scale(1, 1);\r\n -o-transform: scale(1, 1);\r\n -webkit-transform: scale(1, 1);\r\n transform: scale(1, 1);\r\n}\r\n.radio input[type=\"radio\"]:disabled + label::before {\r\n cursor: not-allowed;\r\n}\r\n.radio.radio-inline {\r\n margin-top: 0;\r\n}\r\n.radio.radio-single label {\r\n height: 17px;\r\n}\r\n.radio-primary input[type=\"radio\"] + label::after {\r\n background-color: #3bafda;\r\n}\r\n.radio-primary input[type=\"radio\"]:checked + label::before {\r\n border-color: #3bafda;\r\n}\r\n.radio-primary input[type=\"radio\"]:checked + label::after {\r\n background-color: #3bafda;\r\n}\r\n.radio-danger input[type=\"radio\"] + label::after {\r\n background-color: #ef5350;\r\n}\r\n.radio-danger input[type=\"radio\"]:checked + label::before {\r\n border-color: #ef5350;\r\n}\r\n.radio-danger input[type=\"radio\"]:checked + label::after {\r\n background-color: #ef5350;\r\n}\r\n.radio-info input[type=\"radio\"] + label::after {\r\n background-color: #3ddcf7;\r\n}\r\n.radio-info input[type=\"radio\"]:checked + label::before {\r\n border-color: #3ddcf7;\r\n}\r\n.radio-info input[type=\"radio\"]:checked + label::after {\r\n background-color: #3ddcf7;\r\n}\r\n.radio-warning input[type=\"radio\"] + label::after {\r\n background-color: #ffaa00;\r\n}\r\n.radio-warning input[type=\"radio\"]:checked + label::before {\r\n border-color: #ffaa00;\r\n}\r\n.radio-warning input[type=\"radio\"]:checked + label::after {\r\n background-color: #ffaa00;\r\n}\r\n.radio-success input[type=\"radio\"] + label::after {\r\n background-color: #00b19d;\r\n}\r\n.radio-success input[type=\"radio\"]:checked + label::before {\r\n border-color: #00b19d;\r\n}\r\n.radio-success input[type=\"radio\"]:checked + label::after {\r\n background-color: #00b19d;\r\n}\r\n.radio-purple input[type=\"radio\"] + label::after {\r\n background-color: #7266ba;\r\n}\r\n.radio-purple input[type=\"radio\"]:checked + label::before {\r\n border-color: #7266ba;\r\n}\r\n.radio-purple input[type=\"radio\"]:checked + label::after {\r\n background-color: #7266ba;\r\n}\r\n.radio-pink input[type=\"radio\"] + label::after {\r\n background-color: #f76397;\r\n}\r\n.radio-pink input[type=\"radio\"]:checked + label::before {\r\n border-color: #f76397;\r\n}\r\n.radio-pink input[type=\"radio\"]:checked + label::after {\r\n background-color: #f76397;\r\n}\r\n.radio-inverse input[type=\"radio\"] + label::after {\r\n background-color: #4c5667;\r\n}\r\n.radio-inverse input[type=\"radio\"]:checked + label::before {\r\n border-color: #4c5667;\r\n}\r\n.radio-inverse input[type=\"radio\"]:checked + label::after {\r\n background-color: #4c5667;\r\n}\r\n/* ===========\r\n Progressbars\r\n =============*/\r\n.progress {\r\n -webkit-box-shadow: none !important;\r\n background-color: rgba(152, 166, 173, 0.4);\r\n box-shadow: none !important;\r\n height: 10px;\r\n margin-bottom: 18px;\r\n overflow: hidden;\r\n}\r\n.progress-bar {\r\n box-shadow: none;\r\n font-size: 8px;\r\n font-weight: 600;\r\n line-height: 12px;\r\n}\r\n.progress.progress-sm {\r\n height: 5px !important;\r\n}\r\n.progress.progress-sm .progress-bar {\r\n font-size: 8px;\r\n line-height: 5px;\r\n}\r\n.progress.progress-md {\r\n height: 15px !important;\r\n}\r\n.progress.progress-md .progress-bar {\r\n font-size: 10.8px;\r\n line-height: 14.4px;\r\n}\r\n.progress.progress-lg {\r\n height: 20px !important;\r\n}\r\n.progress.progress-lg .progress-bar {\r\n font-size: 12px;\r\n line-height: 20px;\r\n}\r\n.progress-bar-primary {\r\n background-color: #3bafda;\r\n}\r\n.progress-bar-success {\r\n background-color: #00b19d;\r\n}\r\n.progress-bar-info {\r\n background-color: #3ddcf7;\r\n}\r\n.progress-bar-warning {\r\n background-color: #ffaa00;\r\n}\r\n.progress-bar-danger {\r\n background-color: #ef5350;\r\n}\r\n.progress-bar-inverse {\r\n background-color: #4c5667;\r\n}\r\n.progress-bar-purple {\r\n background-color: #7266ba;\r\n}\r\n.progress-bar-pink {\r\n background-color: #f76397;\r\n}\r\n.progress-animated {\r\n -webkit-animation-duration: 5s;\r\n -webkit-animation-name: animationProgress;\r\n -webkit-transition: 5s all;\r\n animation-duration: 5s;\r\n animation-name: animationProgress;\r\n transition: 5s all;\r\n}\r\n/* ===========\r\n Carousel\r\n =============*/\r\n.carousel-control {\r\n width: 10%;\r\n}\r\n.carousel-control span {\r\n position: absolute;\r\n top: 50%;\r\n /* pushes the icon in the middle of the height */\r\n z-index: 5;\r\n display: inline-block;\r\n font-size: 30px;\r\n}\r\n.carousel-indicators li {\r\n border: 2px solid #ffffff;\r\n}\r\n/* ===========\r\n Tables\r\n =============*/\r\n.table {\r\n margin-bottom: 10px;\r\n}\r\ntbody {\r\n color: rgba(255, 255, 255, 0.4);\r\n}\r\nth {\r\n color: rgba(255, 255, 255, 0.7);\r\n font-size: 15px;\r\n font-weight: 500;\r\n}\r\n.table > tbody > tr > td,\r\n.table > tbody > tr > th,\r\n.table > tfoot > tr > td,\r\n.table > tfoot > tr > th,\r\n.table > thead > tr > td,\r\n.table > thead > tr > th {\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.table > thead > tr > th {\r\n border-bottom: 2px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.table-hover > tbody > tr:hover {\r\n background-color: #323b44;\r\n}\r\n.table-striped > tbody > tr:nth-of-type(odd),\r\n.table-hover > tbody > tr:hover,\r\n.table > thead > tr > td.active,\r\n.table > tbody > tr > td.active,\r\n.table > tfoot > tr > td.active,\r\n.table > thead > tr > th.active,\r\n.table > tbody > tr > th.active,\r\n.table > tfoot > tr > th.active,\r\n.table > thead > tr.active > td,\r\n.table > tbody > tr.active > td,\r\n.table > tfoot > tr.active > td,\r\n.table > thead > tr.active > th,\r\n.table > tbody > tr.active > th,\r\n.table > tfoot > tr.active > th {\r\n background-color: #323b44 !important;\r\n}\r\n.table > tbody > tr.success > td,\r\n.table > tbody > tr.success > th,\r\n.table > tbody > tr > td.success,\r\n.table > tbody > tr > th.success,\r\n.table > tfoot > tr.success > td,\r\n.table > tfoot > tr.success > th,\r\n.table > tfoot > tr > td.success,\r\n.table > tfoot > tr > th.success,\r\n.table > thead > tr.success > td,\r\n.table > thead > tr.success > th,\r\n.table > thead > tr > td.success,\r\n.table > thead > tr > th.success {\r\n background-color: rgba(0, 177, 157, 0.15);\r\n}\r\n.table > tbody > tr.info > td,\r\n.table > tbody > tr.info > th,\r\n.table > tbody > tr > td.info,\r\n.table > tbody > tr > th.info,\r\n.table > tfoot > tr.info > td,\r\n.table > tfoot > tr.info > th,\r\n.table > tfoot > tr > td.info,\r\n.table > tfoot > tr > th.info,\r\n.table > thead > tr.info > td,\r\n.table > thead > tr.info > th,\r\n.table > thead > tr > td.info,\r\n.table > thead > tr > th.info {\r\n background-color: rgba(61, 220, 247, 0.15);\r\n}\r\n.table > tbody > tr.warning > td,\r\n.table > tbody > tr.warning > th,\r\n.table > tbody > tr > td.warning,\r\n.table > tbody > tr > th.warning,\r\n.table > tfoot > tr.warning > td,\r\n.table > tfoot > tr.warning > th,\r\n.table > tfoot > tr > td.warning,\r\n.table > tfoot > tr > th.warning,\r\n.table > thead > tr.warning > td,\r\n.table > thead > tr.warning > th,\r\n.table > thead > tr > td.warning,\r\n.table > thead > tr > th.warning {\r\n background-color: rgba(255, 170, 0, 0.15);\r\n}\r\n.table > tbody > tr.danger > td,\r\n.table > tbody > tr.danger > th,\r\n.table > tbody > tr > td.danger,\r\n.table > tbody > tr > th.danger,\r\n.table > tfoot > tr.danger > td,\r\n.table > tfoot > tr.danger > th,\r\n.table > tfoot > tr > td.danger,\r\n.table > tfoot > tr > th.danger,\r\n.table > thead > tr.danger > td,\r\n.table > thead > tr.danger > th,\r\n.table > thead > tr > td.danger,\r\n.table > thead > tr > th.danger {\r\n background-color: rgba(239, 83, 80, 0.15);\r\n}\r\n.table-bordered {\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.table-striped > tbody > tr:nth-of-type(odd) {\r\n background-color: #323b44;\r\n}\r\n.table-bordered > thead > tr > th,\r\n.table-bordered > tbody > tr > th,\r\n.table-bordered > tfoot > tr > th,\r\n.table-bordered > thead > tr > td,\r\n.table-bordered > tbody > tr > td,\r\n.table-bordered > tfoot > tr > td {\r\n border: 1px solid rgba(255, 255, 255, 0.2);\r\n}\r\n.modal-block {\r\n background: transparent;\r\n margin: 40px auto;\r\n max-width: 600px;\r\n padding: 0;\r\n position: relative;\r\n text-align: left;\r\n}\r\n/* Data table */\r\n#datatable-editable .actions a {\r\n padding: 5px;\r\n}\r\n#datatable-editable .form-control {\r\n background-color: transparent;\r\n width: 100%;\r\n}\r\n#datatable-editable .fa-trash-o {\r\n color: #ef5350;\r\n}\r\n#datatable-editable .fa-times {\r\n color: #ef5350;\r\n}\r\n#datatable-editable .fa-pencil {\r\n color: #29b6f6;\r\n}\r\n#datatable-editable .fa-save {\r\n color: #33b86c;\r\n}\r\n#datatable td {\r\n font-weight: normal;\r\n}\r\ndiv.dataTables_paginate ul.pagination {\r\n margin-top: 30px;\r\n}\r\ndiv.dataTables_info {\r\n padding-top: 38px;\r\n}\r\n.dt-buttons {\r\n float: left;\r\n}\r\ndiv#datatable-buttons_info {\r\n float: left;\r\n}\r\n/* Fixed Header */\r\n.fixedHeader-floating {\r\n top: 70px !important;\r\n}\r\n/* Key table */\r\ntable.dataTable th.focus,\r\ntable.dataTable td.focus {\r\n outline: 3px solid #3bafda !important;\r\n outline-offset: -1px;\r\n}\r\n.fixedHeader-floating {\r\n border: none !important;\r\n}\r\n.fixedHeader-floating .sorting,\r\n.fixedHeader-floating .sorting_asc {\r\n background-color: #323b44;\r\n border-color: rgba(238, 238, 238, 0.3);\r\n}\r\ndiv.DTS tbody tr.even {\r\n background-color: #272e35;\r\n}\r\ndiv.DTS div.dataTables_scrollBody {\r\n background: none !important;\r\n}\r\n/* Responsive table */\r\n.table-rep-plugin .table-responsive {\r\n border: none !important;\r\n}\r\n.table-rep-plugin .dropdown-menu li.checkbox-row {\r\n color: #ffffff !important;\r\n background-color: transparent !important;\r\n}\r\n.table-rep-plugin tbody th {\r\n font-size: 14px;\r\n font-weight: normal;\r\n}\r\n.table-rep-plugin .checkbox-row {\r\n padding-left: 40px;\r\n}\r\n.table-rep-plugin .checkbox-row label {\r\n display: inline-block;\r\n padding-left: 5px;\r\n position: relative;\r\n}\r\n.table-rep-plugin .checkbox-row label::before {\r\n -o-transition: 0.3s ease-in-out;\r\n -webkit-transition: 0.3s ease-in-out;\r\n background-color: #ffffff;\r\n border-radius: 3px;\r\n border: 1px solid #cccccc;\r\n content: \"\";\r\n display: inline-block;\r\n height: 17px;\r\n left: 0;\r\n margin-left: -20px;\r\n position: absolute;\r\n transition: 0.3s ease-in-out;\r\n width: 17px;\r\n outline: none !important;\r\n}\r\n.table-rep-plugin .checkbox-row label::after {\r\n color: #555555;\r\n display: inline-block;\r\n font-size: 11px;\r\n height: 16px;\r\n left: 0;\r\n margin-left: -20px;\r\n padding-left: 3px;\r\n padding-top: 1px;\r\n position: absolute;\r\n top: -1px;\r\n width: 16px;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"] {\r\n cursor: pointer;\r\n opacity: 0;\r\n z-index: 1;\r\n outline: none !important;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:disabled + label {\r\n opacity: 0.65;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:focus + label::before {\r\n outline-offset: -2px;\r\n outline: none;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::after {\r\n content: \"\\f00c\";\r\n font-family: 'FontAwesome';\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:disabled + label::before {\r\n background-color: #eeeeee;\r\n cursor: not-allowed;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::before {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.table-rep-plugin .checkbox-row input[type=\"checkbox\"]:checked + label::after {\r\n color: #ffffff;\r\n}\r\n/* Tablesaw */\r\n.tablesaw thead {\r\n background: rgba(255, 255, 255, 0.05);\r\n background-image: none;\r\n border: none;\r\n}\r\n.tablesaw thead th {\r\n text-shadow: none;\r\n letter-spacing: 0.06em;\r\n color: rgba(255, 255, 255, 0.7) !important;\r\n}\r\n.tablesaw thead tr:first-child th {\r\n padding-top: 1.1em;\r\n padding-bottom: 0.9em;\r\n font-weight: 600;\r\n font-family: inherit;\r\n border: none;\r\n}\r\n.tablesaw td,\r\n.tablesaw tbody th {\r\n font-size: inherit;\r\n line-height: inherit;\r\n padding: 10px !important;\r\n}\r\n.tablesaw-stack tbody tr,\r\n.tablesaw tbody tr {\r\n border-bottom: none;\r\n}\r\n.tablesaw-swipe .tablesaw-cell-persist {\r\n border-right: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after,\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {\r\n font-family: FontAwesome;\r\n font-size: 10px;\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-ascending button:after {\r\n content: \"\\f176\";\r\n}\r\n.tablesaw-sortable .tablesaw-sortable-head.tablesaw-sortable-descending button:after {\r\n content: \"\\f175\";\r\n}\r\n.tablesaw-bar .btn-select.btn-small:after,\r\n.tablesaw-bar .btn-select.btn-micro:after {\r\n font-size: 8px;\r\n padding-right: 10px;\r\n}\r\n.tablesaw-swipe .tablesaw-cell-persist {\r\n box-shadow: none;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn {\r\n text-shadow: none;\r\n background-image: none;\r\n color: rgba(255, 255, 255, 0.7) !important;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn.btn-select:hover {\r\n background: transparent;\r\n}\r\n.tablesaw-enhanced .tablesaw-bar .btn:hover,\r\n.tablesaw-enhanced .tablesaw-bar .btn:focus,\r\n.tablesaw-enhanced .tablesaw-bar .btn:active {\r\n color: #3bafda !important;\r\n background-color: #f5f5f5;\r\n outline: none !important;\r\n box-shadow: none !important;\r\n background-image: none;\r\n}\r\n/* Footable */\r\n.footable-odd {\r\n background-color: #2e363e;\r\n}\r\n/* Responsive table */\r\ntable.focus-on tbody tr.unfocused th,\r\ntable.focus-on tbody tr.unfocused td {\r\n color: rgba(255, 255, 255, 0.25);\r\n}\r\ntable.focus-on tbody tr.focused th {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\ntable.focus-on tbody tr.focused td {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.table-rep-plugin .sticky-table-header.fixed-solution {\r\n top: 70px !important;\r\n background-color: #272e35;\r\n border: 0;\r\n}\r\n/* =============\r\n Form elements\r\n ============= */\r\n.error {\r\n color: #ef5350;\r\n font-size: 12px;\r\n font-weight: 500;\r\n}\r\n.parsley-error {\r\n border-color: #ef5350 !important;\r\n}\r\n.parsley-errors-list {\r\n display: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n.parsley-errors-list.filled {\r\n display: block;\r\n}\r\n.parsley-errors-list > li {\r\n font-size: 12px;\r\n list-style: none;\r\n color: #f6504d;\r\n}\r\n/* Datepicker */\r\n.datepicker {\r\n padding: 8px;\r\n}\r\n.datepicker th {\r\n font-size: 14px !important;\r\n}\r\n.datepicker table tr td.today,\r\n.datepicker table tr td.today:hover,\r\n.datepicker table tr td.today.disabled,\r\n.datepicker table tr td.today.disabled:hover,\r\n.datepicker table tr td.selected,\r\n.datepicker table tr td.selected:hover,\r\n.datepicker table tr td.selected.disabled,\r\n.datepicker table tr td.selected.disabled:hover,\r\n.datepicker table tr td span.active,\r\n.datepicker table tr td span.active:hover,\r\n.datepicker table tr td span.active.disabled,\r\n.datepicker table tr td span.active.disabled:hover {\r\n background-image: none;\r\n}\r\n.datepicker table tr td span.active:hover,\r\n.datepicker table tr td span.active:hover:hover,\r\n.datepicker table tr td span.active.disabled:hover,\r\n.datepicker table tr td span.active.disabled:hover:hover,\r\n.datepicker table tr td span.active:active,\r\n.datepicker table tr td span.active:hover:active,\r\n.datepicker table tr td span.active.disabled:active,\r\n.datepicker table tr td span.active.disabled:hover:active,\r\n.datepicker table tr td span.active.active,\r\n.datepicker table tr td span.active:hover.active,\r\n.datepicker table tr td span.active.disabled.active,\r\n.datepicker table tr td span.active.disabled:hover.active,\r\n.datepicker table tr td span.active.disabled,\r\n.datepicker table tr td span.active:hover.disabled,\r\n.datepicker table tr td span.active.disabled.disabled,\r\n.datepicker table tr td span.active.disabled:hover.disabled,\r\n.datepicker table tr td span.active[disabled],\r\n.datepicker table tr td span.active:hover[disabled],\r\n.datepicker table tr td span.active.disabled[disabled],\r\n.datepicker table tr td span.active.disabled:hover[disabled] {\r\n background-color: #3bafda;\r\n}\r\n.datepicker table tr td.active,\r\n.datepicker table tr td.active:hover,\r\n.datepicker table tr td.active.disabled,\r\n.datepicker table tr td.active.disabled:hover {\r\n background-color: #3bafda !important;\r\n background-image: none;\r\n box-shadow: none;\r\n text-shadow: none;\r\n}\r\n.datepicker thead tr:first-child th:hover,\r\n.datepicker tfoot tr th:hover {\r\n background-color: #1c2127;\r\n}\r\n.datepicker-inline {\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.daterangepicker td.active,\r\n.daterangepicker td.active:hover {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.daterangepicker .input-mini.active {\r\n border: 1px solid #AAAAAA;\r\n}\r\n.daterangepicker .ranges li {\r\n -webkit-border-radius: 2px;\r\n border-radius: 2px;\r\n -moz-border-radius: 2px;\r\n background-clip: padding-box;\r\n color: #98a6ad;\r\n font-weight: 600;\r\n font-size: 12px;\r\n border-color: #323b44;\r\n background-color: #323b44;\r\n}\r\n.daterangepicker select.hourselect,\r\n.daterangepicker select.minuteselect,\r\n.daterangepicker select.secondselect,\r\n.daterangepicker select.ampmselect {\r\n border: 1px solid #e3e3e3;\r\n padding: 2px;\r\n width: 60px;\r\n}\r\n.daterangepicker .ranges li.active,\r\n.daterangepicker .ranges li:hover {\r\n background-color: #3bafda;\r\n border: 1px solid #3bafda;\r\n}\r\n.search-input {\r\n margin-bottom: 10px;\r\n}\r\n.ms-selectable {\r\n box-shadow: none;\r\n outline: none !important;\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n}\r\n.ms-container .ms-selectable li.ms-hover {\r\n background-color: #3bafda;\r\n}\r\n.ms-container .ms-selection li.ms-hover {\r\n background-color: #3bafda;\r\n}\r\n.note-editor {\r\n border: 2px solid rgba(255, 255, 255, 0.2);\r\n position: relative;\r\n color: #98a6ad;\r\n}\r\n.note-editor .note-toolbar {\r\n background-color: transparent;\r\n border-bottom: 1px solid #eeeeee;\r\n margin: 0;\r\n}\r\n.note-editor .note-statusbar {\r\n background-color: transparent;\r\n}\r\n.note-editor .note-statusbar .note-resizebar {\r\n border-top: none;\r\n height: 15px;\r\n padding-top: 3px;\r\n}\r\n.note-editor .note-editing-area .note-editable {\r\n background: transparent;\r\n color: #98a6ad;\r\n}\r\n.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,\r\n.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title,\r\n.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,\r\n.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {\r\n color: #323b44;\r\n}\r\n.note-popover .popover .popover-content {\r\n padding: 5px 0 10px 5px;\r\n}\r\n.note-toolbar {\r\n padding: 5px 0 10px 5px;\r\n}\r\n/* Timepicker */\r\n.bootstrap-timepicker-widget table td a:hover {\r\n background-color: transparent;\r\n border-color: transparent;\r\n border-radius: 4px;\r\n color: #3bafda;\r\n text-decoration: none;\r\n}\r\n.editor-horizontal .popover-content {\r\n padding: 9px 30px;\r\n}\r\n.datepicker table tr td.active,\r\n.datepicker table tr td.active:hover,\r\n.datepicker table tr td.active.disabled,\r\n.datepicker table tr td.active.disabled:hover {\r\n background-color: #3bafda !important;\r\n background-image: none;\r\n box-shadow: none;\r\n}\r\n/* Dropzone */\r\n.dropzone {\r\n min-height: 230px;\r\n border: 2px dashed rgba(255, 255, 255, 0.2);\r\n background: transparent;\r\n border-radius: 6px;\r\n}\r\n.dropzone .dz-message {\r\n font-size: 30px;\r\n}\r\n/* =============\r\n Calendar\r\n============= */\r\n.calendar {\r\n float: left;\r\n margin-bottom: 0px;\r\n}\r\n.fc-view {\r\n margin-top: 30px;\r\n}\r\n.none-border .modal-footer {\r\n border-top: none;\r\n}\r\n.fc-toolbar {\r\n margin-bottom: 5px;\r\n margin-top: 15px;\r\n}\r\n.fc-toolbar h2 {\r\n font-size: 18px;\r\n font-weight: 600;\r\n line-height: 30px;\r\n text-transform: uppercase;\r\n}\r\n.fc-day {\r\n background: transparent;\r\n}\r\n.fc-toolbar .fc-state-active,\r\n.fc-toolbar .ui-state-active,\r\n.fc-toolbar button:focus,\r\n.fc-toolbar button:hover,\r\n.fc-toolbar .ui-state-hover {\r\n z-index: 0;\r\n}\r\n.fc-widget-header {\r\n border: 1px solid #f5f5f5;\r\n}\r\n.fc-widget-content {\r\n border: 1px solid #f5f5f5;\r\n}\r\n.fc th.fc-widget-header {\r\n background: rgba(255, 255, 255, 0.2);\r\n font-size: 14px;\r\n line-height: 20px;\r\n padding: 10px 0px;\r\n text-transform: uppercase;\r\n}\r\n.fc-unthemed th,\r\n.fc-unthemed td,\r\n.fc-unthemed thead,\r\n.fc-unthemed tbody,\r\n.fc-unthemed .fc-divider,\r\n.fc-unthemed .fc-row,\r\n.fc-unthemed .fc-popover {\r\n background-color: transparent;\r\n border-color: rgba(255, 255, 255, 0.1);\r\n}\r\n.fc-button {\r\n background: #ffffff;\r\n border: 1px solid #f5f5f5;\r\n color: #555555;\r\n text-transform: capitalize;\r\n}\r\n.fc-text-arrow {\r\n font-family: inherit;\r\n font-size: 16px;\r\n}\r\n.fc-state-hover {\r\n background: #F5F5F5;\r\n}\r\n.fc-state-highlight {\r\n background: #f0f0f0;\r\n}\r\n.fc-cell-overlay {\r\n background: #f0f0f0;\r\n}\r\n.fc-unthemed .fc-today {\r\n background: transparent;\r\n}\r\n.fc-event {\r\n border-radius: 2px;\r\n border: none;\r\n cursor: move;\r\n font-size: 13px;\r\n margin: 5px 7px;\r\n padding: 5px 5px;\r\n text-align: center;\r\n}\r\n.external-event {\r\n color: #ffffff;\r\n cursor: move;\r\n margin: 10px 0;\r\n padding: 6px 10px;\r\n}\r\n.fc-basic-view td.fc-week-number span {\r\n padding-right: 5px;\r\n}\r\n.fc-basic-view td.fc-day-number {\r\n padding-right: 5px;\r\n}\r\n/* ===========\r\n Widgets\r\n =============*/\r\n/* Inbox-widget */\r\n.inbox-widget .inbox-item {\r\n border-bottom: 1px solid #323b44;\r\n overflow: hidden;\r\n padding: 10px 0;\r\n position: relative;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-img {\r\n display: block;\r\n float: left;\r\n margin-right: 15px;\r\n width: 40px;\r\n}\r\n.inbox-widget .inbox-item img {\r\n width: 40px;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-author {\r\n color: #f5f5f5;\r\n display: block;\r\n margin: 0;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-text {\r\n color: #98a6ad;\r\n display: block;\r\n font-size: 12px;\r\n margin: 0;\r\n}\r\n.inbox-widget .inbox-item .inbox-item-date {\r\n color: #98a6ad;\r\n font-size: 11px;\r\n position: absolute;\r\n right: 7px;\r\n top: 2px;\r\n}\r\n/* Chat widget */\r\n.conversation-list {\r\n list-style: none;\r\n height: 332px;\r\n padding: 0px 20px;\r\n}\r\n.conversation-list li {\r\n margin-bottom: 24px;\r\n}\r\n.conversation-list .chat-avatar {\r\n display: inline-block;\r\n float: left;\r\n text-align: center;\r\n width: 42px;\r\n}\r\n.conversation-list .chat-avatar img {\r\n border-radius: 100%;\r\n width: 100%;\r\n}\r\n.conversation-list .chat-avatar i {\r\n font-size: 12px;\r\n font-style: normal;\r\n color: #98a6ad;\r\n}\r\n.conversation-list .ctext-wrap {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n background: rgba(255, 255, 255, 0.1);\r\n border-radius: 3px;\r\n display: inline-block;\r\n padding: 12px;\r\n position: relative;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n}\r\n.conversation-list .ctext-wrap i {\r\n color: #f5f5f5;\r\n display: block;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: bold;\r\n position: relative;\r\n}\r\n.conversation-list .ctext-wrap p {\r\n margin: 0px;\r\n padding-top: 3px;\r\n color: #98a6ad;\r\n}\r\n.conversation-list .ctext-wrap:after {\r\n right: 100%;\r\n top: 0%;\r\n border: solid transparent;\r\n content: \" \";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-top-color: rgba(255, 255, 255, 0.1);\r\n border-width: 8px;\r\n margin-left: -1px;\r\n border-right-color: rgba(255, 255, 255, 0.1);\r\n}\r\n.conversation-list .conversation-text {\r\n display: inline-block;\r\n float: left;\r\n font-size: 12px;\r\n margin-left: 12px;\r\n width: 70%;\r\n}\r\n.conversation-list .odd .chat-avatar {\r\n float: right !important;\r\n}\r\n.conversation-list .odd .conversation-text {\r\n float: right !important;\r\n margin-right: 12px;\r\n text-align: right;\r\n width: 70% !important;\r\n}\r\n.conversation-list .odd .ctext-wrap:after {\r\n border-color: rgba(238, 238, 242, 0) !important;\r\n border-left-color: rgba(255, 255, 255, 0.1) !important;\r\n border-top-color: rgba(255, 255, 255, 0.1) !important;\r\n left: 100% !important;\r\n margin-right: -1px;\r\n}\r\n.chat-send {\r\n padding-left: 0px;\r\n padding-right: 30px;\r\n}\r\n.chat-send button {\r\n width: 100%;\r\n}\r\n.chat-inputbar {\r\n padding-left: 30px;\r\n}\r\n/* Todos widget */\r\n#todo-message {\r\n font-size: 16px;\r\n}\r\n.todo-list li {\r\n border-radius: 0px;\r\n border: 0px;\r\n margin: 0px;\r\n padding: 1px;\r\n color: #98a6ad;\r\n}\r\n.todo-list li:last-of-type {\r\n border-bottom: none;\r\n}\r\n.todo-list li:hover {\r\n background: transparent !important;\r\n}\r\n.todo-send {\r\n padding-left: 0px;\r\n}\r\n/* Widget-chart */\r\n.widget-chart ul li {\r\n width: 31.5%;\r\n display: inline-block;\r\n padding: 0px;\r\n}\r\n.widget-panel {\r\n padding: 30px 20px;\r\n padding-left: 30px;\r\n border-radius: 4px;\r\n position: relative;\r\n margin-bottom: 20px;\r\n}\r\n.widget-panel i {\r\n font-size: 60px;\r\n padding: 30px;\r\n background: rgba(255, 255, 255, 0.2);\r\n position: absolute;\r\n right: 0px;\r\n bottom: 0px;\r\n top: 0px;\r\n line-height: 60px;\r\n}\r\n.widget-user {\r\n min-height: 112px;\r\n}\r\n.widget-user img {\r\n height: 72px;\r\n float: left;\r\n}\r\n.widget-user .wid-u-info {\r\n margin-left: 90px;\r\n}\r\n.widget-user .wid-u-info p {\r\n white-space: nowrap;\r\n display: block;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.widget-simple-chart .circliful-chart {\r\n float: left;\r\n margin-top: -5px;\r\n}\r\n.widget-icon i {\r\n float: left;\r\n font-size: 48px;\r\n}\r\n.widget-icon .wid-icon-info {\r\n margin-left: 80px;\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Core file List\r\n\r\n - Common\r\n - Bootstrap custom\r\n - Helper class\r\n - Waves effect\r\n - Animation\r\n - Print css\r\n =============*/\r\n/* ===========\r\n Common\r\n =============*/\r\nbody {\r\n background: #2d353d;\r\n font-family: 'Roboto', sans-serif;\r\n margin: 0;\r\n color: #98a6ad;\r\n overflow-x: hidden !important;\r\n}\r\nhtml {\r\n overflow-x: hidden;\r\n position: relative;\r\n min-height: 100%;\r\n background: #2d353d;\r\n}\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6 {\r\n color: rgba(255, 255, 255, 0.8);\r\n font-family: 'Source Sans Pro', sans-serif;\r\n margin: 10px 0;\r\n}\r\nh1 small,\r\nh2 small,\r\nh3 small,\r\nh4 small,\r\nh5 small,\r\nh6 small {\r\n color: rgba(255, 255, 255, 0.5);\r\n}\r\nh1 {\r\n line-height: 43px;\r\n}\r\nh2 {\r\n line-height: 35px;\r\n}\r\nh3 {\r\n line-height: 30px;\r\n}\r\nh4 {\r\n line-height: 22px;\r\n}\r\n* {\r\n outline: none !important;\r\n}\r\na:hover {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\na:active {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\na:focus {\r\n outline: 0;\r\n text-decoration: none;\r\n}\r\n.container {\r\n width: auto;\r\n}\r\n.container-alt {\r\n margin-left: auto;\r\n margin-right: auto;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n}\r\n.footer {\r\n background-color: #323b44;\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n bottom: 0;\r\n color: #98a6ad;\r\n text-align: left !important;\r\n padding: 20px 30px;\r\n position: absolute;\r\n right: 0;\r\n left: 240px;\r\n}\r\n#wrapper {\r\n height: 100%;\r\n overflow: hidden;\r\n width: 100%;\r\n}\r\n.page {\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n}\r\n.page-title {\r\n margin-bottom: 0px;\r\n margin-top: 0px;\r\n}\r\n.page-header {\r\n border-bottom: 1px solid rgba(238, 238, 238, 0.2);\r\n}\r\n.page-title-box {\r\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.03), 0 1px 0 rgba(0, 0, 0, 0.03);\r\n padding: 20px;\r\n margin: -20px -20px 0 -20px;\r\n}\r\n.page-title-box .breadcrumb {\r\n margin-top: 0px;\r\n padding-top: 2px;\r\n}\r\n.page-title-box .breadcrumb a {\r\n color: #3bafda;\r\n}\r\n.page-title-box .breadcrumb > .active {\r\n color: #98a6ad;\r\n}\r\n.card-box {\r\n padding: 20px;\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n -webkit-border-radius: 5px;\r\n border-radius: 5px;\r\n -moz-border-radius: 5px;\r\n background-clip: padding-box;\r\n margin-bottom: 20px;\r\n background-color: #323b44;\r\n}\r\n.header-title {\r\n text-transform: uppercase;\r\n font-size: 15px;\r\n font-weight: 600;\r\n letter-spacing: 0.04em;\r\n line-height: 16px;\r\n margin-bottom: 8px;\r\n}\r\n.social-links li a {\r\n -webkit-border-radius: 50%;\r\n background: #EFF0F4;\r\n border-radius: 50%;\r\n color: #7A7676;\r\n display: inline-block;\r\n height: 30px;\r\n line-height: 30px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n/* ===========\r\n Bootstrap-custom\r\n =============*/\r\n.row {\r\n margin-right: -10px;\r\n margin-left: -10px;\r\n}\r\n.col-lg-1,\r\n.col-lg-10,\r\n.col-lg-11,\r\n.col-lg-12,\r\n.col-lg-2,\r\n.col-lg-3,\r\n.col-lg-4,\r\n.col-lg-5,\r\n.col-lg-6,\r\n.col-lg-7,\r\n.col-lg-8,\r\n.col-lg-9,\r\n.col-md-1,\r\n.col-md-10,\r\n.col-md-11,\r\n.col-md-12,\r\n.col-md-2,\r\n.col-md-3,\r\n.col-md-4,\r\n.col-md-5,\r\n.col-md-6,\r\n.col-md-7,\r\n.col-md-8,\r\n.col-md-9,\r\n.col-sm-1,\r\n.col-sm-10,\r\n.col-sm-11,\r\n.col-sm-12,\r\n.col-sm-2,\r\n.col-sm-3,\r\n.col-sm-4,\r\n.col-sm-5,\r\n.col-sm-6,\r\n.col-sm-7,\r\n.col-sm-8,\r\n.col-sm-9,\r\n.col-xs-1,\r\n.col-xs-10,\r\n.col-xs-11,\r\n.col-xs-12,\r\n.col-xs-2,\r\n.col-xs-3,\r\n.col-xs-4,\r\n.col-xs-5,\r\n.col-xs-6,\r\n.col-xs-7,\r\n.col-xs-8,\r\n.col-xs-9 {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n}\r\n.breadcrumb {\r\n background-color: transparent;\r\n margin-bottom: 15px;\r\n margin-top: 5px;\r\n}\r\n.dropdown-menu {\r\n padding: 4px 0;\r\n background-color: #1c2127;\r\n -webkit-animation: dropdownOpen 0.3s ease-out;\r\n -o-animation: dropdownOpen 0.3s ease-out;\r\n animation: dropdownOpen 0.3s ease-out;\r\n border: 0;\r\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n}\r\n.dropdown-menu > li > a {\r\n padding: 6px 20px;\r\n color: #98a6ad;\r\n}\r\n.dropdown-menu .divider {\r\n background-color: rgba(238, 238, 238, 0.2);\r\n}\r\n.dropdown-menu > li > a:focus,\r\n.dropdown-menu > li > a:hover {\r\n color: rgba(255, 255, 255, 0.7);\r\n text-decoration: none;\r\n background-color: #121518;\r\n}\r\nhr {\r\n border-top: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\ncode {\r\n color: #3bafda;\r\n border-radius: 4px;\r\n}\r\ncode,\r\npre {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n}\r\npre {\r\n background-color: #21272c;\r\n color: #eeeeee;\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.bg-empty {\r\n background: transparent !important;\r\n}\r\n.bg-primary {\r\n background-color: #3bafda !important;\r\n}\r\n.bg-success {\r\n background-color: #00b19d !important;\r\n}\r\n.bg-info {\r\n background-color: #3ddcf7 !important;\r\n}\r\n.bg-warning {\r\n background-color: #ffaa00 !important;\r\n}\r\n.bg-danger {\r\n background-color: #ef5350 !important;\r\n}\r\n.bg-muted {\r\n background-color: #F5F5F5 !important;\r\n}\r\n.bg-inverse {\r\n background-color: #4c5667 !important;\r\n}\r\n.bg-purple {\r\n background-color: #7266ba !important;\r\n}\r\n.bg-pink {\r\n background-color: #f76397 !important;\r\n}\r\n.bg-white {\r\n background-color: #ffffff !important;\r\n}\r\n.text-white {\r\n color: #ffffff;\r\n}\r\n.text-danger {\r\n color: #ef5350;\r\n}\r\n.text-muted {\r\n color: #98a6ad !important;\r\n}\r\n.text-primary {\r\n color: #3bafda;\r\n}\r\n.text-warning {\r\n color: #ffaa00;\r\n}\r\n.text-success {\r\n color: #00b19d;\r\n}\r\n.text-info {\r\n color: #3ddcf7;\r\n}\r\n.text-inverse {\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n.text-pink {\r\n color: #f76397;\r\n}\r\n.text-purple {\r\n color: #7266ba;\r\n}\r\n.form-control {\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.1);\r\n border-radius: 4px;\r\n color: #ffffff;\r\n height: 36px;\r\n max-width: 100%;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n -webkit-transition: all 300ms linear;\r\n -moz-transition: all 300ms linear;\r\n -o-transition: all 300ms linear;\r\n -ms-transition: all 300ms linear;\r\n transition: all 300ms linear;\r\n}\r\n.form-control:focus {\r\n background-color: #323b44;\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n outline: 0 !important;\r\n color: #ffffff;\r\n}\r\n.form-control[disabled],\r\n.form-control[readonly],\r\nfieldset[disabled] .form-control {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n}\r\ninput.form-control::-webkit-input-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control:-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control::-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\ninput.form-control:-ms-input-placeholder {\r\n color: rgba(255, 255, 255, 0.3);\r\n font-weight: normal;\r\n}\r\n.label {\r\n color: #ffffff !important;\r\n}\r\n.label-primary {\r\n background-color: #3bafda;\r\n}\r\n.label-success {\r\n background-color: #00b19d;\r\n}\r\n.label-info {\r\n background-color: #3ddcf7;\r\n}\r\n.label-warning {\r\n background-color: #ffaa00;\r\n}\r\n.label-danger {\r\n background-color: #ef5350;\r\n}\r\n.label-purple {\r\n background-color: #7266ba;\r\n}\r\n.label-pink {\r\n background-color: #f76397;\r\n}\r\n.label-dark {\r\n background: #4f595b;\r\n}\r\n.label-inverse {\r\n background-color: #4c5667;\r\n}\r\n.badge {\r\n font-weight: 600;\r\n padding: 3px 5px;\r\n font-size: 12px;\r\n margin-top: 1px;\r\n}\r\n.badge-xs {\r\n font-size: 9px;\r\n}\r\n.badge-xs,\r\n.badge-sm {\r\n -webkit-transform: translate(0, -2px);\r\n -ms-transform: translate(0, -2px);\r\n -o-transform: translate(0, -2px);\r\n transform: translate(0, -2px);\r\n}\r\n.badge-primary {\r\n background-color: #3bafda;\r\n}\r\n.badge-success {\r\n background-color: #00b19d;\r\n}\r\n.badge-info {\r\n background-color: #3ddcf7;\r\n}\r\n.badge-warning {\r\n background-color: #ffaa00;\r\n}\r\n.badge-danger {\r\n background-color: #ef5350;\r\n}\r\n.badge-purple {\r\n background-color: #7266ba;\r\n}\r\n.badge-pink {\r\n background-color: #f76397;\r\n}\r\n.badge-inverse {\r\n background-color: #4c5667;\r\n}\r\n/* Pagination/ Pager */\r\n.pagination > li:first-child > a,\r\n.pagination > li:first-child > span {\r\n border-bottom-left-radius: 3px;\r\n border-top-left-radius: 3px;\r\n}\r\n.pagination > li:last-child > a,\r\n.pagination > li:last-child > span {\r\n border-bottom-right-radius: 3px;\r\n border-top-right-radius: 3px;\r\n}\r\n.pagination > li > a,\r\n.pagination > li > span {\r\n color: #ffffff;\r\n background-color: transparent;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n.pagination > li > a:hover,\r\n.pagination > li > span:hover,\r\n.pagination > li > a:focus,\r\n.pagination > li > span:focus {\r\n background-color: #e4e7ea;\r\n}\r\n.pagination-split li {\r\n margin-left: 5px;\r\n display: inline-block;\r\n float: left;\r\n}\r\n.pagination-split li:first-child {\r\n margin-left: 0;\r\n}\r\n.pagination-split li a {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n}\r\n.pagination > .active > a,\r\n.pagination > .active > span,\r\n.pagination > .active > a:hover,\r\n.pagination > .active > span:hover,\r\n.pagination > .active > a:focus,\r\n.pagination > .active > span:focus {\r\n background-color: #3bafda;\r\n border-color: #3bafda;\r\n}\r\n.pager li > a,\r\n.pager li > span {\r\n -moz-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n color: #ffffff;\r\n background: transparent;\r\n}\r\n.pager li > a:hover,\r\n.pager li > span:hover {\r\n background: rgba(255, 255, 255, 0.2);\r\n}\r\n.pagination > .disabled > a,\r\n.pagination > .disabled > a:focus,\r\n.pagination > .disabled > a:hover,\r\n.pagination > .disabled > span,\r\n.pagination > .disabled > span:focus,\r\n.pagination > .disabled > span:hover,\r\n.pager .disabled > a,\r\n.pager .disabled > a:focus,\r\n.pager .disabled > a:hover,\r\n.pager .disabled > span {\r\n background: rgba(255, 255, 255, 0.2);\r\n color: #ffffff;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\nblockquote .small,\r\nblockquote footer,\r\nblockquote small {\r\n color: #ffffff;\r\n}\r\n/* Tabs */\r\n.tabs {\r\n margin: 0 auto;\r\n padding: 0px;\r\n position: relative;\r\n white-space: nowrap;\r\n width: 100%;\r\n}\r\n.tabs li.tab {\r\n display: block;\r\n float: left;\r\n margin: 0;\r\n text-align: center;\r\n}\r\n.tabs li.tab a {\r\n -moz-transition: color 0.28s ease;\r\n -ms-transition: color 0.28s ease;\r\n -o-transition: color 0.28s ease;\r\n -webkit-transition: color 0.28s ease;\r\n color: #eeeeee;\r\n display: block;\r\n height: 100%;\r\n text-decoration: none;\r\n transition: color 0.28s ease;\r\n width: 100%;\r\n}\r\n.tabs li.tab a.active {\r\n color: #3bafda !important;\r\n}\r\n.tabs .indicator {\r\n background-color: #3bafda;\r\n bottom: 0;\r\n height: 2px;\r\n position: absolute;\r\n will-change: left, right;\r\n}\r\n.tabs-top .indicator {\r\n top: 0;\r\n}\r\n.nav-pills li a {\r\n line-height: 36px !important;\r\n}\r\n.nav-pills li.active a {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li.active a:hover {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li.active a:focus {\r\n background-color: #3bafda !important;\r\n}\r\n.nav-pills li a:hover {\r\n color: #3bafda;\r\n background: transparent !important;\r\n}\r\n.nav.nav-tabs + .tab-content {\r\n border: 2px solid rgba(255, 255, 255, 0.1);\r\n margin-bottom: 30px;\r\n padding: 30px;\r\n color: #98a6ad;\r\n background-color: #323b44;\r\n}\r\n.tabs-vertical-env {\r\n margin-bottom: 30px;\r\n}\r\n.tabs-vertical-env .tab-content {\r\n border: 2px solid rgba(255, 255, 255, 0.1);\r\n display: table-cell;\r\n margin-bottom: 30px;\r\n padding: 30px;\r\n color: #98a6ad;\r\n vertical-align: top;\r\n background-color: #272e35;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical {\r\n display: table-cell;\r\n min-width: 120px;\r\n vertical-align: top;\r\n width: 150px;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n background-color: #ffffff;\r\n border: 0;\r\n}\r\n.tabs-vertical-env .nav.tabs-vertical li > a {\r\n color: #333333;\r\n text-align: center;\r\n white-space: nowrap;\r\n}\r\n.nav.nav-tabs > li.active > a {\r\n border: 0;\r\n}\r\n.nav.nav-tabs > li > a,\r\n.nav.tabs-vertical > li > a {\r\n background: rgba(255, 255, 255, 0.1) !important;\r\n border-radius: 0;\r\n border: none;\r\n cursor: pointer;\r\n line-height: 50px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n letter-spacing: 0.03em;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n font-family: 'Source Sans Pro', sans-serif;\r\n}\r\n.nav.nav-tabs > li > a:hover,\r\n.nav.tabs-vertical > li > a:hover {\r\n color: #3bafda !important;\r\n background: rgba(255, 255, 255, 0.1) !important;\r\n}\r\n.nav.nav-tabs > li:last-of-type a {\r\n margin-right: 0px;\r\n}\r\n.nav.nav-tabs {\r\n border-bottom: 0;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus,\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n border: none;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:focus,\r\n.nav-tabs > li.active > a:hover,\r\n.tabs-vertical > li.active > a,\r\n.tabs-vertical > li.active > a:focus,\r\n.tabs-vertical > li.active > a:hover {\r\n color: #3bafda !important;\r\n}\r\n.navtab-custom li {\r\n margin-bottom: -2px;\r\n}\r\n.navtab-custom li a {\r\n border-top: 2px solid transparent !important;\r\n}\r\n.navtab-custom li.active a {\r\n border-top: 2px solid #3bafda !important;\r\n}\r\n.nav-tab-left.navtab-custom li a {\r\n border: none !important;\r\n border-left: 2px solid transparent !important;\r\n}\r\n.nav-tab-left.navtab-custom li.active a {\r\n border-left: 2px solid #3bafda !important;\r\n}\r\n.nav-tab-right.navtab-custom li a {\r\n border: none !important;\r\n border-right: 2px solid transparent !important;\r\n}\r\n.nav-tab-right.navtab-custom li.active a {\r\n border-right: 2px solid #3bafda !important;\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus,\r\n.tabs-vertical-env .nav.tabs-vertical li.active > a {\r\n border: none;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:focus,\r\n.nav-tabs > li.active > a:hover,\r\n.tabs-vertical > li.active > a,\r\n.tabs-vertical > li.active > a:focus,\r\n.tabs-vertical > li.active > a:hover {\r\n color: #3bafda !important;\r\n}\r\n/* Dropcap */\r\n.dropcap {\r\n font-size: 3.1em;\r\n}\r\n.dropcap,\r\n.dropcap-circle,\r\n.dropcap-square {\r\n display: block;\r\n float: left;\r\n font-weight: 400;\r\n line-height: 36px;\r\n margin-right: 6px;\r\n text-shadow: none;\r\n}\r\n/* Modal */\r\n.modal .modal-dialog .modal-content {\r\n -moz-box-shadow: none;\r\n -webkit-box-shadow: none;\r\n border-color: rgba(238, 238, 238, 0.3);\r\n border-radius: 2px;\r\n box-shadow: none;\r\n padding: 30px;\r\n background-color: #323b44;\r\n}\r\n.modal .modal-dialog .modal-content .modal-header {\r\n margin: 0;\r\n padding: 0;\r\n border-bottom: 2px solid rgba(238, 238, 238, 0.3);\r\n padding-bottom: 15px;\r\n}\r\n.modal .modal-dialog .modal-content .modal-body {\r\n padding: 20px 0;\r\n}\r\n.modal .modal-dialog .modal-content .modal-footer {\r\n padding: 0;\r\n padding-top: 15px;\r\n border-top: 1px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.modal .close {\r\n color: #ffffff;\r\n text-shadow: none;\r\n}\r\n.modal-full {\r\n width: 98%;\r\n}\r\n.modal-backdrop {\r\n background-color: #eeeeee;\r\n}\r\n.modal-content .nav.nav-tabs + .tab-content {\r\n margin-bottom: 0px;\r\n}\r\n.modal-content .panel-group {\r\n margin-bottom: 0px;\r\n}\r\n.modal-content .panel {\r\n border-top: none;\r\n}\r\n/* Custom-modal */\r\n.modal-demo {\r\n background-color: #FFF;\r\n width: 600px;\r\n -webkit-border-radius: 4px;\r\n border-radius: 4px;\r\n -moz-border-radius: 4px;\r\n background-clip: padding-box;\r\n display: none;\r\n}\r\n.modal-demo .close {\r\n position: absolute;\r\n top: 15px;\r\n right: 25px;\r\n color: #eeeeee;\r\n}\r\n.custom-modal-title {\r\n padding: 15px 25px 15px 25px;\r\n line-height: 22px;\r\n font-size: 18px;\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n text-align: left;\r\n margin: 0px;\r\n}\r\n.custom-modal-text {\r\n padding: 20px;\r\n}\r\n.custombox-modal-flash .close,\r\n.custombox-modal-rotatedown .close {\r\n top: 20px;\r\n z-index: 9999;\r\n}\r\n.tabs-vertical-env .tab-content {\r\n margin-bottom: 0px;\r\n}\r\n.table > thead > tr > td.middle-align,\r\n.table > tbody > tr > td.middle-align {\r\n vertical-align: middle;\r\n}\r\n.legendLabel {\r\n padding-left: 10px !important;\r\n}\r\n/* Alerts */\r\n.alert-success {\r\n background-color: rgba(0, 177, 157, 0.25) !important;\r\n border-color: rgba(0, 177, 157, 0.5) !important;\r\n color: #00b19d;\r\n}\r\n.alert-success .alert-link {\r\n color: #00b19d;\r\n}\r\n.alert-info {\r\n background-color: rgba(61, 220, 247, 0.2) !important;\r\n border-color: rgba(61, 220, 247, 0.5) !important;\r\n color: #3ddcf7;\r\n}\r\n.alert-info .alert-link {\r\n color: #3ddcf7;\r\n}\r\n.alert-warning {\r\n background-color: rgba(255, 170, 0, 0.2) !important;\r\n border-color: rgba(255, 170, 0, 0.5) !important;\r\n color: #ffaa00;\r\n}\r\n.alert-warning .alert-link {\r\n color: #ffaa00;\r\n}\r\n.alert-danger {\r\n background-color: rgba(239, 83, 80, 0.2) !important;\r\n border-color: rgba(239, 83, 80, 0.5) !important;\r\n color: #ef5350;\r\n}\r\n.alert-danger .alert-link {\r\n color: #ef5350;\r\n}\r\n/* List group */\r\n.list-group-item {\r\n border: 1px solid rgba(238, 238, 238, 0.3);\r\n background: transparent;\r\n color: #ffffff !important;\r\n}\r\n.list-group-item:hover {\r\n background-color: rgba(255, 255, 255, 0.07) !important;\r\n}\r\n.list-group-item.disabled,\r\n.list-group-item.disabled:focus,\r\n.list-group-item.disabled:hover {\r\n background-color: rgba(255, 255, 255, 0.07) !important;\r\n}\r\n.list-group-item.active,\r\n.list-group-item.active:hover,\r\n.list-group-item.active:focus {\r\n background-color: #3bafda !important;\r\n border-color: #3bafda;\r\n}\r\n.list-group-item.disabled .list-group-item-text,\r\n.list-group-item.disabled:focus .list-group-item-text,\r\n.list-group-item.disabled:hover .list-group-item-text {\r\n color: rgba(255, 255, 255, 0.5);\r\n}\r\na.list-group-item .list-group-item-heading,\r\nbutton.list-group-item .list-group-item-heading {\r\n color: #ffffff;\r\n}\r\n.nav-pills > .active > a > .badge {\r\n color: #3bafda;\r\n}\r\n.has-success .form-control {\r\n border-color: #00b19d;\r\n box-shadow: none !important;\r\n}\r\n.has-warning .form-control {\r\n border-color: #ffaa00;\r\n box-shadow: none !important;\r\n}\r\n.has-error .form-control {\r\n border-color: #ef5350;\r\n box-shadow: none !important;\r\n}\r\n.input-group-addon {\r\n border-radius: 2px;\r\n border: none;\r\n background-color: rgba(255, 255, 255, 0.2);\r\n color: #ffffff;\r\n}\r\n/* Tooltips */\r\n.tooltip-inner {\r\n border-radius: 1px;\r\n padding: 6px 10px;\r\n}\r\n.jqstooltip {\r\n -webkit-box-sizing: content-box;\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box;\r\n width: auto !important;\r\n height: auto !important;\r\n}\r\n/* Popover */\r\n.popover {\r\n font-family: inherit;\r\n border: none;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.popover .popover-title {\r\n background-color: transparent;\r\n color: #3bafda;\r\n font-weight: 600;\r\n}\r\n/* ===========\r\n Helper classes\r\n =============*/\r\n.p-0 {\r\n padding: 0px !important;\r\n}\r\n.p-t-0 {\r\n padding-top: 0px !important;\r\n}\r\n.p-t-10 {\r\n padding-top: 10px !important;\r\n}\r\n.p-b-0 {\r\n padding-bottom: 0px !important;\r\n}\r\n.p-b-10 {\r\n padding-bottom: 10px !important;\r\n}\r\n.m-0 {\r\n margin: 0px !important;\r\n}\r\n.m-r-5 {\r\n margin-right: 5px;\r\n}\r\n.m-r-10 {\r\n margin-right: 10px;\r\n}\r\n.m-r-15 {\r\n margin-right: 15px !important;\r\n}\r\n.m-l-5 {\r\n margin-left: 5px;\r\n}\r\n.m-l-10 {\r\n margin-left: 10px;\r\n}\r\n.m-l-15 {\r\n margin-left: 15px;\r\n}\r\n.m-t-5 {\r\n margin-top: 5px !important;\r\n}\r\n.m-t-0 {\r\n margin-top: 0px;\r\n}\r\n.m-t-10 {\r\n margin-top: 10px !important;\r\n}\r\n.m-t-15 {\r\n margin-top: 15px !important;\r\n}\r\n.m-t-20 {\r\n margin-top: 20px !important;\r\n}\r\n.m-t-30 {\r\n margin-top: 30px !important;\r\n}\r\n.m-t-40 {\r\n margin-top: 40px !important;\r\n}\r\n.m-b-0 {\r\n margin-bottom: 0px !important;\r\n}\r\n.m-b-5 {\r\n margin-bottom: 5px;\r\n}\r\n.m-b-10 {\r\n margin-bottom: 10px;\r\n}\r\n.m-b-15 {\r\n margin-bottom: 15px;\r\n}\r\n.m-b-20 {\r\n margin-bottom: 20px;\r\n}\r\n.m-b-25 {\r\n margin-bottom: 25px;\r\n}\r\n.m-b-30 {\r\n margin-bottom: 30px !important;\r\n}\r\n.w-xs {\r\n min-width: 80px;\r\n}\r\n.w-sm {\r\n min-width: 95px;\r\n}\r\n.w-md {\r\n min-width: 110px;\r\n}\r\n.w-lg {\r\n min-width: 140px;\r\n}\r\n.m-h-50 {\r\n min-height: 50px;\r\n}\r\n.l-h-34 {\r\n line-height: 34px !important;\r\n}\r\n.font-light {\r\n font-weight: 300;\r\n}\r\n.font-500 {\r\n font-weight: 500;\r\n}\r\n.font-normal {\r\n font-weight: normal;\r\n}\r\n.font-13 {\r\n font-size: 13px;\r\n}\r\n.wrapper-md {\r\n padding: 20px;\r\n}\r\n.center-page {\r\n float: none !important;\r\n margin: 0 auto;\r\n}\r\n.pull-in {\r\n margin-left: -20px;\r\n margin-right: -20px;\r\n}\r\n.b-0 {\r\n border: none !important;\r\n}\r\n.no-border {\r\n border: none;\r\n}\r\n.bx-s-0 {\r\n box-shadow: none !important;\r\n}\r\n.bx-shadow {\r\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n}\r\n.mx-box {\r\n max-height: 380px;\r\n min-height: 380px;\r\n}\r\n.thumb-sm {\r\n height: 32px;\r\n width: 32px;\r\n}\r\n.thumb-md {\r\n height: 48px;\r\n width: 48px;\r\n}\r\n.thumb-lg {\r\n height: 88px;\r\n width: 88px;\r\n}\r\n/* Demo Only */\r\n.grid-structure .grid-container {\r\n background-color: rgba(255, 255, 255, 0.03);\r\n margin-bottom: 10px;\r\n padding: 10px 20px;\r\n}\r\n.icon-list-demo div {\r\n cursor: pointer;\r\n line-height: 45px;\r\n white-space: nowrap;\r\n color: #98a6ad;\r\n}\r\n.icon-list-demo div p {\r\n margin-bottom: 0px;\r\n line-height: inherit;\r\n}\r\n.icon-list-demo i {\r\n -webkit-transition: all 0.2s;\r\n display: inline-block;\r\n font-size: 18px;\r\n margin: 0;\r\n text-align: center;\r\n transition: all 0.2s;\r\n vertical-align: middle;\r\n width: 40px;\r\n}\r\n.icon-list-demo .col-md-4 {\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.icon-list-demo .col-md-4:hover {\r\n color: #3bafda;\r\n}\r\n.icon-list-demo .col-md-4:hover i {\r\n -o-transform: scale(1.5);\r\n -webkit-transform: scale(1.5);\r\n moz-transform: scale(1.5);\r\n transform: scale(1.5);\r\n}\r\n.ionicon-list i {\r\n font-size: 16px;\r\n}\r\n.ionicon-list .col-md-3:hover i {\r\n -o-transform: scale(2);\r\n -webkit-transform: scale(2);\r\n moz-transform: scale(2);\r\n transform: scale(2);\r\n}\r\n.button-list {\r\n margin-left: -8px;\r\n margin-bottom: -12px;\r\n}\r\n.button-list .btn {\r\n margin-bottom: 12px;\r\n margin-left: 8px;\r\n}\r\n/* ===========\r\n Waves Effect\r\n =============*/\r\n/*!\r\n * Waves v0.6.0\r\n * http://fian.my.id/Waves\r\n *\r\n * Copyright 2014 Alfiana E. Sibuea and other contributors\r\n * Released under the MIT license\r\n * https://github.com/fians/Waves/blob/master/LICENSE\r\n */\r\n.waves-effect {\r\n position: relative;\r\n cursor: pointer;\r\n display: inline-block;\r\n overflow: hidden;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: transparent;\r\n vertical-align: middle;\r\n z-index: 1;\r\n will-change: opacity, transform;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n -ms-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n}\r\n.waves-effect .waves-ripple {\r\n position: absolute;\r\n border-radius: 50%;\r\n width: 20px;\r\n height: 20px;\r\n margin-top: -10px;\r\n margin-left: -10px;\r\n opacity: 0;\r\n background: rgba(0, 0, 0, 0.2);\r\n -webkit-transition: all 0.7s ease-out;\r\n -moz-transition: all 0.7s ease-out;\r\n -o-transition: all 0.7s ease-out;\r\n -ms-transition: all 0.7s ease-out;\r\n transition: all 0.7s ease-out;\r\n -webkit-transition-property: -webkit-transform, opacity;\r\n -moz-transition-property: -moz-transform, opacity;\r\n -o-transition-property: -o-transform, opacity;\r\n transition-property: transform, opacity;\r\n -webkit-transform: scale(0);\r\n -moz-transform: scale(0);\r\n -ms-transform: scale(0);\r\n -o-transform: scale(0);\r\n transform: scale(0);\r\n pointer-events: none;\r\n}\r\n.waves-effect.waves-light .waves-ripple {\r\n background-color: rgba(255, 255, 255, 0.45);\r\n}\r\n.waves-effect.waves-red .waves-ripple {\r\n background-color: rgba(244, 67, 54, 0.7);\r\n}\r\n.waves-effect.waves-yellow .waves-ripple {\r\n background-color: rgba(255, 235, 59, 0.7);\r\n}\r\n.waves-effect.waves-orange .waves-ripple {\r\n background-color: rgba(255, 152, 0, 0.7);\r\n}\r\n.waves-effect.waves-purple .waves-ripple {\r\n background-color: rgba(156, 39, 176, 0.7);\r\n}\r\n.waves-effect.waves-green .waves-ripple {\r\n background-color: rgba(76, 175, 80, 0.7);\r\n}\r\n.waves-effect.waves-teal .waves-ripple {\r\n background-color: rgba(0, 150, 136, 0.7);\r\n}\r\n.waves-effect.waves-primary .waves-ripple {\r\n background-color: rgba(59, 175, 218, 0.4);\r\n}\r\n.waves-notransition {\r\n -webkit-transition: none !important;\r\n -moz-transition: none !important;\r\n -o-transition: none !important;\r\n -ms-transition: none !important;\r\n transition: none !important;\r\n}\r\n.waves-circle {\r\n -webkit-transform: translateZ(0);\r\n -moz-transform: translateZ(0);\r\n -ms-transform: translateZ(0);\r\n -o-transform: translateZ(0);\r\n transform: translateZ(0);\r\n text-align: center;\r\n width: 2.5em;\r\n height: 2.5em;\r\n line-height: 2.5em;\r\n border-radius: 50%;\r\n -webkit-mask-image: none;\r\n}\r\n.waves-input-wrapper {\r\n border-radius: 0.2em;\r\n vertical-align: bottom;\r\n}\r\n.waves-input-wrapper .waves-button-input {\r\n position: relative;\r\n top: 0;\r\n left: 0;\r\n z-index: 1;\r\n}\r\n.waves-block {\r\n display: block;\r\n}\r\n/* ===========\r\n Animation\r\n =============*/\r\n/* Bounce 1 */\r\n@-webkit-keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: scale(1.2);\r\n }\r\n 100% {\r\n -webkit-transform: scale(1);\r\n }\r\n}\r\n@-moz-keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -moz-transform: scale(1.2);\r\n }\r\n 100% {\r\n -moz-transform: scale(1);\r\n }\r\n}\r\n@-o-keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -o-transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -o-transform: scale(1.2);\r\n }\r\n 100% {\r\n -o-transform: scale(1);\r\n }\r\n}\r\n@keyframes cd-bounce-1 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0.5);\r\n -moz-transform: scale(0.5);\r\n -ms-transform: scale(0.5);\r\n -o-transform: scale(0.5);\r\n transform: scale(0.5);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: scale(1.2);\r\n -moz-transform: scale(1.2);\r\n -ms-transform: scale(1.2);\r\n -o-transform: scale(1.2);\r\n transform: scale(1.2);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: scale(1);\r\n -moz-transform: scale(1);\r\n -ms-transform: scale(1);\r\n -o-transform: scale(1);\r\n transform: scale(1);\r\n }\r\n}\r\n/* Bounce 2 */\r\n@-webkit-keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: translateX(20px);\r\n }\r\n 100% {\r\n -webkit-transform: translateX(0);\r\n }\r\n}\r\n@-moz-keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -moz-transform: translateX(20px);\r\n }\r\n 100% {\r\n -moz-transform: translateX(0);\r\n }\r\n}\r\n@-o-keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -o-transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -o-transform: translateX(20px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -o-transform: translateX(0);\r\n }\r\n}\r\n@keyframes cd-bounce-2 {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: translateX(-100px);\r\n -moz-transform: translateX(-100px);\r\n -ms-transform: translateX(-100px);\r\n -o-transform: translateX(-100px);\r\n transform: translateX(-100px);\r\n }\r\n 60% {\r\n opacity: 1;\r\n -webkit-transform: translateX(20px);\r\n -moz-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n -o-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: translateX(0);\r\n -moz-transform: translateX(0);\r\n -ms-transform: translateX(0);\r\n -o-transform: translateX(0);\r\n transform: translateX(0);\r\n }\r\n}\r\n/* Dropdown */\r\n@-webkit-keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0);\r\n }\r\n 100% {\r\n -webkit-transform: scale(1);\r\n }\r\n}\r\n@-moz-keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: scale(0);\r\n }\r\n 100% {\r\n -moz-transform: scale(1);\r\n }\r\n}\r\n@-o-keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -o-transform: scale(0);\r\n }\r\n 100% {\r\n -o-transform: scale(1);\r\n }\r\n}\r\n@keyframes dropdownOpen {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: scale(0);\r\n -moz-transform: scale(0);\r\n -ms-transform: scale(0);\r\n -o-transform: scale(0);\r\n transform: scale(0);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: scale(1);\r\n -moz-transform: scale(1);\r\n -ms-transform: scale(1);\r\n -o-transform: scale(1);\r\n transform: scale(1);\r\n }\r\n}\r\n/* Progressbar Animated */\r\n@-webkit-keyframes animationProgress {\r\n from {\r\n width: 0;\r\n }\r\n}\r\n@keyframes animationProgress {\r\n from {\r\n width: 0;\r\n }\r\n}\r\n/* Portlets loader */\r\n@-webkit-keyframes loaderAnimate {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(220deg);\r\n }\r\n}\r\n@-moz-keyframes loaderAnimate {\r\n 0% {\r\n -moz-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -moz-transform: rotate(220deg);\r\n }\r\n}\r\n@-o-keyframes loaderAnimate {\r\n 0% {\r\n -o-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -o-transform: rotate(220deg);\r\n }\r\n}\r\n@keyframes loaderAnimate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(220deg);\r\n }\r\n}\r\n@-webkit-keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(140deg);\r\n }\r\n}\r\n@-moz-keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -moz-transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -moz-transform: rotate(140deg);\r\n }\r\n}\r\n@-o-keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -o-transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -o-transform: rotate(140deg);\r\n }\r\n}\r\n@keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(-140deg);\r\n -moz-transform: rotate(-140deg);\r\n -ms-transform: rotate(-140deg);\r\n transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #555 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #555 0 0 0 8px;\r\n -webkit-transform: rotate(140deg);\r\n -moz-transform: rotate(140deg);\r\n -ms-transform: rotate(140deg);\r\n transform: rotate(140deg);\r\n }\r\n}\r\n@keyframes loaderAnimate2 {\r\n 0% {\r\n box-shadow: inset #999 0 0 0 17px;\r\n transform: rotate(-140deg);\r\n }\r\n 50% {\r\n box-shadow: inset #999 0 0 0 2px;\r\n }\r\n 100% {\r\n box-shadow: inset #999 0 0 0 17px;\r\n transform: rotate(140deg);\r\n }\r\n}\r\n/* =============\r\n Print css\r\n============= */\r\n@media print {\r\n .logo,\r\n .breadcrumb,\r\n .page-title,\r\n .footer,\r\n .topbar-left {\r\n display: none;\r\n margin: 0px;\r\n padding: 0px;\r\n }\r\n .left,\r\n .right-bar {\r\n display: none;\r\n }\r\n .content {\r\n margin-top: 0px !important;\r\n padding-top: 0px;\r\n }\r\n .content-page {\r\n margin-left: 0px !important;\r\n margin-top: 0px;\r\n }\r\n}\r\n",null,"@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Icons\r\n*/\r\n/*!\r\n * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome\r\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\r\n */\r\n/* FONT PATH\r\n * -------------------------- */\r\n@font-face {\r\n font-family: 'FontAwesome';\r\n src: url('../fonts/fontawesome-webfont.eot?v=4.5.0');\r\n src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.fa {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 FontAwesome;\r\n font-size: inherit;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n/* makes the font 33% larger relative to the icon container */\r\n.fa-lg {\r\n font-size: 1.33333333em;\r\n line-height: 0.75em;\r\n vertical-align: -15%;\r\n}\r\n.fa-2x {\r\n font-size: 2em;\r\n}\r\n.fa-3x {\r\n font-size: 3em;\r\n}\r\n.fa-4x {\r\n font-size: 4em;\r\n}\r\n.fa-5x {\r\n font-size: 5em;\r\n}\r\n.fa-fw {\r\n width: 1.28571429em;\r\n text-align: center;\r\n}\r\n.fa-ul {\r\n padding-left: 0;\r\n margin-left: 2.14285714em;\r\n list-style-type: none;\r\n}\r\n.fa-ul > li {\r\n position: relative;\r\n}\r\n.fa-li {\r\n position: absolute;\r\n left: -2.14285714em;\r\n width: 2.14285714em;\r\n top: 0.14285714em;\r\n text-align: center;\r\n}\r\n.fa-li.fa-lg {\r\n left: -1.85714286em;\r\n}\r\n.fa-border {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em #eeeeee;\r\n border-radius: .1em;\r\n}\r\n.fa-pull-left {\r\n float: left;\r\n}\r\n.fa-pull-right {\r\n float: right;\r\n}\r\n.fa.fa-pull-left {\r\n margin-right: .3em;\r\n}\r\n.fa.fa-pull-right {\r\n margin-left: .3em;\r\n}\r\n/* Deprecated as of 4.4.0 */\r\n.pull-right {\r\n float: right;\r\n}\r\n.pull-left {\r\n float: left;\r\n}\r\n.fa.pull-left {\r\n margin-right: .3em;\r\n}\r\n.fa.pull-right {\r\n margin-left: .3em;\r\n}\r\n.fa-spin {\r\n -webkit-animation: fa-spin 2s infinite linear;\r\n animation: fa-spin 2s infinite linear;\r\n}\r\n.fa-pulse {\r\n -webkit-animation: fa-spin 1s infinite steps(8);\r\n animation: fa-spin 1s infinite steps(8);\r\n}\r\n@-webkit-keyframes fa-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes fa-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n.fa-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n -webkit-transform: rotate(90deg);\r\n -ms-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n.fa-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n -webkit-transform: rotate(180deg);\r\n -ms-transform: rotate(180deg);\r\n transform: rotate(180deg);\r\n}\r\n.fa-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n -webkit-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n}\r\n.fa-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n -webkit-transform: scale(-1, 1);\r\n -ms-transform: scale(-1, 1);\r\n transform: scale(-1, 1);\r\n}\r\n.fa-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n -webkit-transform: scale(1, -1);\r\n -ms-transform: scale(1, -1);\r\n transform: scale(1, -1);\r\n}\r\n:root .fa-rotate-90,\r\n:root .fa-rotate-180,\r\n:root .fa-rotate-270,\r\n:root .fa-flip-horizontal,\r\n:root .fa-flip-vertical {\r\n filter: none;\r\n}\r\n.fa-stack {\r\n position: relative;\r\n display: inline-block;\r\n width: 2em;\r\n height: 2em;\r\n line-height: 2em;\r\n vertical-align: middle;\r\n}\r\n.fa-stack-1x,\r\n.fa-stack-2x {\r\n position: absolute;\r\n left: 0;\r\n width: 100%;\r\n text-align: center;\r\n}\r\n.fa-stack-1x {\r\n line-height: inherit;\r\n}\r\n.fa-stack-2x {\r\n font-size: 2em;\r\n}\r\n.fa-inverse {\r\n color: #ffffff;\r\n}\r\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\r\n readers do not read off random characters that represent icons */\r\n.fa-glass:before {\r\n content: \"\\f000\";\r\n}\r\n.fa-music:before {\r\n content: \"\\f001\";\r\n}\r\n.fa-search:before {\r\n content: \"\\f002\";\r\n}\r\n.fa-envelope-o:before {\r\n content: \"\\f003\";\r\n}\r\n.fa-heart:before {\r\n content: \"\\f004\";\r\n}\r\n.fa-star:before {\r\n content: \"\\f005\";\r\n}\r\n.fa-star-o:before {\r\n content: \"\\f006\";\r\n}\r\n.fa-user:before {\r\n content: \"\\f007\";\r\n}\r\n.fa-film:before {\r\n content: \"\\f008\";\r\n}\r\n.fa-th-large:before {\r\n content: \"\\f009\";\r\n}\r\n.fa-th:before {\r\n content: \"\\f00a\";\r\n}\r\n.fa-th-list:before {\r\n content: \"\\f00b\";\r\n}\r\n.fa-check:before {\r\n content: \"\\f00c\";\r\n}\r\n.fa-remove:before,\r\n.fa-close:before,\r\n.fa-times:before {\r\n content: \"\\f00d\";\r\n}\r\n.fa-search-plus:before {\r\n content: \"\\f00e\";\r\n}\r\n.fa-search-minus:before {\r\n content: \"\\f010\";\r\n}\r\n.fa-power-off:before {\r\n content: \"\\f011\";\r\n}\r\n.fa-signal:before {\r\n content: \"\\f012\";\r\n}\r\n.fa-gear:before,\r\n.fa-cog:before {\r\n content: \"\\f013\";\r\n}\r\n.fa-trash-o:before {\r\n content: \"\\f014\";\r\n}\r\n.fa-home:before {\r\n content: \"\\f015\";\r\n}\r\n.fa-file-o:before {\r\n content: \"\\f016\";\r\n}\r\n.fa-clock-o:before {\r\n content: \"\\f017\";\r\n}\r\n.fa-road:before {\r\n content: \"\\f018\";\r\n}\r\n.fa-download:before {\r\n content: \"\\f019\";\r\n}\r\n.fa-arrow-circle-o-down:before {\r\n content: \"\\f01a\";\r\n}\r\n.fa-arrow-circle-o-up:before {\r\n content: \"\\f01b\";\r\n}\r\n.fa-inbox:before {\r\n content: \"\\f01c\";\r\n}\r\n.fa-play-circle-o:before {\r\n content: \"\\f01d\";\r\n}\r\n.fa-rotate-right:before,\r\n.fa-repeat:before {\r\n content: \"\\f01e\";\r\n}\r\n.fa-refresh:before {\r\n content: \"\\f021\";\r\n}\r\n.fa-list-alt:before {\r\n content: \"\\f022\";\r\n}\r\n.fa-lock:before {\r\n content: \"\\f023\";\r\n}\r\n.fa-flag:before {\r\n content: \"\\f024\";\r\n}\r\n.fa-headphones:before {\r\n content: \"\\f025\";\r\n}\r\n.fa-volume-off:before {\r\n content: \"\\f026\";\r\n}\r\n.fa-volume-down:before {\r\n content: \"\\f027\";\r\n}\r\n.fa-volume-up:before {\r\n content: \"\\f028\";\r\n}\r\n.fa-qrcode:before {\r\n content: \"\\f029\";\r\n}\r\n.fa-barcode:before {\r\n content: \"\\f02a\";\r\n}\r\n.fa-tag:before {\r\n content: \"\\f02b\";\r\n}\r\n.fa-tags:before {\r\n content: \"\\f02c\";\r\n}\r\n.fa-book:before {\r\n content: \"\\f02d\";\r\n}\r\n.fa-bookmark:before {\r\n content: \"\\f02e\";\r\n}\r\n.fa-print:before {\r\n content: \"\\f02f\";\r\n}\r\n.fa-camera:before {\r\n content: \"\\f030\";\r\n}\r\n.fa-font:before {\r\n content: \"\\f031\";\r\n}\r\n.fa-bold:before {\r\n content: \"\\f032\";\r\n}\r\n.fa-italic:before {\r\n content: \"\\f033\";\r\n}\r\n.fa-text-height:before {\r\n content: \"\\f034\";\r\n}\r\n.fa-text-width:before {\r\n content: \"\\f035\";\r\n}\r\n.fa-align-left:before {\r\n content: \"\\f036\";\r\n}\r\n.fa-align-center:before {\r\n content: \"\\f037\";\r\n}\r\n.fa-align-right:before {\r\n content: \"\\f038\";\r\n}\r\n.fa-align-justify:before {\r\n content: \"\\f039\";\r\n}\r\n.fa-list:before {\r\n content: \"\\f03a\";\r\n}\r\n.fa-dedent:before,\r\n.fa-outdent:before {\r\n content: \"\\f03b\";\r\n}\r\n.fa-indent:before {\r\n content: \"\\f03c\";\r\n}\r\n.fa-video-camera:before {\r\n content: \"\\f03d\";\r\n}\r\n.fa-photo:before,\r\n.fa-image:before,\r\n.fa-picture-o:before {\r\n content: \"\\f03e\";\r\n}\r\n.fa-pencil:before {\r\n content: \"\\f040\";\r\n}\r\n.fa-map-marker:before {\r\n content: \"\\f041\";\r\n}\r\n.fa-adjust:before {\r\n content: \"\\f042\";\r\n}\r\n.fa-tint:before {\r\n content: \"\\f043\";\r\n}\r\n.fa-edit:before,\r\n.fa-pencil-square-o:before {\r\n content: \"\\f044\";\r\n}\r\n.fa-share-square-o:before {\r\n content: \"\\f045\";\r\n}\r\n.fa-check-square-o:before {\r\n content: \"\\f046\";\r\n}\r\n.fa-arrows:before {\r\n content: \"\\f047\";\r\n}\r\n.fa-step-backward:before {\r\n content: \"\\f048\";\r\n}\r\n.fa-fast-backward:before {\r\n content: \"\\f049\";\r\n}\r\n.fa-backward:before {\r\n content: \"\\f04a\";\r\n}\r\n.fa-play:before {\r\n content: \"\\f04b\";\r\n}\r\n.fa-pause:before {\r\n content: \"\\f04c\";\r\n}\r\n.fa-stop:before {\r\n content: \"\\f04d\";\r\n}\r\n.fa-forward:before {\r\n content: \"\\f04e\";\r\n}\r\n.fa-fast-forward:before {\r\n content: \"\\f050\";\r\n}\r\n.fa-step-forward:before {\r\n content: \"\\f051\";\r\n}\r\n.fa-eject:before {\r\n content: \"\\f052\";\r\n}\r\n.fa-chevron-left:before {\r\n content: \"\\f053\";\r\n}\r\n.fa-chevron-right:before {\r\n content: \"\\f054\";\r\n}\r\n.fa-plus-circle:before {\r\n content: \"\\f055\";\r\n}\r\n.fa-minus-circle:before {\r\n content: \"\\f056\";\r\n}\r\n.fa-times-circle:before {\r\n content: \"\\f057\";\r\n}\r\n.fa-check-circle:before {\r\n content: \"\\f058\";\r\n}\r\n.fa-question-circle:before {\r\n content: \"\\f059\";\r\n}\r\n.fa-info-circle:before {\r\n content: \"\\f05a\";\r\n}\r\n.fa-crosshairs:before {\r\n content: \"\\f05b\";\r\n}\r\n.fa-times-circle-o:before {\r\n content: \"\\f05c\";\r\n}\r\n.fa-check-circle-o:before {\r\n content: \"\\f05d\";\r\n}\r\n.fa-ban:before {\r\n content: \"\\f05e\";\r\n}\r\n.fa-arrow-left:before {\r\n content: \"\\f060\";\r\n}\r\n.fa-arrow-right:before {\r\n content: \"\\f061\";\r\n}\r\n.fa-arrow-up:before {\r\n content: \"\\f062\";\r\n}\r\n.fa-arrow-down:before {\r\n content: \"\\f063\";\r\n}\r\n.fa-mail-forward:before,\r\n.fa-share:before {\r\n content: \"\\f064\";\r\n}\r\n.fa-expand:before {\r\n content: \"\\f065\";\r\n}\r\n.fa-compress:before {\r\n content: \"\\f066\";\r\n}\r\n.fa-plus:before {\r\n content: \"\\f067\";\r\n}\r\n.fa-minus:before {\r\n content: \"\\f068\";\r\n}\r\n.fa-asterisk:before {\r\n content: \"\\f069\";\r\n}\r\n.fa-exclamation-circle:before {\r\n content: \"\\f06a\";\r\n}\r\n.fa-gift:before {\r\n content: \"\\f06b\";\r\n}\r\n.fa-leaf:before {\r\n content: \"\\f06c\";\r\n}\r\n.fa-fire:before {\r\n content: \"\\f06d\";\r\n}\r\n.fa-eye:before {\r\n content: \"\\f06e\";\r\n}\r\n.fa-eye-slash:before {\r\n content: \"\\f070\";\r\n}\r\n.fa-warning:before,\r\n.fa-exclamation-triangle:before {\r\n content: \"\\f071\";\r\n}\r\n.fa-plane:before {\r\n content: \"\\f072\";\r\n}\r\n.fa-calendar:before {\r\n content: \"\\f073\";\r\n}\r\n.fa-random:before {\r\n content: \"\\f074\";\r\n}\r\n.fa-comment:before {\r\n content: \"\\f075\";\r\n}\r\n.fa-magnet:before {\r\n content: \"\\f076\";\r\n}\r\n.fa-chevron-up:before {\r\n content: \"\\f077\";\r\n}\r\n.fa-chevron-down:before {\r\n content: \"\\f078\";\r\n}\r\n.fa-retweet:before {\r\n content: \"\\f079\";\r\n}\r\n.fa-shopping-cart:before {\r\n content: \"\\f07a\";\r\n}\r\n.fa-folder:before {\r\n content: \"\\f07b\";\r\n}\r\n.fa-folder-open:before {\r\n content: \"\\f07c\";\r\n}\r\n.fa-arrows-v:before {\r\n content: \"\\f07d\";\r\n}\r\n.fa-arrows-h:before {\r\n content: \"\\f07e\";\r\n}\r\n.fa-bar-chart-o:before,\r\n.fa-bar-chart:before {\r\n content: \"\\f080\";\r\n}\r\n.fa-twitter-square:before {\r\n content: \"\\f081\";\r\n}\r\n.fa-facebook-square:before {\r\n content: \"\\f082\";\r\n}\r\n.fa-camera-retro:before {\r\n content: \"\\f083\";\r\n}\r\n.fa-key:before {\r\n content: \"\\f084\";\r\n}\r\n.fa-gears:before,\r\n.fa-cogs:before {\r\n content: \"\\f085\";\r\n}\r\n.fa-comments:before {\r\n content: \"\\f086\";\r\n}\r\n.fa-thumbs-o-up:before {\r\n content: \"\\f087\";\r\n}\r\n.fa-thumbs-o-down:before {\r\n content: \"\\f088\";\r\n}\r\n.fa-star-half:before {\r\n content: \"\\f089\";\r\n}\r\n.fa-heart-o:before {\r\n content: \"\\f08a\";\r\n}\r\n.fa-sign-out:before {\r\n content: \"\\f08b\";\r\n}\r\n.fa-linkedin-square:before {\r\n content: \"\\f08c\";\r\n}\r\n.fa-thumb-tack:before {\r\n content: \"\\f08d\";\r\n}\r\n.fa-external-link:before {\r\n content: \"\\f08e\";\r\n}\r\n.fa-sign-in:before {\r\n content: \"\\f090\";\r\n}\r\n.fa-trophy:before {\r\n content: \"\\f091\";\r\n}\r\n.fa-github-square:before {\r\n content: \"\\f092\";\r\n}\r\n.fa-upload:before {\r\n content: \"\\f093\";\r\n}\r\n.fa-lemon-o:before {\r\n content: \"\\f094\";\r\n}\r\n.fa-phone:before {\r\n content: \"\\f095\";\r\n}\r\n.fa-square-o:before {\r\n content: \"\\f096\";\r\n}\r\n.fa-bookmark-o:before {\r\n content: \"\\f097\";\r\n}\r\n.fa-phone-square:before {\r\n content: \"\\f098\";\r\n}\r\n.fa-twitter:before {\r\n content: \"\\f099\";\r\n}\r\n.fa-facebook-f:before,\r\n.fa-facebook:before {\r\n content: \"\\f09a\";\r\n}\r\n.fa-github:before {\r\n content: \"\\f09b\";\r\n}\r\n.fa-unlock:before {\r\n content: \"\\f09c\";\r\n}\r\n.fa-credit-card:before {\r\n content: \"\\f09d\";\r\n}\r\n.fa-feed:before,\r\n.fa-rss:before {\r\n content: \"\\f09e\";\r\n}\r\n.fa-hdd-o:before {\r\n content: \"\\f0a0\";\r\n}\r\n.fa-bullhorn:before {\r\n content: \"\\f0a1\";\r\n}\r\n.fa-bell:before {\r\n content: \"\\f0f3\";\r\n}\r\n.fa-certificate:before {\r\n content: \"\\f0a3\";\r\n}\r\n.fa-hand-o-right:before {\r\n content: \"\\f0a4\";\r\n}\r\n.fa-hand-o-left:before {\r\n content: \"\\f0a5\";\r\n}\r\n.fa-hand-o-up:before {\r\n content: \"\\f0a6\";\r\n}\r\n.fa-hand-o-down:before {\r\n content: \"\\f0a7\";\r\n}\r\n.fa-arrow-circle-left:before {\r\n content: \"\\f0a8\";\r\n}\r\n.fa-arrow-circle-right:before {\r\n content: \"\\f0a9\";\r\n}\r\n.fa-arrow-circle-up:before {\r\n content: \"\\f0aa\";\r\n}\r\n.fa-arrow-circle-down:before {\r\n content: \"\\f0ab\";\r\n}\r\n.fa-globe:before {\r\n content: \"\\f0ac\";\r\n}\r\n.fa-wrench:before {\r\n content: \"\\f0ad\";\r\n}\r\n.fa-tasks:before {\r\n content: \"\\f0ae\";\r\n}\r\n.fa-filter:before {\r\n content: \"\\f0b0\";\r\n}\r\n.fa-briefcase:before {\r\n content: \"\\f0b1\";\r\n}\r\n.fa-arrows-alt:before {\r\n content: \"\\f0b2\";\r\n}\r\n.fa-group:before,\r\n.fa-users:before {\r\n content: \"\\f0c0\";\r\n}\r\n.fa-chain:before,\r\n.fa-link:before {\r\n content: \"\\f0c1\";\r\n}\r\n.fa-cloud:before {\r\n content: \"\\f0c2\";\r\n}\r\n.fa-flask:before {\r\n content: \"\\f0c3\";\r\n}\r\n.fa-cut:before,\r\n.fa-scissors:before {\r\n content: \"\\f0c4\";\r\n}\r\n.fa-copy:before,\r\n.fa-files-o:before {\r\n content: \"\\f0c5\";\r\n}\r\n.fa-paperclip:before {\r\n content: \"\\f0c6\";\r\n}\r\n.fa-save:before,\r\n.fa-floppy-o:before {\r\n content: \"\\f0c7\";\r\n}\r\n.fa-square:before {\r\n content: \"\\f0c8\";\r\n}\r\n.fa-navicon:before,\r\n.fa-reorder:before,\r\n.fa-bars:before {\r\n content: \"\\f0c9\";\r\n}\r\n.fa-list-ul:before {\r\n content: \"\\f0ca\";\r\n}\r\n.fa-list-ol:before {\r\n content: \"\\f0cb\";\r\n}\r\n.fa-strikethrough:before {\r\n content: \"\\f0cc\";\r\n}\r\n.fa-underline:before {\r\n content: \"\\f0cd\";\r\n}\r\n.fa-table:before {\r\n content: \"\\f0ce\";\r\n}\r\n.fa-magic:before {\r\n content: \"\\f0d0\";\r\n}\r\n.fa-truck:before {\r\n content: \"\\f0d1\";\r\n}\r\n.fa-pinterest:before {\r\n content: \"\\f0d2\";\r\n}\r\n.fa-pinterest-square:before {\r\n content: \"\\f0d3\";\r\n}\r\n.fa-google-plus-square:before {\r\n content: \"\\f0d4\";\r\n}\r\n.fa-google-plus:before {\r\n content: \"\\f0d5\";\r\n}\r\n.fa-money:before {\r\n content: \"\\f0d6\";\r\n}\r\n.fa-caret-down:before {\r\n content: \"\\f0d7\";\r\n}\r\n.fa-caret-up:before {\r\n content: \"\\f0d8\";\r\n}\r\n.fa-caret-left:before {\r\n content: \"\\f0d9\";\r\n}\r\n.fa-caret-right:before {\r\n content: \"\\f0da\";\r\n}\r\n.fa-columns:before {\r\n content: \"\\f0db\";\r\n}\r\n.fa-unsorted:before,\r\n.fa-sort:before {\r\n content: \"\\f0dc\";\r\n}\r\n.fa-sort-down:before,\r\n.fa-sort-desc:before {\r\n content: \"\\f0dd\";\r\n}\r\n.fa-sort-up:before,\r\n.fa-sort-asc:before {\r\n content: \"\\f0de\";\r\n}\r\n.fa-envelope:before {\r\n content: \"\\f0e0\";\r\n}\r\n.fa-linkedin:before {\r\n content: \"\\f0e1\";\r\n}\r\n.fa-rotate-left:before,\r\n.fa-undo:before {\r\n content: \"\\f0e2\";\r\n}\r\n.fa-legal:before,\r\n.fa-gavel:before {\r\n content: \"\\f0e3\";\r\n}\r\n.fa-dashboard:before,\r\n.fa-tachometer:before {\r\n content: \"\\f0e4\";\r\n}\r\n.fa-comment-o:before {\r\n content: \"\\f0e5\";\r\n}\r\n.fa-comments-o:before {\r\n content: \"\\f0e6\";\r\n}\r\n.fa-flash:before,\r\n.fa-bolt:before {\r\n content: \"\\f0e7\";\r\n}\r\n.fa-sitemap:before {\r\n content: \"\\f0e8\";\r\n}\r\n.fa-umbrella:before {\r\n content: \"\\f0e9\";\r\n}\r\n.fa-paste:before,\r\n.fa-clipboard:before {\r\n content: \"\\f0ea\";\r\n}\r\n.fa-lightbulb-o:before {\r\n content: \"\\f0eb\";\r\n}\r\n.fa-exchange:before {\r\n content: \"\\f0ec\";\r\n}\r\n.fa-cloud-download:before {\r\n content: \"\\f0ed\";\r\n}\r\n.fa-cloud-upload:before {\r\n content: \"\\f0ee\";\r\n}\r\n.fa-user-md:before {\r\n content: \"\\f0f0\";\r\n}\r\n.fa-stethoscope:before {\r\n content: \"\\f0f1\";\r\n}\r\n.fa-suitcase:before {\r\n content: \"\\f0f2\";\r\n}\r\n.fa-bell-o:before {\r\n content: \"\\f0a2\";\r\n}\r\n.fa-coffee:before {\r\n content: \"\\f0f4\";\r\n}\r\n.fa-cutlery:before {\r\n content: \"\\f0f5\";\r\n}\r\n.fa-file-text-o:before {\r\n content: \"\\f0f6\";\r\n}\r\n.fa-building-o:before {\r\n content: \"\\f0f7\";\r\n}\r\n.fa-hospital-o:before {\r\n content: \"\\f0f8\";\r\n}\r\n.fa-ambulance:before {\r\n content: \"\\f0f9\";\r\n}\r\n.fa-medkit:before {\r\n content: \"\\f0fa\";\r\n}\r\n.fa-fighter-jet:before {\r\n content: \"\\f0fb\";\r\n}\r\n.fa-beer:before {\r\n content: \"\\f0fc\";\r\n}\r\n.fa-h-square:before {\r\n content: \"\\f0fd\";\r\n}\r\n.fa-plus-square:before {\r\n content: \"\\f0fe\";\r\n}\r\n.fa-angle-double-left:before {\r\n content: \"\\f100\";\r\n}\r\n.fa-angle-double-right:before {\r\n content: \"\\f101\";\r\n}\r\n.fa-angle-double-up:before {\r\n content: \"\\f102\";\r\n}\r\n.fa-angle-double-down:before {\r\n content: \"\\f103\";\r\n}\r\n.fa-angle-left:before {\r\n content: \"\\f104\";\r\n}\r\n.fa-angle-right:before {\r\n content: \"\\f105\";\r\n}\r\n.fa-angle-up:before {\r\n content: \"\\f106\";\r\n}\r\n.fa-angle-down:before {\r\n content: \"\\f107\";\r\n}\r\n.fa-desktop:before {\r\n content: \"\\f108\";\r\n}\r\n.fa-laptop:before {\r\n content: \"\\f109\";\r\n}\r\n.fa-tablet:before {\r\n content: \"\\f10a\";\r\n}\r\n.fa-mobile-phone:before,\r\n.fa-mobile:before {\r\n content: \"\\f10b\";\r\n}\r\n.fa-circle-o:before {\r\n content: \"\\f10c\";\r\n}\r\n.fa-quote-left:before {\r\n content: \"\\f10d\";\r\n}\r\n.fa-quote-right:before {\r\n content: \"\\f10e\";\r\n}\r\n.fa-spinner:before {\r\n content: \"\\f110\";\r\n}\r\n.fa-circle:before {\r\n content: \"\\f111\";\r\n}\r\n.fa-mail-reply:before,\r\n.fa-reply:before {\r\n content: \"\\f112\";\r\n}\r\n.fa-github-alt:before {\r\n content: \"\\f113\";\r\n}\r\n.fa-folder-o:before {\r\n content: \"\\f114\";\r\n}\r\n.fa-folder-open-o:before {\r\n content: \"\\f115\";\r\n}\r\n.fa-smile-o:before {\r\n content: \"\\f118\";\r\n}\r\n.fa-frown-o:before {\r\n content: \"\\f119\";\r\n}\r\n.fa-meh-o:before {\r\n content: \"\\f11a\";\r\n}\r\n.fa-gamepad:before {\r\n content: \"\\f11b\";\r\n}\r\n.fa-keyboard-o:before {\r\n content: \"\\f11c\";\r\n}\r\n.fa-flag-o:before {\r\n content: \"\\f11d\";\r\n}\r\n.fa-flag-checkered:before {\r\n content: \"\\f11e\";\r\n}\r\n.fa-terminal:before {\r\n content: \"\\f120\";\r\n}\r\n.fa-code:before {\r\n content: \"\\f121\";\r\n}\r\n.fa-mail-reply-all:before,\r\n.fa-reply-all:before {\r\n content: \"\\f122\";\r\n}\r\n.fa-star-half-empty:before,\r\n.fa-star-half-full:before,\r\n.fa-star-half-o:before {\r\n content: \"\\f123\";\r\n}\r\n.fa-location-arrow:before {\r\n content: \"\\f124\";\r\n}\r\n.fa-crop:before {\r\n content: \"\\f125\";\r\n}\r\n.fa-code-fork:before {\r\n content: \"\\f126\";\r\n}\r\n.fa-unlink:before,\r\n.fa-chain-broken:before {\r\n content: \"\\f127\";\r\n}\r\n.fa-question:before {\r\n content: \"\\f128\";\r\n}\r\n.fa-info:before {\r\n content: \"\\f129\";\r\n}\r\n.fa-exclamation:before {\r\n content: \"\\f12a\";\r\n}\r\n.fa-superscript:before {\r\n content: \"\\f12b\";\r\n}\r\n.fa-subscript:before {\r\n content: \"\\f12c\";\r\n}\r\n.fa-eraser:before {\r\n content: \"\\f12d\";\r\n}\r\n.fa-puzzle-piece:before {\r\n content: \"\\f12e\";\r\n}\r\n.fa-microphone:before {\r\n content: \"\\f130\";\r\n}\r\n.fa-microphone-slash:before {\r\n content: \"\\f131\";\r\n}\r\n.fa-shield:before {\r\n content: \"\\f132\";\r\n}\r\n.fa-calendar-o:before {\r\n content: \"\\f133\";\r\n}\r\n.fa-fire-extinguisher:before {\r\n content: \"\\f134\";\r\n}\r\n.fa-rocket:before {\r\n content: \"\\f135\";\r\n}\r\n.fa-maxcdn:before {\r\n content: \"\\f136\";\r\n}\r\n.fa-chevron-circle-left:before {\r\n content: \"\\f137\";\r\n}\r\n.fa-chevron-circle-right:before {\r\n content: \"\\f138\";\r\n}\r\n.fa-chevron-circle-up:before {\r\n content: \"\\f139\";\r\n}\r\n.fa-chevron-circle-down:before {\r\n content: \"\\f13a\";\r\n}\r\n.fa-html5:before {\r\n content: \"\\f13b\";\r\n}\r\n.fa-css3:before {\r\n content: \"\\f13c\";\r\n}\r\n.fa-anchor:before {\r\n content: \"\\f13d\";\r\n}\r\n.fa-unlock-alt:before {\r\n content: \"\\f13e\";\r\n}\r\n.fa-bullseye:before {\r\n content: \"\\f140\";\r\n}\r\n.fa-ellipsis-h:before {\r\n content: \"\\f141\";\r\n}\r\n.fa-ellipsis-v:before {\r\n content: \"\\f142\";\r\n}\r\n.fa-rss-square:before {\r\n content: \"\\f143\";\r\n}\r\n.fa-play-circle:before {\r\n content: \"\\f144\";\r\n}\r\n.fa-ticket:before {\r\n content: \"\\f145\";\r\n}\r\n.fa-minus-square:before {\r\n content: \"\\f146\";\r\n}\r\n.fa-minus-square-o:before {\r\n content: \"\\f147\";\r\n}\r\n.fa-level-up:before {\r\n content: \"\\f148\";\r\n}\r\n.fa-level-down:before {\r\n content: \"\\f149\";\r\n}\r\n.fa-check-square:before {\r\n content: \"\\f14a\";\r\n}\r\n.fa-pencil-square:before {\r\n content: \"\\f14b\";\r\n}\r\n.fa-external-link-square:before {\r\n content: \"\\f14c\";\r\n}\r\n.fa-share-square:before {\r\n content: \"\\f14d\";\r\n}\r\n.fa-compass:before {\r\n content: \"\\f14e\";\r\n}\r\n.fa-toggle-down:before,\r\n.fa-caret-square-o-down:before {\r\n content: \"\\f150\";\r\n}\r\n.fa-toggle-up:before,\r\n.fa-caret-square-o-up:before {\r\n content: \"\\f151\";\r\n}\r\n.fa-toggle-right:before,\r\n.fa-caret-square-o-right:before {\r\n content: \"\\f152\";\r\n}\r\n.fa-euro:before,\r\n.fa-eur:before {\r\n content: \"\\f153\";\r\n}\r\n.fa-gbp:before {\r\n content: \"\\f154\";\r\n}\r\n.fa-dollar:before,\r\n.fa-usd:before {\r\n content: \"\\f155\";\r\n}\r\n.fa-rupee:before,\r\n.fa-inr:before {\r\n content: \"\\f156\";\r\n}\r\n.fa-cny:before,\r\n.fa-rmb:before,\r\n.fa-yen:before,\r\n.fa-jpy:before {\r\n content: \"\\f157\";\r\n}\r\n.fa-ruble:before,\r\n.fa-rouble:before,\r\n.fa-rub:before {\r\n content: \"\\f158\";\r\n}\r\n.fa-won:before,\r\n.fa-krw:before {\r\n content: \"\\f159\";\r\n}\r\n.fa-bitcoin:before,\r\n.fa-btc:before {\r\n content: \"\\f15a\";\r\n}\r\n.fa-file:before {\r\n content: \"\\f15b\";\r\n}\r\n.fa-file-text:before {\r\n content: \"\\f15c\";\r\n}\r\n.fa-sort-alpha-asc:before {\r\n content: \"\\f15d\";\r\n}\r\n.fa-sort-alpha-desc:before {\r\n content: \"\\f15e\";\r\n}\r\n.fa-sort-amount-asc:before {\r\n content: \"\\f160\";\r\n}\r\n.fa-sort-amount-desc:before {\r\n content: \"\\f161\";\r\n}\r\n.fa-sort-numeric-asc:before {\r\n content: \"\\f162\";\r\n}\r\n.fa-sort-numeric-desc:before {\r\n content: \"\\f163\";\r\n}\r\n.fa-thumbs-up:before {\r\n content: \"\\f164\";\r\n}\r\n.fa-thumbs-down:before {\r\n content: \"\\f165\";\r\n}\r\n.fa-youtube-square:before {\r\n content: \"\\f166\";\r\n}\r\n.fa-youtube:before {\r\n content: \"\\f167\";\r\n}\r\n.fa-xing:before {\r\n content: \"\\f168\";\r\n}\r\n.fa-xing-square:before {\r\n content: \"\\f169\";\r\n}\r\n.fa-youtube-play:before {\r\n content: \"\\f16a\";\r\n}\r\n.fa-dropbox:before {\r\n content: \"\\f16b\";\r\n}\r\n.fa-stack-overflow:before {\r\n content: \"\\f16c\";\r\n}\r\n.fa-instagram:before {\r\n content: \"\\f16d\";\r\n}\r\n.fa-flickr:before {\r\n content: \"\\f16e\";\r\n}\r\n.fa-adn:before {\r\n content: \"\\f170\";\r\n}\r\n.fa-bitbucket:before {\r\n content: \"\\f171\";\r\n}\r\n.fa-bitbucket-square:before {\r\n content: \"\\f172\";\r\n}\r\n.fa-tumblr:before {\r\n content: \"\\f173\";\r\n}\r\n.fa-tumblr-square:before {\r\n content: \"\\f174\";\r\n}\r\n.fa-long-arrow-down:before {\r\n content: \"\\f175\";\r\n}\r\n.fa-long-arrow-up:before {\r\n content: \"\\f176\";\r\n}\r\n.fa-long-arrow-left:before {\r\n content: \"\\f177\";\r\n}\r\n.fa-long-arrow-right:before {\r\n content: \"\\f178\";\r\n}\r\n.fa-apple:before {\r\n content: \"\\f179\";\r\n}\r\n.fa-windows:before {\r\n content: \"\\f17a\";\r\n}\r\n.fa-android:before {\r\n content: \"\\f17b\";\r\n}\r\n.fa-linux:before {\r\n content: \"\\f17c\";\r\n}\r\n.fa-dribbble:before {\r\n content: \"\\f17d\";\r\n}\r\n.fa-skype:before {\r\n content: \"\\f17e\";\r\n}\r\n.fa-foursquare:before {\r\n content: \"\\f180\";\r\n}\r\n.fa-trello:before {\r\n content: \"\\f181\";\r\n}\r\n.fa-female:before {\r\n content: \"\\f182\";\r\n}\r\n.fa-male:before {\r\n content: \"\\f183\";\r\n}\r\n.fa-gittip:before,\r\n.fa-gratipay:before {\r\n content: \"\\f184\";\r\n}\r\n.fa-sun-o:before {\r\n content: \"\\f185\";\r\n}\r\n.fa-moon-o:before {\r\n content: \"\\f186\";\r\n}\r\n.fa-archive:before {\r\n content: \"\\f187\";\r\n}\r\n.fa-bug:before {\r\n content: \"\\f188\";\r\n}\r\n.fa-vk:before {\r\n content: \"\\f189\";\r\n}\r\n.fa-weibo:before {\r\n content: \"\\f18a\";\r\n}\r\n.fa-renren:before {\r\n content: \"\\f18b\";\r\n}\r\n.fa-pagelines:before {\r\n content: \"\\f18c\";\r\n}\r\n.fa-stack-exchange:before {\r\n content: \"\\f18d\";\r\n}\r\n.fa-arrow-circle-o-right:before {\r\n content: \"\\f18e\";\r\n}\r\n.fa-arrow-circle-o-left:before {\r\n content: \"\\f190\";\r\n}\r\n.fa-toggle-left:before,\r\n.fa-caret-square-o-left:before {\r\n content: \"\\f191\";\r\n}\r\n.fa-dot-circle-o:before {\r\n content: \"\\f192\";\r\n}\r\n.fa-wheelchair:before {\r\n content: \"\\f193\";\r\n}\r\n.fa-vimeo-square:before {\r\n content: \"\\f194\";\r\n}\r\n.fa-turkish-lira:before,\r\n.fa-try:before {\r\n content: \"\\f195\";\r\n}\r\n.fa-plus-square-o:before {\r\n content: \"\\f196\";\r\n}\r\n.fa-space-shuttle:before {\r\n content: \"\\f197\";\r\n}\r\n.fa-slack:before {\r\n content: \"\\f198\";\r\n}\r\n.fa-envelope-square:before {\r\n content: \"\\f199\";\r\n}\r\n.fa-wordpress:before {\r\n content: \"\\f19a\";\r\n}\r\n.fa-openid:before {\r\n content: \"\\f19b\";\r\n}\r\n.fa-institution:before,\r\n.fa-bank:before,\r\n.fa-university:before {\r\n content: \"\\f19c\";\r\n}\r\n.fa-mortar-board:before,\r\n.fa-graduation-cap:before {\r\n content: \"\\f19d\";\r\n}\r\n.fa-yahoo:before {\r\n content: \"\\f19e\";\r\n}\r\n.fa-google:before {\r\n content: \"\\f1a0\";\r\n}\r\n.fa-reddit:before {\r\n content: \"\\f1a1\";\r\n}\r\n.fa-reddit-square:before {\r\n content: \"\\f1a2\";\r\n}\r\n.fa-stumbleupon-circle:before {\r\n content: \"\\f1a3\";\r\n}\r\n.fa-stumbleupon:before {\r\n content: \"\\f1a4\";\r\n}\r\n.fa-delicious:before {\r\n content: \"\\f1a5\";\r\n}\r\n.fa-digg:before {\r\n content: \"\\f1a6\";\r\n}\r\n.fa-pied-piper:before {\r\n content: \"\\f1a7\";\r\n}\r\n.fa-pied-piper-alt:before {\r\n content: \"\\f1a8\";\r\n}\r\n.fa-drupal:before {\r\n content: \"\\f1a9\";\r\n}\r\n.fa-joomla:before {\r\n content: \"\\f1aa\";\r\n}\r\n.fa-language:before {\r\n content: \"\\f1ab\";\r\n}\r\n.fa-fax:before {\r\n content: \"\\f1ac\";\r\n}\r\n.fa-building:before {\r\n content: \"\\f1ad\";\r\n}\r\n.fa-child:before {\r\n content: \"\\f1ae\";\r\n}\r\n.fa-paw:before {\r\n content: \"\\f1b0\";\r\n}\r\n.fa-spoon:before {\r\n content: \"\\f1b1\";\r\n}\r\n.fa-cube:before {\r\n content: \"\\f1b2\";\r\n}\r\n.fa-cubes:before {\r\n content: \"\\f1b3\";\r\n}\r\n.fa-behance:before {\r\n content: \"\\f1b4\";\r\n}\r\n.fa-behance-square:before {\r\n content: \"\\f1b5\";\r\n}\r\n.fa-steam:before {\r\n content: \"\\f1b6\";\r\n}\r\n.fa-steam-square:before {\r\n content: \"\\f1b7\";\r\n}\r\n.fa-recycle:before {\r\n content: \"\\f1b8\";\r\n}\r\n.fa-automobile:before,\r\n.fa-car:before {\r\n content: \"\\f1b9\";\r\n}\r\n.fa-cab:before,\r\n.fa-taxi:before {\r\n content: \"\\f1ba\";\r\n}\r\n.fa-tree:before {\r\n content: \"\\f1bb\";\r\n}\r\n.fa-spotify:before {\r\n content: \"\\f1bc\";\r\n}\r\n.fa-deviantart:before {\r\n content: \"\\f1bd\";\r\n}\r\n.fa-soundcloud:before {\r\n content: \"\\f1be\";\r\n}\r\n.fa-database:before {\r\n content: \"\\f1c0\";\r\n}\r\n.fa-file-pdf-o:before {\r\n content: \"\\f1c1\";\r\n}\r\n.fa-file-word-o:before {\r\n content: \"\\f1c2\";\r\n}\r\n.fa-file-excel-o:before {\r\n content: \"\\f1c3\";\r\n}\r\n.fa-file-powerpoint-o:before {\r\n content: \"\\f1c4\";\r\n}\r\n.fa-file-photo-o:before,\r\n.fa-file-picture-o:before,\r\n.fa-file-image-o:before {\r\n content: \"\\f1c5\";\r\n}\r\n.fa-file-zip-o:before,\r\n.fa-file-archive-o:before {\r\n content: \"\\f1c6\";\r\n}\r\n.fa-file-sound-o:before,\r\n.fa-file-audio-o:before {\r\n content: \"\\f1c7\";\r\n}\r\n.fa-file-movie-o:before,\r\n.fa-file-video-o:before {\r\n content: \"\\f1c8\";\r\n}\r\n.fa-file-code-o:before {\r\n content: \"\\f1c9\";\r\n}\r\n.fa-vine:before {\r\n content: \"\\f1ca\";\r\n}\r\n.fa-codepen:before {\r\n content: \"\\f1cb\";\r\n}\r\n.fa-jsfiddle:before {\r\n content: \"\\f1cc\";\r\n}\r\n.fa-life-bouy:before,\r\n.fa-life-buoy:before,\r\n.fa-life-saver:before,\r\n.fa-support:before,\r\n.fa-life-ring:before {\r\n content: \"\\f1cd\";\r\n}\r\n.fa-circle-o-notch:before {\r\n content: \"\\f1ce\";\r\n}\r\n.fa-ra:before,\r\n.fa-rebel:before {\r\n content: \"\\f1d0\";\r\n}\r\n.fa-ge:before,\r\n.fa-empire:before {\r\n content: \"\\f1d1\";\r\n}\r\n.fa-git-square:before {\r\n content: \"\\f1d2\";\r\n}\r\n.fa-git:before {\r\n content: \"\\f1d3\";\r\n}\r\n.fa-y-combinator-square:before,\r\n.fa-yc-square:before,\r\n.fa-hacker-news:before {\r\n content: \"\\f1d4\";\r\n}\r\n.fa-tencent-weibo:before {\r\n content: \"\\f1d5\";\r\n}\r\n.fa-qq:before {\r\n content: \"\\f1d6\";\r\n}\r\n.fa-wechat:before,\r\n.fa-weixin:before {\r\n content: \"\\f1d7\";\r\n}\r\n.fa-send:before,\r\n.fa-paper-plane:before {\r\n content: \"\\f1d8\";\r\n}\r\n.fa-send-o:before,\r\n.fa-paper-plane-o:before {\r\n content: \"\\f1d9\";\r\n}\r\n.fa-history:before {\r\n content: \"\\f1da\";\r\n}\r\n.fa-circle-thin:before {\r\n content: \"\\f1db\";\r\n}\r\n.fa-header:before {\r\n content: \"\\f1dc\";\r\n}\r\n.fa-paragraph:before {\r\n content: \"\\f1dd\";\r\n}\r\n.fa-sliders:before {\r\n content: \"\\f1de\";\r\n}\r\n.fa-share-alt:before {\r\n content: \"\\f1e0\";\r\n}\r\n.fa-share-alt-square:before {\r\n content: \"\\f1e1\";\r\n}\r\n.fa-bomb:before {\r\n content: \"\\f1e2\";\r\n}\r\n.fa-soccer-ball-o:before,\r\n.fa-futbol-o:before {\r\n content: \"\\f1e3\";\r\n}\r\n.fa-tty:before {\r\n content: \"\\f1e4\";\r\n}\r\n.fa-binoculars:before {\r\n content: \"\\f1e5\";\r\n}\r\n.fa-plug:before {\r\n content: \"\\f1e6\";\r\n}\r\n.fa-slideshare:before {\r\n content: \"\\f1e7\";\r\n}\r\n.fa-twitch:before {\r\n content: \"\\f1e8\";\r\n}\r\n.fa-yelp:before {\r\n content: \"\\f1e9\";\r\n}\r\n.fa-newspaper-o:before {\r\n content: \"\\f1ea\";\r\n}\r\n.fa-wifi:before {\r\n content: \"\\f1eb\";\r\n}\r\n.fa-calculator:before {\r\n content: \"\\f1ec\";\r\n}\r\n.fa-paypal:before {\r\n content: \"\\f1ed\";\r\n}\r\n.fa-google-wallet:before {\r\n content: \"\\f1ee\";\r\n}\r\n.fa-cc-visa:before {\r\n content: \"\\f1f0\";\r\n}\r\n.fa-cc-mastercard:before {\r\n content: \"\\f1f1\";\r\n}\r\n.fa-cc-discover:before {\r\n content: \"\\f1f2\";\r\n}\r\n.fa-cc-amex:before {\r\n content: \"\\f1f3\";\r\n}\r\n.fa-cc-paypal:before {\r\n content: \"\\f1f4\";\r\n}\r\n.fa-cc-stripe:before {\r\n content: \"\\f1f5\";\r\n}\r\n.fa-bell-slash:before {\r\n content: \"\\f1f6\";\r\n}\r\n.fa-bell-slash-o:before {\r\n content: \"\\f1f7\";\r\n}\r\n.fa-trash:before {\r\n content: \"\\f1f8\";\r\n}\r\n.fa-copyright:before {\r\n content: \"\\f1f9\";\r\n}\r\n.fa-at:before {\r\n content: \"\\f1fa\";\r\n}\r\n.fa-eyedropper:before {\r\n content: \"\\f1fb\";\r\n}\r\n.fa-paint-brush:before {\r\n content: \"\\f1fc\";\r\n}\r\n.fa-birthday-cake:before {\r\n content: \"\\f1fd\";\r\n}\r\n.fa-area-chart:before {\r\n content: \"\\f1fe\";\r\n}\r\n.fa-pie-chart:before {\r\n content: \"\\f200\";\r\n}\r\n.fa-line-chart:before {\r\n content: \"\\f201\";\r\n}\r\n.fa-lastfm:before {\r\n content: \"\\f202\";\r\n}\r\n.fa-lastfm-square:before {\r\n content: \"\\f203\";\r\n}\r\n.fa-toggle-off:before {\r\n content: \"\\f204\";\r\n}\r\n.fa-toggle-on:before {\r\n content: \"\\f205\";\r\n}\r\n.fa-bicycle:before {\r\n content: \"\\f206\";\r\n}\r\n.fa-bus:before {\r\n content: \"\\f207\";\r\n}\r\n.fa-ioxhost:before {\r\n content: \"\\f208\";\r\n}\r\n.fa-angellist:before {\r\n content: \"\\f209\";\r\n}\r\n.fa-cc:before {\r\n content: \"\\f20a\";\r\n}\r\n.fa-shekel:before,\r\n.fa-sheqel:before,\r\n.fa-ils:before {\r\n content: \"\\f20b\";\r\n}\r\n.fa-meanpath:before {\r\n content: \"\\f20c\";\r\n}\r\n.fa-buysellads:before {\r\n content: \"\\f20d\";\r\n}\r\n.fa-connectdevelop:before {\r\n content: \"\\f20e\";\r\n}\r\n.fa-dashcube:before {\r\n content: \"\\f210\";\r\n}\r\n.fa-forumbee:before {\r\n content: \"\\f211\";\r\n}\r\n.fa-leanpub:before {\r\n content: \"\\f212\";\r\n}\r\n.fa-sellsy:before {\r\n content: \"\\f213\";\r\n}\r\n.fa-shirtsinbulk:before {\r\n content: \"\\f214\";\r\n}\r\n.fa-simplybuilt:before {\r\n content: \"\\f215\";\r\n}\r\n.fa-skyatlas:before {\r\n content: \"\\f216\";\r\n}\r\n.fa-cart-plus:before {\r\n content: \"\\f217\";\r\n}\r\n.fa-cart-arrow-down:before {\r\n content: \"\\f218\";\r\n}\r\n.fa-diamond:before {\r\n content: \"\\f219\";\r\n}\r\n.fa-ship:before {\r\n content: \"\\f21a\";\r\n}\r\n.fa-user-secret:before {\r\n content: \"\\f21b\";\r\n}\r\n.fa-motorcycle:before {\r\n content: \"\\f21c\";\r\n}\r\n.fa-street-view:before {\r\n content: \"\\f21d\";\r\n}\r\n.fa-heartbeat:before {\r\n content: \"\\f21e\";\r\n}\r\n.fa-venus:before {\r\n content: \"\\f221\";\r\n}\r\n.fa-mars:before {\r\n content: \"\\f222\";\r\n}\r\n.fa-mercury:before {\r\n content: \"\\f223\";\r\n}\r\n.fa-intersex:before,\r\n.fa-transgender:before {\r\n content: \"\\f224\";\r\n}\r\n.fa-transgender-alt:before {\r\n content: \"\\f225\";\r\n}\r\n.fa-venus-double:before {\r\n content: \"\\f226\";\r\n}\r\n.fa-mars-double:before {\r\n content: \"\\f227\";\r\n}\r\n.fa-venus-mars:before {\r\n content: \"\\f228\";\r\n}\r\n.fa-mars-stroke:before {\r\n content: \"\\f229\";\r\n}\r\n.fa-mars-stroke-v:before {\r\n content: \"\\f22a\";\r\n}\r\n.fa-mars-stroke-h:before {\r\n content: \"\\f22b\";\r\n}\r\n.fa-neuter:before {\r\n content: \"\\f22c\";\r\n}\r\n.fa-genderless:before {\r\n content: \"\\f22d\";\r\n}\r\n.fa-facebook-official:before {\r\n content: \"\\f230\";\r\n}\r\n.fa-pinterest-p:before {\r\n content: \"\\f231\";\r\n}\r\n.fa-whatsapp:before {\r\n content: \"\\f232\";\r\n}\r\n.fa-server:before {\r\n content: \"\\f233\";\r\n}\r\n.fa-user-plus:before {\r\n content: \"\\f234\";\r\n}\r\n.fa-user-times:before {\r\n content: \"\\f235\";\r\n}\r\n.fa-hotel:before,\r\n.fa-bed:before {\r\n content: \"\\f236\";\r\n}\r\n.fa-viacoin:before {\r\n content: \"\\f237\";\r\n}\r\n.fa-train:before {\r\n content: \"\\f238\";\r\n}\r\n.fa-subway:before {\r\n content: \"\\f239\";\r\n}\r\n.fa-medium:before {\r\n content: \"\\f23a\";\r\n}\r\n.fa-yc:before,\r\n.fa-y-combinator:before {\r\n content: \"\\f23b\";\r\n}\r\n.fa-optin-monster:before {\r\n content: \"\\f23c\";\r\n}\r\n.fa-opencart:before {\r\n content: \"\\f23d\";\r\n}\r\n.fa-expeditedssl:before {\r\n content: \"\\f23e\";\r\n}\r\n.fa-battery-4:before,\r\n.fa-battery-full:before {\r\n content: \"\\f240\";\r\n}\r\n.fa-battery-3:before,\r\n.fa-battery-three-quarters:before {\r\n content: \"\\f241\";\r\n}\r\n.fa-battery-2:before,\r\n.fa-battery-half:before {\r\n content: \"\\f242\";\r\n}\r\n.fa-battery-1:before,\r\n.fa-battery-quarter:before {\r\n content: \"\\f243\";\r\n}\r\n.fa-battery-0:before,\r\n.fa-battery-empty:before {\r\n content: \"\\f244\";\r\n}\r\n.fa-mouse-pointer:before {\r\n content: \"\\f245\";\r\n}\r\n.fa-i-cursor:before {\r\n content: \"\\f246\";\r\n}\r\n.fa-object-group:before {\r\n content: \"\\f247\";\r\n}\r\n.fa-object-ungroup:before {\r\n content: \"\\f248\";\r\n}\r\n.fa-sticky-note:before {\r\n content: \"\\f249\";\r\n}\r\n.fa-sticky-note-o:before {\r\n content: \"\\f24a\";\r\n}\r\n.fa-cc-jcb:before {\r\n content: \"\\f24b\";\r\n}\r\n.fa-cc-diners-club:before {\r\n content: \"\\f24c\";\r\n}\r\n.fa-clone:before {\r\n content: \"\\f24d\";\r\n}\r\n.fa-balance-scale:before {\r\n content: \"\\f24e\";\r\n}\r\n.fa-hourglass-o:before {\r\n content: \"\\f250\";\r\n}\r\n.fa-hourglass-1:before,\r\n.fa-hourglass-start:before {\r\n content: \"\\f251\";\r\n}\r\n.fa-hourglass-2:before,\r\n.fa-hourglass-half:before {\r\n content: \"\\f252\";\r\n}\r\n.fa-hourglass-3:before,\r\n.fa-hourglass-end:before {\r\n content: \"\\f253\";\r\n}\r\n.fa-hourglass:before {\r\n content: \"\\f254\";\r\n}\r\n.fa-hand-grab-o:before,\r\n.fa-hand-rock-o:before {\r\n content: \"\\f255\";\r\n}\r\n.fa-hand-stop-o:before,\r\n.fa-hand-paper-o:before {\r\n content: \"\\f256\";\r\n}\r\n.fa-hand-scissors-o:before {\r\n content: \"\\f257\";\r\n}\r\n.fa-hand-lizard-o:before {\r\n content: \"\\f258\";\r\n}\r\n.fa-hand-spock-o:before {\r\n content: \"\\f259\";\r\n}\r\n.fa-hand-pointer-o:before {\r\n content: \"\\f25a\";\r\n}\r\n.fa-hand-peace-o:before {\r\n content: \"\\f25b\";\r\n}\r\n.fa-trademark:before {\r\n content: \"\\f25c\";\r\n}\r\n.fa-registered:before {\r\n content: \"\\f25d\";\r\n}\r\n.fa-creative-commons:before {\r\n content: \"\\f25e\";\r\n}\r\n.fa-gg:before {\r\n content: \"\\f260\";\r\n}\r\n.fa-gg-circle:before {\r\n content: \"\\f261\";\r\n}\r\n.fa-tripadvisor:before {\r\n content: \"\\f262\";\r\n}\r\n.fa-odnoklassniki:before {\r\n content: \"\\f263\";\r\n}\r\n.fa-odnoklassniki-square:before {\r\n content: \"\\f264\";\r\n}\r\n.fa-get-pocket:before {\r\n content: \"\\f265\";\r\n}\r\n.fa-wikipedia-w:before {\r\n content: \"\\f266\";\r\n}\r\n.fa-safari:before {\r\n content: \"\\f267\";\r\n}\r\n.fa-chrome:before {\r\n content: \"\\f268\";\r\n}\r\n.fa-firefox:before {\r\n content: \"\\f269\";\r\n}\r\n.fa-opera:before {\r\n content: \"\\f26a\";\r\n}\r\n.fa-internet-explorer:before {\r\n content: \"\\f26b\";\r\n}\r\n.fa-tv:before,\r\n.fa-television:before {\r\n content: \"\\f26c\";\r\n}\r\n.fa-contao:before {\r\n content: \"\\f26d\";\r\n}\r\n.fa-500px:before {\r\n content: \"\\f26e\";\r\n}\r\n.fa-amazon:before {\r\n content: \"\\f270\";\r\n}\r\n.fa-calendar-plus-o:before {\r\n content: \"\\f271\";\r\n}\r\n.fa-calendar-minus-o:before {\r\n content: \"\\f272\";\r\n}\r\n.fa-calendar-times-o:before {\r\n content: \"\\f273\";\r\n}\r\n.fa-calendar-check-o:before {\r\n content: \"\\f274\";\r\n}\r\n.fa-industry:before {\r\n content: \"\\f275\";\r\n}\r\n.fa-map-pin:before {\r\n content: \"\\f276\";\r\n}\r\n.fa-map-signs:before {\r\n content: \"\\f277\";\r\n}\r\n.fa-map-o:before {\r\n content: \"\\f278\";\r\n}\r\n.fa-map:before {\r\n content: \"\\f279\";\r\n}\r\n.fa-commenting:before {\r\n content: \"\\f27a\";\r\n}\r\n.fa-commenting-o:before {\r\n content: \"\\f27b\";\r\n}\r\n.fa-houzz:before {\r\n content: \"\\f27c\";\r\n}\r\n.fa-vimeo:before {\r\n content: \"\\f27d\";\r\n}\r\n.fa-black-tie:before {\r\n content: \"\\f27e\";\r\n}\r\n.fa-fonticons:before {\r\n content: \"\\f280\";\r\n}\r\n.fa-reddit-alien:before {\r\n content: \"\\f281\";\r\n}\r\n.fa-edge:before {\r\n content: \"\\f282\";\r\n}\r\n.fa-credit-card-alt:before {\r\n content: \"\\f283\";\r\n}\r\n.fa-codiepie:before {\r\n content: \"\\f284\";\r\n}\r\n.fa-modx:before {\r\n content: \"\\f285\";\r\n}\r\n.fa-fort-awesome:before {\r\n content: \"\\f286\";\r\n}\r\n.fa-usb:before {\r\n content: \"\\f287\";\r\n}\r\n.fa-product-hunt:before {\r\n content: \"\\f288\";\r\n}\r\n.fa-mixcloud:before {\r\n content: \"\\f289\";\r\n}\r\n.fa-scribd:before {\r\n content: \"\\f28a\";\r\n}\r\n.fa-pause-circle:before {\r\n content: \"\\f28b\";\r\n}\r\n.fa-pause-circle-o:before {\r\n content: \"\\f28c\";\r\n}\r\n.fa-stop-circle:before {\r\n content: \"\\f28d\";\r\n}\r\n.fa-stop-circle-o:before {\r\n content: \"\\f28e\";\r\n}\r\n.fa-shopping-bag:before {\r\n content: \"\\f290\";\r\n}\r\n.fa-shopping-basket:before {\r\n content: \"\\f291\";\r\n}\r\n.fa-hashtag:before {\r\n content: \"\\f292\";\r\n}\r\n.fa-bluetooth:before {\r\n content: \"\\f293\";\r\n}\r\n.fa-bluetooth-b:before {\r\n content: \"\\f294\";\r\n}\r\n.fa-percent:before {\r\n content: \"\\f295\";\r\n}\r\n/*!\r\n * Material Design Iconic Font 1.0.1 by Sergey Kupletsky (@zavoloklom) - http://zavoloklom.github.io/material-design-iconic-font/\r\n * License - https://github.com/zavoloklom/material-design-iconic-font/blob/gh-pages/License.md (Attribution-ShareAlike 4.0 International license)\r\n */\r\n@font-face {\r\n font-family: 'Material Design Iconic Font';\r\n src: url('../fonts/Material-Design-Iconic-Font.eot?v=1.0.1');\r\n src: url('../fonts/Material-Design-Iconic-Font.eot?#iefix&v=1.0.1') format('embedded-opentype'), url('../fonts/Material-Design-Iconic-Font.ttf?v=1.0.1') format('truetype'), url('../fonts/Material-Design-Iconic-Font.svg?v=1.0.1#Material-Design-Iconic-Font') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n[class^=\"md-\"],\r\n[class*=\" md-\"] {\r\n display: inline-block;\r\n font: normal normal normal 14px/1 'Material Design Iconic Font';\r\n font-size: inherit;\r\n speak: none;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.md {\r\n line-height: inherit;\r\n vertical-align: bottom;\r\n}\r\n.md-lg {\r\n font-size: 1.5em;\r\n line-height: .5em;\r\n vertical-align: -35%;\r\n}\r\n.md-2x {\r\n font-size: 2em;\r\n}\r\n.md-3x {\r\n font-size: 3em;\r\n}\r\n.md-4x {\r\n font-size: 4em;\r\n}\r\n.md-5x {\r\n font-size: 5em;\r\n}\r\n.md-border {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em grey;\r\n border-radius: .1em;\r\n}\r\n.md-border-circle {\r\n padding: .2em .25em .15em;\r\n border: solid 0.08em grey;\r\n border-radius: 50%;\r\n}\r\n[class^=\"md-\"].pull-left,\r\n[class*=\" md-\"].pull-left {\r\n float: left;\r\n margin-right: .3em;\r\n}\r\n[class^=\"md-\"].pull-right,\r\n[class*=\" md-\"].pull-right {\r\n float: right;\r\n margin-left: .3em;\r\n}\r\n.md-spin {\r\n -webkit-animation: md-spin 1.5s infinite linear;\r\n animation: md-spin 1.5s infinite linear;\r\n}\r\n.md-spin-reverse {\r\n -webkit-animation: md-spin-reverse 1.5s infinite linear;\r\n animation: md-spin-reverse 1.5s infinite linear;\r\n}\r\n@-webkit-keyframes md-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes md-spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n transform: rotate(359deg);\r\n }\r\n}\r\n@-webkit-keyframes md-spin-reverse {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(-359deg);\r\n transform: rotate(-359deg);\r\n }\r\n}\r\n@keyframes md-spin-reverse {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(-359deg);\r\n transform: rotate(-359deg);\r\n }\r\n}\r\n.md-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n -webkit-transform: rotate(90deg);\r\n -ms-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n.md-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n -webkit-transform: rotate(180deg);\r\n -ms-transform: rotate(180deg);\r\n transform: rotate(180deg);\r\n}\r\n.md-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n -webkit-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n}\r\n.md-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n -webkit-transform: scale(-1, 1);\r\n -ms-transform: scale(-1, 1);\r\n transform: scale(-1, 1);\r\n}\r\n.md-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n -webkit-transform: scale(1, -1);\r\n -ms-transform: scale(1, -1);\r\n transform: scale(1, -1);\r\n}\r\n:root .md-rotate-90,\r\n:root .md-rotate-180,\r\n:root .md-rotate-270,\r\n:root .md-flip-horizontal,\r\n:root .md-flip-vertical {\r\n filter: none;\r\n}\r\n/* Material Design Iconic Font uses the Unicode Private Use Area (PUA) to ensure screen\r\n readers do not read off random characters that represent icons */\r\n/* If you do not want use all icons you can disable icon set here */\r\n.md-3d-rotation:before {\r\n content: \"\\f000\";\r\n}\r\n.md-accessibility:before {\r\n content: \"\\f001\";\r\n}\r\n.md-account-balance:before {\r\n content: \"\\f002\";\r\n}\r\n.md-account-balance-wallet:before {\r\n content: \"\\f003\";\r\n}\r\n.md-account-box:before {\r\n content: \"\\f004\";\r\n}\r\n.md-account-child:before {\r\n content: \"\\f005\";\r\n}\r\n.md-account-circle:before {\r\n content: \"\\f006\";\r\n}\r\n.md-add-shopping-cart:before {\r\n content: \"\\f007\";\r\n}\r\n.md-alarm:before {\r\n content: \"\\f008\";\r\n}\r\n.md-alarm-add:before {\r\n content: \"\\f009\";\r\n}\r\n.md-alarm-off:before {\r\n content: \"\\f00a\";\r\n}\r\n.md-alarm-on:before {\r\n content: \"\\f00b\";\r\n}\r\n.md-android:before {\r\n content: \"\\f00c\";\r\n}\r\n.md-announcement:before {\r\n content: \"\\f00d\";\r\n}\r\n.md-aspect-ratio:before {\r\n content: \"\\f00e\";\r\n}\r\n.md-assessment:before {\r\n content: \"\\f00f\";\r\n}\r\n.md-assignment:before {\r\n content: \"\\f010\";\r\n}\r\n.md-assignment-ind:before {\r\n content: \"\\f011\";\r\n}\r\n.md-assignment-late:before {\r\n content: \"\\f012\";\r\n}\r\n.md-assignment-return:before {\r\n content: \"\\f013\";\r\n}\r\n.md-assignment-returned:before {\r\n content: \"\\f014\";\r\n}\r\n.md-assignment-turned-in:before {\r\n content: \"\\f015\";\r\n}\r\n.md-autorenew:before {\r\n content: \"\\f016\";\r\n}\r\n.md-backup:before {\r\n content: \"\\f017\";\r\n}\r\n.md-book:before {\r\n content: \"\\f018\";\r\n}\r\n.md-bookmark:before {\r\n content: \"\\f019\";\r\n}\r\n.md-bookmark-outline:before {\r\n content: \"\\f01a\";\r\n}\r\n.md-bug-report:before {\r\n content: \"\\f01b\";\r\n}\r\n.md-cached:before {\r\n content: \"\\f01c\";\r\n}\r\n.md-class:before {\r\n content: \"\\f01d\";\r\n}\r\n.md-credit-card:before {\r\n content: \"\\f01e\";\r\n}\r\n.md-dashboard:before {\r\n content: \"\\f01f\";\r\n}\r\n.md-delete:before {\r\n content: \"\\f020\";\r\n}\r\n.md-description:before {\r\n content: \"\\f021\";\r\n}\r\n.md-dns:before {\r\n content: \"\\f022\";\r\n}\r\n.md-done:before {\r\n content: \"\\f023\";\r\n}\r\n.md-done-all:before {\r\n content: \"\\f024\";\r\n}\r\n.md-event:before {\r\n content: \"\\f025\";\r\n}\r\n.md-exit-to-app:before {\r\n content: \"\\f026\";\r\n}\r\n.md-explore:before {\r\n content: \"\\f027\";\r\n}\r\n.md-extension:before {\r\n content: \"\\f028\";\r\n}\r\n.md-face-unlock:before {\r\n content: \"\\f029\";\r\n}\r\n.md-favorite:before {\r\n content: \"\\f02a\";\r\n}\r\n.md-favorite-outline:before {\r\n content: \"\\f02b\";\r\n}\r\n.md-find-in-page:before {\r\n content: \"\\f02c\";\r\n}\r\n.md-find-replace:before {\r\n content: \"\\f02d\";\r\n}\r\n.md-flip-to-back:before {\r\n content: \"\\f02e\";\r\n}\r\n.md-flip-to-front:before {\r\n content: \"\\f02f\";\r\n}\r\n.md-get-app:before {\r\n content: \"\\f030\";\r\n}\r\n.md-grade:before {\r\n content: \"\\f031\";\r\n}\r\n.md-group-work:before {\r\n content: \"\\f032\";\r\n}\r\n.md-help:before {\r\n content: \"\\f033\";\r\n}\r\n.md-highlight-remove:before {\r\n content: \"\\f034\";\r\n}\r\n.md-history:before {\r\n content: \"\\f035\";\r\n}\r\n.md-home:before {\r\n content: \"\\f036\";\r\n}\r\n.md-https:before {\r\n content: \"\\f037\";\r\n}\r\n.md-info:before {\r\n content: \"\\f038\";\r\n}\r\n.md-info-outline:before {\r\n content: \"\\f039\";\r\n}\r\n.md-input:before {\r\n content: \"\\f03a\";\r\n}\r\n.md-invert-colors:before {\r\n content: \"\\f03b\";\r\n}\r\n.md-label:before {\r\n content: \"\\f03c\";\r\n}\r\n.md-label-outline:before {\r\n content: \"\\f03d\";\r\n}\r\n.md-language:before {\r\n content: \"\\f03e\";\r\n}\r\n.md-launch:before {\r\n content: \"\\f03f\";\r\n}\r\n.md-list:before {\r\n content: \"\\f040\";\r\n}\r\n.md-lock:before {\r\n content: \"\\f041\";\r\n}\r\n.md-lock-open:before {\r\n content: \"\\f042\";\r\n}\r\n.md-lock-outline:before {\r\n content: \"\\f043\";\r\n}\r\n.md-loyalty:before {\r\n content: \"\\f044\";\r\n}\r\n.md-markunread-mailbox:before {\r\n content: \"\\f045\";\r\n}\r\n.md-note-add:before {\r\n content: \"\\f046\";\r\n}\r\n.md-open-in-browser:before {\r\n content: \"\\f047\";\r\n}\r\n.md-open-in-new:before {\r\n content: \"\\f048\";\r\n}\r\n.md-open-with:before {\r\n content: \"\\f049\";\r\n}\r\n.md-pageview:before {\r\n content: \"\\f04a\";\r\n}\r\n.md-payment:before {\r\n content: \"\\f04b\";\r\n}\r\n.md-perm-camera-mic:before {\r\n content: \"\\f04c\";\r\n}\r\n.md-perm-contact-cal:before {\r\n content: \"\\f04d\";\r\n}\r\n.md-perm-data-setting:before {\r\n content: \"\\f04e\";\r\n}\r\n.md-perm-device-info:before {\r\n content: \"\\f04f\";\r\n}\r\n.md-perm-identity:before {\r\n content: \"\\f050\";\r\n}\r\n.md-perm-media:before {\r\n content: \"\\f051\";\r\n}\r\n.md-perm-phone-msg:before {\r\n content: \"\\f052\";\r\n}\r\n.md-perm-scan-wifi:before {\r\n content: \"\\f053\";\r\n}\r\n.md-picture-in-picture:before {\r\n content: \"\\f054\";\r\n}\r\n.md-polymer:before {\r\n content: \"\\f055\";\r\n}\r\n.md-print:before {\r\n content: \"\\f056\";\r\n}\r\n.md-query-builder:before {\r\n content: \"\\f057\";\r\n}\r\n.md-question-answer:before {\r\n content: \"\\f058\";\r\n}\r\n.md-receipt:before {\r\n content: \"\\f059\";\r\n}\r\n.md-redeem:before {\r\n content: \"\\f05a\";\r\n}\r\n.md-report-problem:before {\r\n content: \"\\f05b\";\r\n}\r\n.md-restore:before {\r\n content: \"\\f05c\";\r\n}\r\n.md-room:before {\r\n content: \"\\f05d\";\r\n}\r\n.md-schedule:before {\r\n content: \"\\f05e\";\r\n}\r\n.md-search:before {\r\n content: \"\\f05f\";\r\n}\r\n.md-settings:before {\r\n content: \"\\f060\";\r\n}\r\n.md-settings-applications:before {\r\n content: \"\\f061\";\r\n}\r\n.md-settings-backup-restore:before {\r\n content: \"\\f062\";\r\n}\r\n.md-settings-bluetooth:before {\r\n content: \"\\f063\";\r\n}\r\n.md-settings-cell:before {\r\n content: \"\\f064\";\r\n}\r\n.md-settings-display:before {\r\n content: \"\\f065\";\r\n}\r\n.md-settings-ethernet:before {\r\n content: \"\\f066\";\r\n}\r\n.md-settings-input-antenna:before {\r\n content: \"\\f067\";\r\n}\r\n.md-settings-input-component:before {\r\n content: \"\\f068\";\r\n}\r\n.md-settings-input-composite:before {\r\n content: \"\\f069\";\r\n}\r\n.md-settings-input-hdmi:before {\r\n content: \"\\f06a\";\r\n}\r\n.md-settings-input-svideo:before {\r\n content: \"\\f06b\";\r\n}\r\n.md-settings-overscan:before {\r\n content: \"\\f06c\";\r\n}\r\n.md-settings-phone:before {\r\n content: \"\\f06d\";\r\n}\r\n.md-settings-power:before {\r\n content: \"\\f06e\";\r\n}\r\n.md-settings-remote:before {\r\n content: \"\\f06f\";\r\n}\r\n.md-settings-voice:before {\r\n content: \"\\f070\";\r\n}\r\n.md-shop:before {\r\n content: \"\\f071\";\r\n}\r\n.md-shopping-basket:before {\r\n content: \"\\f072\";\r\n}\r\n.md-shopping-cart:before {\r\n content: \"\\f073\";\r\n}\r\n.md-shop-two:before {\r\n content: \"\\f074\";\r\n}\r\n.md-speaker-notes:before {\r\n content: \"\\f075\";\r\n}\r\n.md-spellcheck:before {\r\n content: \"\\f076\";\r\n}\r\n.md-star-rate:before {\r\n content: \"\\f077\";\r\n}\r\n.md-stars:before {\r\n content: \"\\f078\";\r\n}\r\n.md-store:before {\r\n content: \"\\f079\";\r\n}\r\n.md-subject:before {\r\n content: \"\\f07a\";\r\n}\r\n.md-swap-horiz:before {\r\n content: \"\\f07b\";\r\n}\r\n.md-swap-vert:before {\r\n content: \"\\f07c\";\r\n}\r\n.md-swap-vert-circle:before {\r\n content: \"\\f07d\";\r\n}\r\n.md-system-update-tv:before {\r\n content: \"\\f07e\";\r\n}\r\n.md-tab:before {\r\n content: \"\\f07f\";\r\n}\r\n.md-tab-unselected:before {\r\n content: \"\\f080\";\r\n}\r\n.md-theaters:before {\r\n content: \"\\f081\";\r\n}\r\n.md-thumb-down:before {\r\n content: \"\\f082\";\r\n}\r\n.md-thumbs-up-down:before {\r\n content: \"\\f083\";\r\n}\r\n.md-thumb-up:before {\r\n content: \"\\f084\";\r\n}\r\n.md-toc:before {\r\n content: \"\\f085\";\r\n}\r\n.md-today:before {\r\n content: \"\\f086\";\r\n}\r\n.md-track-changes:before {\r\n content: \"\\f087\";\r\n}\r\n.md-translate:before {\r\n content: \"\\f088\";\r\n}\r\n.md-trending-down:before {\r\n content: \"\\f089\";\r\n}\r\n.md-trending-neutral:before {\r\n content: \"\\f08a\";\r\n}\r\n.md-trending-up:before {\r\n content: \"\\f08b\";\r\n}\r\n.md-turned-in:before {\r\n content: \"\\f08c\";\r\n}\r\n.md-turned-in-not:before {\r\n content: \"\\f08d\";\r\n}\r\n.md-verified-user:before {\r\n content: \"\\f08e\";\r\n}\r\n.md-view-agenda:before {\r\n content: \"\\f08f\";\r\n}\r\n.md-view-array:before {\r\n content: \"\\f090\";\r\n}\r\n.md-view-carousel:before {\r\n content: \"\\f091\";\r\n}\r\n.md-view-column:before {\r\n content: \"\\f092\";\r\n}\r\n.md-view-day:before {\r\n content: \"\\f093\";\r\n}\r\n.md-view-headline:before {\r\n content: \"\\f094\";\r\n}\r\n.md-view-list:before {\r\n content: \"\\f095\";\r\n}\r\n.md-view-module:before {\r\n content: \"\\f096\";\r\n}\r\n.md-view-quilt:before {\r\n content: \"\\f097\";\r\n}\r\n.md-view-stream:before {\r\n content: \"\\f098\";\r\n}\r\n.md-view-week:before {\r\n content: \"\\f099\";\r\n}\r\n.md-visibility:before {\r\n content: \"\\f09a\";\r\n}\r\n.md-visibility-off:before {\r\n content: \"\\f09b\";\r\n}\r\n.md-wallet-giftcard:before {\r\n content: \"\\f09c\";\r\n}\r\n.md-wallet-membership:before {\r\n content: \"\\f09d\";\r\n}\r\n.md-wallet-travel:before {\r\n content: \"\\f09e\";\r\n}\r\n.md-work:before {\r\n content: \"\\f09f\";\r\n}\r\n.md-error:before {\r\n content: \"\\f0a0\";\r\n}\r\n.md-warning:before {\r\n content: \"\\f0a1\";\r\n}\r\n.md-album:before {\r\n content: \"\\f0a2\";\r\n}\r\n.md-av-timer:before {\r\n content: \"\\f0a3\";\r\n}\r\n.md-closed-caption:before {\r\n content: \"\\f0a4\";\r\n}\r\n.md-equalizer:before {\r\n content: \"\\f0a5\";\r\n}\r\n.md-explicit:before {\r\n content: \"\\f0a6\";\r\n}\r\n.md-fast-forward:before {\r\n content: \"\\f0a7\";\r\n}\r\n.md-fast-rewind:before {\r\n content: \"\\f0a8\";\r\n}\r\n.md-games:before {\r\n content: \"\\f0a9\";\r\n}\r\n.md-hearing:before {\r\n content: \"\\f0aa\";\r\n}\r\n.md-high-quality:before {\r\n content: \"\\f0ab\";\r\n}\r\n.md-loop:before {\r\n content: \"\\f0ac\";\r\n}\r\n.md-mic:before {\r\n content: \"\\f0ad\";\r\n}\r\n.md-mic-none:before {\r\n content: \"\\f0ae\";\r\n}\r\n.md-mic-off:before {\r\n content: \"\\f0af\";\r\n}\r\n.md-movie:before {\r\n content: \"\\f0b0\";\r\n}\r\n.md-my-library-add:before {\r\n content: \"\\f0b1\";\r\n}\r\n.md-my-library-books:before {\r\n content: \"\\f0b2\";\r\n}\r\n.md-my-library-music:before {\r\n content: \"\\f0b3\";\r\n}\r\n.md-new-releases:before {\r\n content: \"\\f0b4\";\r\n}\r\n.md-not-interested:before {\r\n content: \"\\f0b5\";\r\n}\r\n.md-pause:before {\r\n content: \"\\f0b6\";\r\n}\r\n.md-pause-circle-fill:before {\r\n content: \"\\f0b7\";\r\n}\r\n.md-pause-circle-outline:before {\r\n content: \"\\f0b8\";\r\n}\r\n.md-play-arrow:before {\r\n content: \"\\f0b9\";\r\n}\r\n.md-play-circle-fill:before {\r\n content: \"\\f0ba\";\r\n}\r\n.md-play-circle-outline:before {\r\n content: \"\\f0bb\";\r\n}\r\n.md-playlist-add:before {\r\n content: \"\\f0bc\";\r\n}\r\n.md-play-shopping-bag:before {\r\n content: \"\\f0bd\";\r\n}\r\n.md-queue:before {\r\n content: \"\\f0be\";\r\n}\r\n.md-queue-music:before {\r\n content: \"\\f0bf\";\r\n}\r\n.md-radio:before {\r\n content: \"\\f0c0\";\r\n}\r\n.md-recent-actors:before {\r\n content: \"\\f0c1\";\r\n}\r\n.md-repeat:before {\r\n content: \"\\f0c2\";\r\n}\r\n.md-repeat-one:before {\r\n content: \"\\f0c3\";\r\n}\r\n.md-replay:before {\r\n content: \"\\f0c4\";\r\n}\r\n.md-shuffle:before {\r\n content: \"\\f0c5\";\r\n}\r\n.md-skip-next:before {\r\n content: \"\\f0c6\";\r\n}\r\n.md-skip-previous:before {\r\n content: \"\\f0c7\";\r\n}\r\n.md-snooze:before {\r\n content: \"\\f0c8\";\r\n}\r\n.md-stop:before {\r\n content: \"\\f0c9\";\r\n}\r\n.md-subtitles:before {\r\n content: \"\\f0ca\";\r\n}\r\n.md-surround-sound:before {\r\n content: \"\\f0cb\";\r\n}\r\n.md-videocam:before {\r\n content: \"\\f0cc\";\r\n}\r\n.md-videocam-off:before {\r\n content: \"\\f0cd\";\r\n}\r\n.md-video-collection:before {\r\n content: \"\\f0ce\";\r\n}\r\n.md-volume-down:before {\r\n content: \"\\f0cf\";\r\n}\r\n.md-volume-mute:before {\r\n content: \"\\f0d0\";\r\n}\r\n.md-volume-off:before {\r\n content: \"\\f0d1\";\r\n}\r\n.md-volume-up:before {\r\n content: \"\\f0d2\";\r\n}\r\n.md-web:before {\r\n content: \"\\f0d3\";\r\n}\r\n.md-business:before {\r\n content: \"\\f0d4\";\r\n}\r\n.md-call:before {\r\n content: \"\\f0d5\";\r\n}\r\n.md-call-end:before {\r\n content: \"\\f0d6\";\r\n}\r\n.md-call-made:before {\r\n content: \"\\f0d7\";\r\n}\r\n.md-call-merge:before {\r\n content: \"\\f0d8\";\r\n}\r\n.md-call-missed:before {\r\n content: \"\\f0d9\";\r\n}\r\n.md-call-received:before {\r\n content: \"\\f0da\";\r\n}\r\n.md-call-split:before {\r\n content: \"\\f0db\";\r\n}\r\n.md-chat:before {\r\n content: \"\\f0dc\";\r\n}\r\n.md-clear-all:before {\r\n content: \"\\f0dd\";\r\n}\r\n.md-comment:before {\r\n content: \"\\f0de\";\r\n}\r\n.md-contacts:before {\r\n content: \"\\f0df\";\r\n}\r\n.md-dialer-sip:before {\r\n content: \"\\f0e0\";\r\n}\r\n.md-dialpad:before {\r\n content: \"\\f0e1\";\r\n}\r\n.md-dnd-on:before {\r\n content: \"\\f0e2\";\r\n}\r\n.md-email:before {\r\n content: \"\\f0e3\";\r\n}\r\n.md-forum:before {\r\n content: \"\\f0e4\";\r\n}\r\n.md-import-export:before {\r\n content: \"\\f0e5\";\r\n}\r\n.md-invert-colors-off:before {\r\n content: \"\\f0e6\";\r\n}\r\n.md-invert-colors-on:before {\r\n content: \"\\f0e7\";\r\n}\r\n.md-live-help:before {\r\n content: \"\\f0e8\";\r\n}\r\n.md-location-off:before {\r\n content: \"\\f0e9\";\r\n}\r\n.md-location-on:before {\r\n content: \"\\f0ea\";\r\n}\r\n.md-message:before {\r\n content: \"\\f0eb\";\r\n}\r\n.md-messenger:before {\r\n content: \"\\f0ec\";\r\n}\r\n.md-no-sim:before {\r\n content: \"\\f0ed\";\r\n}\r\n.md-phone:before {\r\n content: \"\\f0ee\";\r\n}\r\n.md-portable-wifi-off:before {\r\n content: \"\\f0ef\";\r\n}\r\n.md-quick-contacts-dialer:before {\r\n content: \"\\f0f0\";\r\n}\r\n.md-quick-contacts-mail:before {\r\n content: \"\\f0f1\";\r\n}\r\n.md-ring-volume:before {\r\n content: \"\\f0f2\";\r\n}\r\n.md-stay-current-landscape:before {\r\n content: \"\\f0f3\";\r\n}\r\n.md-stay-current-portrait:before {\r\n content: \"\\f0f4\";\r\n}\r\n.md-stay-primary-landscape:before {\r\n content: \"\\f0f5\";\r\n}\r\n.md-stay-primary-portrait:before {\r\n content: \"\\f0f6\";\r\n}\r\n.md-swap-calls:before {\r\n content: \"\\f0f7\";\r\n}\r\n.md-textsms:before {\r\n content: \"\\f0f8\";\r\n}\r\n.md-voicemail:before {\r\n content: \"\\f0f9\";\r\n}\r\n.md-vpn-key:before {\r\n content: \"\\f0fa\";\r\n}\r\n.md-add:before {\r\n content: \"\\f0fb\";\r\n}\r\n.md-add-box:before {\r\n content: \"\\f0fc\";\r\n}\r\n.md-add-circle:before {\r\n content: \"\\f0fd\";\r\n}\r\n.md-add-circle-outline:before {\r\n content: \"\\f0fe\";\r\n}\r\n.md-archive:before {\r\n content: \"\\f0ff\";\r\n}\r\n.md-backspace:before {\r\n content: \"\\f100\";\r\n}\r\n.md-block:before {\r\n content: \"\\f101\";\r\n}\r\n.md-clear:before {\r\n content: \"\\f102\";\r\n}\r\n.md-content-copy:before {\r\n content: \"\\f103\";\r\n}\r\n.md-content-cut:before {\r\n content: \"\\f104\";\r\n}\r\n.md-content-paste:before {\r\n content: \"\\f105\";\r\n}\r\n.md-create:before {\r\n content: \"\\f106\";\r\n}\r\n.md-drafts:before {\r\n content: \"\\f107\";\r\n}\r\n.md-filter-list:before {\r\n content: \"\\f108\";\r\n}\r\n.md-flag:before {\r\n content: \"\\f109\";\r\n}\r\n.md-forward:before {\r\n content: \"\\f10a\";\r\n}\r\n.md-gesture:before {\r\n content: \"\\f10b\";\r\n}\r\n.md-inbox:before {\r\n content: \"\\f10c\";\r\n}\r\n.md-link:before {\r\n content: \"\\f10d\";\r\n}\r\n.md-mail:before {\r\n content: \"\\f10e\";\r\n}\r\n.md-markunread:before {\r\n content: \"\\f10f\";\r\n}\r\n.md-redo:before {\r\n content: \"\\f110\";\r\n}\r\n.md-remove:before {\r\n content: \"\\f111\";\r\n}\r\n.md-remove-circle:before {\r\n content: \"\\f112\";\r\n}\r\n.md-remove-circle-outline:before {\r\n content: \"\\f113\";\r\n}\r\n.md-reply:before {\r\n content: \"\\f114\";\r\n}\r\n.md-reply-all:before {\r\n content: \"\\f115\";\r\n}\r\n.md-report:before {\r\n content: \"\\f116\";\r\n}\r\n.md-save:before {\r\n content: \"\\f117\";\r\n}\r\n.md-select-all:before {\r\n content: \"\\f118\";\r\n}\r\n.md-send:before {\r\n content: \"\\f119\";\r\n}\r\n.md-sort:before {\r\n content: \"\\f11a\";\r\n}\r\n.md-text-format:before {\r\n content: \"\\f11b\";\r\n}\r\n.md-undo:before {\r\n content: \"\\f11c\";\r\n}\r\n.md-access-alarm:before {\r\n content: \"\\f11d\";\r\n}\r\n.md-access-alarms:before {\r\n content: \"\\f11e\";\r\n}\r\n.md-access-time:before {\r\n content: \"\\f11f\";\r\n}\r\n.md-add-alarm:before {\r\n content: \"\\f120\";\r\n}\r\n.md-airplanemode-off:before {\r\n content: \"\\f121\";\r\n}\r\n.md-airplanemode-on:before {\r\n content: \"\\f122\";\r\n}\r\n.md-battery-20:before {\r\n content: \"\\f123\";\r\n}\r\n.md-battery-30:before {\r\n content: \"\\f124\";\r\n}\r\n.md-battery-50:before {\r\n content: \"\\f125\";\r\n}\r\n.md-battery-60:before {\r\n content: \"\\f126\";\r\n}\r\n.md-battery-80:before {\r\n content: \"\\f127\";\r\n}\r\n.md-battery-90:before {\r\n content: \"\\f128\";\r\n}\r\n.md-battery-alert:before {\r\n content: \"\\f129\";\r\n}\r\n.md-battery-charging-20:before {\r\n content: \"\\f12a\";\r\n}\r\n.md-battery-charging-30:before {\r\n content: \"\\f12b\";\r\n}\r\n.md-battery-charging-50:before {\r\n content: \"\\f12c\";\r\n}\r\n.md-battery-charging-60:before {\r\n content: \"\\f12d\";\r\n}\r\n.md-battery-charging-80:before {\r\n content: \"\\f12e\";\r\n}\r\n.md-battery-charging-90:before {\r\n content: \"\\f12f\";\r\n}\r\n.md-battery-charging-full:before {\r\n content: \"\\f130\";\r\n}\r\n.md-battery-full:before {\r\n content: \"\\f131\";\r\n}\r\n.md-battery-std:before {\r\n content: \"\\f132\";\r\n}\r\n.md-battery-unknown:before {\r\n content: \"\\f133\";\r\n}\r\n.md-bluetooth:before {\r\n content: \"\\f134\";\r\n}\r\n.md-bluetooth-connected:before {\r\n content: \"\\f135\";\r\n}\r\n.md-bluetooth-disabled:before {\r\n content: \"\\f136\";\r\n}\r\n.md-bluetooth-searching:before {\r\n content: \"\\f137\";\r\n}\r\n.md-brightness-auto:before {\r\n content: \"\\f138\";\r\n}\r\n.md-brightness-high:before {\r\n content: \"\\f139\";\r\n}\r\n.md-brightness-low:before {\r\n content: \"\\f13a\";\r\n}\r\n.md-brightness-medium:before {\r\n content: \"\\f13b\";\r\n}\r\n.md-data-usage:before {\r\n content: \"\\f13c\";\r\n}\r\n.md-developer-mode:before {\r\n content: \"\\f13d\";\r\n}\r\n.md-devices:before {\r\n content: \"\\f13e\";\r\n}\r\n.md-dvr:before {\r\n content: \"\\f13f\";\r\n}\r\n.md-gps-fixed:before {\r\n content: \"\\f140\";\r\n}\r\n.md-gps-not-fixed:before {\r\n content: \"\\f141\";\r\n}\r\n.md-gps-off:before {\r\n content: \"\\f142\";\r\n}\r\n.md-location-disabled:before {\r\n content: \"\\f143\";\r\n}\r\n.md-location-searching:before {\r\n content: \"\\f144\";\r\n}\r\n.md-multitrack-audio:before {\r\n content: \"\\f145\";\r\n}\r\n.md-network-cell:before {\r\n content: \"\\f146\";\r\n}\r\n.md-network-wifi:before {\r\n content: \"\\f147\";\r\n}\r\n.md-nfc:before {\r\n content: \"\\f148\";\r\n}\r\n.md-now-wallpaper:before {\r\n content: \"\\f149\";\r\n}\r\n.md-now-widgets:before {\r\n content: \"\\f14a\";\r\n}\r\n.md-screen-lock-landscape:before {\r\n content: \"\\f14b\";\r\n}\r\n.md-screen-lock-portrait:before {\r\n content: \"\\f14c\";\r\n}\r\n.md-screen-lock-rotation:before {\r\n content: \"\\f14d\";\r\n}\r\n.md-screen-rotation:before {\r\n content: \"\\f14e\";\r\n}\r\n.md-sd-storage:before {\r\n content: \"\\f14f\";\r\n}\r\n.md-settings-system-daydream:before {\r\n content: \"\\f150\";\r\n}\r\n.md-signal-cellular-0-bar:before {\r\n content: \"\\f151\";\r\n}\r\n.md-signal-cellular-1-bar:before {\r\n content: \"\\f152\";\r\n}\r\n.md-signal-cellular-2-bar:before {\r\n content: \"\\f153\";\r\n}\r\n.md-signal-cellular-3-bar:before {\r\n content: \"\\f154\";\r\n}\r\n.md-signal-cellular-4-bar:before {\r\n content: \"\\f155\";\r\n}\r\n.md-signal-cellular-connected-no-internet-0-bar:before {\r\n content: \"\\f156\";\r\n}\r\n.md-signal-cellular-connected-no-internet-1-bar:before {\r\n content: \"\\f157\";\r\n}\r\n.md-signal-cellular-connected-no-internet-2-bar:before {\r\n content: \"\\f158\";\r\n}\r\n.md-signal-cellular-connected-no-internet-3-bar:before {\r\n content: \"\\f159\";\r\n}\r\n.md-signal-cellular-connected-no-internet-4-bar:before {\r\n content: \"\\f15a\";\r\n}\r\n.md-signal-cellular-no-sim:before {\r\n content: \"\\f15b\";\r\n}\r\n.md-signal-cellular-null:before {\r\n content: \"\\f15c\";\r\n}\r\n.md-signal-cellular-off:before {\r\n content: \"\\f15d\";\r\n}\r\n.md-signal-wifi-0-bar:before {\r\n content: \"\\f15e\";\r\n}\r\n.md-signal-wifi-1-bar:before {\r\n content: \"\\f15f\";\r\n}\r\n.md-signal-wifi-2-bar:before {\r\n content: \"\\f160\";\r\n}\r\n.md-signal-wifi-3-bar:before {\r\n content: \"\\f161\";\r\n}\r\n.md-signal-wifi-4-bar:before {\r\n content: \"\\f162\";\r\n}\r\n.md-signal-wifi-off:before {\r\n content: \"\\f163\";\r\n}\r\n.md-storage:before {\r\n content: \"\\f164\";\r\n}\r\n.md-usb:before {\r\n content: \"\\f165\";\r\n}\r\n.md-wifi-lock:before {\r\n content: \"\\f166\";\r\n}\r\n.md-wifi-tethering:before {\r\n content: \"\\f167\";\r\n}\r\n.md-attach-file:before {\r\n content: \"\\f168\";\r\n}\r\n.md-attach-money:before {\r\n content: \"\\f169\";\r\n}\r\n.md-border-all:before {\r\n content: \"\\f16a\";\r\n}\r\n.md-border-bottom:before {\r\n content: \"\\f16b\";\r\n}\r\n.md-border-clear:before {\r\n content: \"\\f16c\";\r\n}\r\n.md-border-color:before {\r\n content: \"\\f16d\";\r\n}\r\n.md-border-horizontal:before {\r\n content: \"\\f16e\";\r\n}\r\n.md-border-inner:before {\r\n content: \"\\f16f\";\r\n}\r\n.md-border-left:before {\r\n content: \"\\f170\";\r\n}\r\n.md-border-outer:before {\r\n content: \"\\f171\";\r\n}\r\n.md-border-right:before {\r\n content: \"\\f172\";\r\n}\r\n.md-border-style:before {\r\n content: \"\\f173\";\r\n}\r\n.md-border-top:before {\r\n content: \"\\f174\";\r\n}\r\n.md-border-vertical:before {\r\n content: \"\\f175\";\r\n}\r\n.md-format-align-center:before {\r\n content: \"\\f176\";\r\n}\r\n.md-format-align-justify:before {\r\n content: \"\\f177\";\r\n}\r\n.md-format-align-left:before {\r\n content: \"\\f178\";\r\n}\r\n.md-format-align-right:before {\r\n content: \"\\f179\";\r\n}\r\n.md-format-bold:before {\r\n content: \"\\f17a\";\r\n}\r\n.md-format-clear:before {\r\n content: \"\\f17b\";\r\n}\r\n.md-format-color-fill:before {\r\n content: \"\\f17c\";\r\n}\r\n.md-format-color-reset:before {\r\n content: \"\\f17d\";\r\n}\r\n.md-format-color-text:before {\r\n content: \"\\f17e\";\r\n}\r\n.md-format-indent-decrease:before {\r\n content: \"\\f17f\";\r\n}\r\n.md-format-indent-increase:before {\r\n content: \"\\f180\";\r\n}\r\n.md-format-italic:before {\r\n content: \"\\f181\";\r\n}\r\n.md-format-line-spacing:before {\r\n content: \"\\f182\";\r\n}\r\n.md-format-list-bulleted:before {\r\n content: \"\\f183\";\r\n}\r\n.md-format-list-numbered:before {\r\n content: \"\\f184\";\r\n}\r\n.md-format-paint:before {\r\n content: \"\\f185\";\r\n}\r\n.md-format-quote:before {\r\n content: \"\\f186\";\r\n}\r\n.md-format-size:before {\r\n content: \"\\f187\";\r\n}\r\n.md-format-strikethrough:before {\r\n content: \"\\f188\";\r\n}\r\n.md-format-textdirection-l-to-r:before {\r\n content: \"\\f189\";\r\n}\r\n.md-format-textdirection-r-to-l:before {\r\n content: \"\\f18a\";\r\n}\r\n.md-format-underline:before {\r\n content: \"\\f18b\";\r\n}\r\n.md-functions:before {\r\n content: \"\\f18c\";\r\n}\r\n.md-insert-chart:before {\r\n content: \"\\f18d\";\r\n}\r\n.md-insert-comment:before {\r\n content: \"\\f18e\";\r\n}\r\n.md-insert-drive-file:before {\r\n content: \"\\f18f\";\r\n}\r\n.md-insert-emoticon:before {\r\n content: \"\\f190\";\r\n}\r\n.md-insert-invitation:before {\r\n content: \"\\f191\";\r\n}\r\n.md-insert-link:before {\r\n content: \"\\f192\";\r\n}\r\n.md-insert-photo:before {\r\n content: \"\\f193\";\r\n}\r\n.md-merge-type:before {\r\n content: \"\\f194\";\r\n}\r\n.md-mode-comment:before {\r\n content: \"\\f195\";\r\n}\r\n.md-mode-edit:before {\r\n content: \"\\f196\";\r\n}\r\n.md-publish:before {\r\n content: \"\\f197\";\r\n}\r\n.md-vertical-align-bottom:before {\r\n content: \"\\f198\";\r\n}\r\n.md-vertical-align-center:before {\r\n content: \"\\f199\";\r\n}\r\n.md-vertical-align-top:before {\r\n content: \"\\f19a\";\r\n}\r\n.md-wrap-text:before {\r\n content: \"\\f19b\";\r\n}\r\n.md-attachment:before {\r\n content: \"\\f19c\";\r\n}\r\n.md-cloud:before {\r\n content: \"\\f19d\";\r\n}\r\n.md-cloud-circle:before {\r\n content: \"\\f19e\";\r\n}\r\n.md-cloud-done:before {\r\n content: \"\\f19f\";\r\n}\r\n.md-cloud-download:before {\r\n content: \"\\f1a0\";\r\n}\r\n.md-cloud-off:before {\r\n content: \"\\f1a1\";\r\n}\r\n.md-cloud-queue:before {\r\n content: \"\\f1a2\";\r\n}\r\n.md-cloud-upload:before {\r\n content: \"\\f1a3\";\r\n}\r\n.md-file-download:before {\r\n content: \"\\f1a4\";\r\n}\r\n.md-file-upload:before {\r\n content: \"\\f1a5\";\r\n}\r\n.md-folder:before {\r\n content: \"\\f1a6\";\r\n}\r\n.md-folder-open:before {\r\n content: \"\\f1a7\";\r\n}\r\n.md-folder-shared:before {\r\n content: \"\\f1a8\";\r\n}\r\n.md-cast:before {\r\n content: \"\\f1a9\";\r\n}\r\n.md-cast-connected:before {\r\n content: \"\\f1aa\";\r\n}\r\n.md-computer:before {\r\n content: \"\\f1ab\";\r\n}\r\n.md-desktop-mac:before {\r\n content: \"\\f1ac\";\r\n}\r\n.md-desktop-windows:before {\r\n content: \"\\f1ad\";\r\n}\r\n.md-dock:before {\r\n content: \"\\f1ae\";\r\n}\r\n.md-gamepad:before {\r\n content: \"\\f1af\";\r\n}\r\n.md-headset:before {\r\n content: \"\\f1b0\";\r\n}\r\n.md-headset-mic:before {\r\n content: \"\\f1b1\";\r\n}\r\n.md-keyboard:before {\r\n content: \"\\f1b2\";\r\n}\r\n.md-keyboard-alt:before {\r\n content: \"\\f1b3\";\r\n}\r\n.md-keyboard-arrow-down:before {\r\n content: \"\\f1b4\";\r\n}\r\n.md-keyboard-arrow-left:before {\r\n content: \"\\f1b5\";\r\n}\r\n.md-keyboard-arrow-right:before {\r\n content: \"\\f1b6\";\r\n}\r\n.md-keyboard-arrow-up:before {\r\n content: \"\\f1b7\";\r\n}\r\n.md-keyboard-backspace:before {\r\n content: \"\\f1b8\";\r\n}\r\n.md-keyboard-capslock:before {\r\n content: \"\\f1b9\";\r\n}\r\n.md-keyboard-control:before {\r\n content: \"\\f1ba\";\r\n}\r\n.md-keyboard-hide:before {\r\n content: \"\\f1bb\";\r\n}\r\n.md-keyboard-return:before {\r\n content: \"\\f1bc\";\r\n}\r\n.md-keyboard-tab:before {\r\n content: \"\\f1bd\";\r\n}\r\n.md-keyboard-voice:before {\r\n content: \"\\f1be\";\r\n}\r\n.md-laptop:before {\r\n content: \"\\f1bf\";\r\n}\r\n.md-laptop-chromebook:before {\r\n content: \"\\f1c0\";\r\n}\r\n.md-laptop-mac:before {\r\n content: \"\\f1c1\";\r\n}\r\n.md-laptop-windows:before {\r\n content: \"\\f1c2\";\r\n}\r\n.md-memory:before {\r\n content: \"\\f1c3\";\r\n}\r\n.md-mouse:before {\r\n content: \"\\f1c4\";\r\n}\r\n.md-phone-android:before {\r\n content: \"\\f1c5\";\r\n}\r\n.md-phone-iphone:before {\r\n content: \"\\f1c6\";\r\n}\r\n.md-phonelink:before {\r\n content: \"\\f1c7\";\r\n}\r\n.md-phonelink-off:before {\r\n content: \"\\f1c8\";\r\n}\r\n.md-security:before {\r\n content: \"\\f1c9\";\r\n}\r\n.md-sim-card:before {\r\n content: \"\\f1ca\";\r\n}\r\n.md-smartphone:before {\r\n content: \"\\f1cb\";\r\n}\r\n.md-speaker:before {\r\n content: \"\\f1cc\";\r\n}\r\n.md-tablet:before {\r\n content: \"\\f1cd\";\r\n}\r\n.md-tablet-android:before {\r\n content: \"\\f1ce\";\r\n}\r\n.md-tablet-mac:before {\r\n content: \"\\f1cf\";\r\n}\r\n.md-tv:before {\r\n content: \"\\f1d0\";\r\n}\r\n.md-watch:before {\r\n content: \"\\f1d1\";\r\n}\r\n.md-add-to-photos:before {\r\n content: \"\\f1d2\";\r\n}\r\n.md-adjust:before {\r\n content: \"\\f1d3\";\r\n}\r\n.md-assistant-photo:before {\r\n content: \"\\f1d4\";\r\n}\r\n.md-audiotrack:before {\r\n content: \"\\f1d5\";\r\n}\r\n.md-blur-circular:before {\r\n content: \"\\f1d6\";\r\n}\r\n.md-blur-linear:before {\r\n content: \"\\f1d7\";\r\n}\r\n.md-blur-off:before {\r\n content: \"\\f1d8\";\r\n}\r\n.md-blur-on:before {\r\n content: \"\\f1d9\";\r\n}\r\n.md-brightness-1:before {\r\n content: \"\\f1da\";\r\n}\r\n.md-brightness-2:before {\r\n content: \"\\f1db\";\r\n}\r\n.md-brightness-3:before {\r\n content: \"\\f1dc\";\r\n}\r\n.md-brightness-4:before {\r\n content: \"\\f1dd\";\r\n}\r\n.md-brightness-5:before {\r\n content: \"\\f1de\";\r\n}\r\n.md-brightness-6:before {\r\n content: \"\\f1df\";\r\n}\r\n.md-brightness-7:before {\r\n content: \"\\f1e0\";\r\n}\r\n.md-brush:before {\r\n content: \"\\f1e1\";\r\n}\r\n.md-camera:before {\r\n content: \"\\f1e2\";\r\n}\r\n.md-camera-alt:before {\r\n content: \"\\f1e3\";\r\n}\r\n.md-camera-front:before {\r\n content: \"\\f1e4\";\r\n}\r\n.md-camera-rear:before {\r\n content: \"\\f1e5\";\r\n}\r\n.md-camera-roll:before {\r\n content: \"\\f1e6\";\r\n}\r\n.md-center-focus-strong:before {\r\n content: \"\\f1e7\";\r\n}\r\n.md-center-focus-weak:before {\r\n content: \"\\f1e8\";\r\n}\r\n.md-collections:before {\r\n content: \"\\f1e9\";\r\n}\r\n.md-colorize:before {\r\n content: \"\\f1ea\";\r\n}\r\n.md-color-lens:before {\r\n content: \"\\f1eb\";\r\n}\r\n.md-compare:before {\r\n content: \"\\f1ec\";\r\n}\r\n.md-control-point:before {\r\n content: \"\\f1ed\";\r\n}\r\n.md-control-point-duplicate:before {\r\n content: \"\\f1ee\";\r\n}\r\n.md-crop:before {\r\n content: \"\\f1ef\";\r\n}\r\n.md-crop-3-2:before {\r\n content: \"\\f1f0\";\r\n}\r\n.md-crop-5-4:before {\r\n content: \"\\f1f1\";\r\n}\r\n.md-crop-7-5:before {\r\n content: \"\\f1f2\";\r\n}\r\n.md-crop-16-9:before {\r\n content: \"\\f1f3\";\r\n}\r\n.md-crop-din:before {\r\n content: \"\\f1f4\";\r\n}\r\n.md-crop-free:before {\r\n content: \"\\f1f5\";\r\n}\r\n.md-crop-landscape:before {\r\n content: \"\\f1f6\";\r\n}\r\n.md-crop-original:before {\r\n content: \"\\f1f7\";\r\n}\r\n.md-crop-portrait:before {\r\n content: \"\\f1f8\";\r\n}\r\n.md-crop-square:before {\r\n content: \"\\f1f9\";\r\n}\r\n.md-dehaze:before {\r\n content: \"\\f1fa\";\r\n}\r\n.md-details:before {\r\n content: \"\\f1fb\";\r\n}\r\n.md-edit:before {\r\n content: \"\\f1fc\";\r\n}\r\n.md-exposure:before {\r\n content: \"\\f1fd\";\r\n}\r\n.md-exposure-minus-1:before {\r\n content: \"\\f1fe\";\r\n}\r\n.md-exposure-minus-2:before {\r\n content: \"\\f1ff\";\r\n}\r\n.md-exposure-zero:before {\r\n content: \"\\f200\";\r\n}\r\n.md-exposure-plus-1:before {\r\n content: \"\\f201\";\r\n}\r\n.md-exposure-plus-2:before {\r\n content: \"\\f202\";\r\n}\r\n.md-filter:before {\r\n content: \"\\f203\";\r\n}\r\n.md-filter-1:before {\r\n content: \"\\f204\";\r\n}\r\n.md-filter-2:before {\r\n content: \"\\f205\";\r\n}\r\n.md-filter-3:before {\r\n content: \"\\f206\";\r\n}\r\n.md-filter-4:before {\r\n content: \"\\f207\";\r\n}\r\n.md-filter-5:before {\r\n content: \"\\f208\";\r\n}\r\n.md-filter-6:before {\r\n content: \"\\f209\";\r\n}\r\n.md-filter-7:before {\r\n content: \"\\f20a\";\r\n}\r\n.md-filter-8:before {\r\n content: \"\\f20b\";\r\n}\r\n.md-filter-9:before {\r\n content: \"\\f20c\";\r\n}\r\n.md-filter-9-plus:before {\r\n content: \"\\f20d\";\r\n}\r\n.md-filter-b-and-w:before {\r\n content: \"\\f20e\";\r\n}\r\n.md-filter-center-focus:before {\r\n content: \"\\f20f\";\r\n}\r\n.md-filter-drama:before {\r\n content: \"\\f210\";\r\n}\r\n.md-filter-frames:before {\r\n content: \"\\f211\";\r\n}\r\n.md-filter-hdr:before {\r\n content: \"\\f212\";\r\n}\r\n.md-filter-none:before {\r\n content: \"\\f213\";\r\n}\r\n.md-filter-tilt-shift:before {\r\n content: \"\\f214\";\r\n}\r\n.md-filter-vintage:before {\r\n content: \"\\f215\";\r\n}\r\n.md-flare:before {\r\n content: \"\\f216\";\r\n}\r\n.md-flash-auto:before {\r\n content: \"\\f217\";\r\n}\r\n.md-flash-off:before {\r\n content: \"\\f218\";\r\n}\r\n.md-flash-on:before {\r\n content: \"\\f219\";\r\n}\r\n.md-flip:before {\r\n content: \"\\f21a\";\r\n}\r\n.md-gradient:before {\r\n content: \"\\f21b\";\r\n}\r\n.md-grain:before {\r\n content: \"\\f21c\";\r\n}\r\n.md-grid-off:before {\r\n content: \"\\f21d\";\r\n}\r\n.md-grid-on:before {\r\n content: \"\\f21e\";\r\n}\r\n.md-hdr-off:before {\r\n content: \"\\f21f\";\r\n}\r\n.md-hdr-on:before {\r\n content: \"\\f220\";\r\n}\r\n.md-hdr-strong:before {\r\n content: \"\\f221\";\r\n}\r\n.md-hdr-weak:before {\r\n content: \"\\f222\";\r\n}\r\n.md-healing:before {\r\n content: \"\\f223\";\r\n}\r\n.md-image:before {\r\n content: \"\\f224\";\r\n}\r\n.md-image-aspect-ratio:before {\r\n content: \"\\f225\";\r\n}\r\n.md-iso:before {\r\n content: \"\\f226\";\r\n}\r\n.md-landscape:before {\r\n content: \"\\f227\";\r\n}\r\n.md-leak-add:before {\r\n content: \"\\f228\";\r\n}\r\n.md-leak-remove:before {\r\n content: \"\\f229\";\r\n}\r\n.md-lens:before {\r\n content: \"\\f22a\";\r\n}\r\n.md-looks:before {\r\n content: \"\\f22b\";\r\n}\r\n.md-looks-1:before {\r\n content: \"\\f22c\";\r\n}\r\n.md-looks-2:before {\r\n content: \"\\f22d\";\r\n}\r\n.md-looks-3:before {\r\n content: \"\\f22e\";\r\n}\r\n.md-looks-4:before {\r\n content: \"\\f22f\";\r\n}\r\n.md-looks-5:before {\r\n content: \"\\f230\";\r\n}\r\n.md-looks-6:before {\r\n content: \"\\f231\";\r\n}\r\n.md-loupe:before {\r\n content: \"\\f232\";\r\n}\r\n.md-movie-creation:before {\r\n content: \"\\f233\";\r\n}\r\n.md-nature:before {\r\n content: \"\\f234\";\r\n}\r\n.md-nature-people:before {\r\n content: \"\\f235\";\r\n}\r\n.md-navigate-before:before {\r\n content: \"\\f236\";\r\n}\r\n.md-navigate-next:before {\r\n content: \"\\f237\";\r\n}\r\n.md-palette:before {\r\n content: \"\\f238\";\r\n}\r\n.md-panorama:before {\r\n content: \"\\f239\";\r\n}\r\n.md-panorama-fisheye:before {\r\n content: \"\\f23a\";\r\n}\r\n.md-panorama-horizontal:before {\r\n content: \"\\f23b\";\r\n}\r\n.md-panorama-vertical:before {\r\n content: \"\\f23c\";\r\n}\r\n.md-panorama-wide-angle:before {\r\n content: \"\\f23d\";\r\n}\r\n.md-photo:before {\r\n content: \"\\f23e\";\r\n}\r\n.md-photo-album:before {\r\n content: \"\\f23f\";\r\n}\r\n.md-photo-camera:before {\r\n content: \"\\f240\";\r\n}\r\n.md-photo-library:before {\r\n content: \"\\f241\";\r\n}\r\n.md-portrait:before {\r\n content: \"\\f242\";\r\n}\r\n.md-remove-red-eye:before {\r\n content: \"\\f243\";\r\n}\r\n.md-rotate-left:before {\r\n content: \"\\f244\";\r\n}\r\n.md-rotate-right:before {\r\n content: \"\\f245\";\r\n}\r\n.md-slideshow:before {\r\n content: \"\\f246\";\r\n}\r\n.md-straighten:before {\r\n content: \"\\f247\";\r\n}\r\n.md-style:before {\r\n content: \"\\f248\";\r\n}\r\n.md-switch-camera:before {\r\n content: \"\\f249\";\r\n}\r\n.md-switch-video:before {\r\n content: \"\\f24a\";\r\n}\r\n.md-tag-faces:before {\r\n content: \"\\f24b\";\r\n}\r\n.md-texture:before {\r\n content: \"\\f24c\";\r\n}\r\n.md-timelapse:before {\r\n content: \"\\f24d\";\r\n}\r\n.md-timer:before {\r\n content: \"\\f24e\";\r\n}\r\n.md-timer-3:before {\r\n content: \"\\f24f\";\r\n}\r\n.md-timer-10:before {\r\n content: \"\\f250\";\r\n}\r\n.md-timer-auto:before {\r\n content: \"\\f251\";\r\n}\r\n.md-timer-off:before {\r\n content: \"\\f252\";\r\n}\r\n.md-tonality:before {\r\n content: \"\\f253\";\r\n}\r\n.md-transform:before {\r\n content: \"\\f254\";\r\n}\r\n.md-tune:before {\r\n content: \"\\f255\";\r\n}\r\n.md-wb-auto:before {\r\n content: \"\\f256\";\r\n}\r\n.md-wb-cloudy:before {\r\n content: \"\\f257\";\r\n}\r\n.md-wb-incandescent:before {\r\n content: \"\\f258\";\r\n}\r\n.md-wb-irradescent:before {\r\n content: \"\\f259\";\r\n}\r\n.md-wb-sunny:before {\r\n content: \"\\f25a\";\r\n}\r\n.md-beenhere:before {\r\n content: \"\\f25b\";\r\n}\r\n.md-directions:before {\r\n content: \"\\f25c\";\r\n}\r\n.md-directions-bike:before {\r\n content: \"\\f25d\";\r\n}\r\n.md-directions-bus:before {\r\n content: \"\\f25e\";\r\n}\r\n.md-directions-car:before {\r\n content: \"\\f25f\";\r\n}\r\n.md-directions-ferry:before {\r\n content: \"\\f260\";\r\n}\r\n.md-directions-subway:before {\r\n content: \"\\f261\";\r\n}\r\n.md-directions-train:before {\r\n content: \"\\f262\";\r\n}\r\n.md-directions-transit:before {\r\n content: \"\\f263\";\r\n}\r\n.md-directions-walk:before {\r\n content: \"\\f264\";\r\n}\r\n.md-flight:before {\r\n content: \"\\f265\";\r\n}\r\n.md-hotel:before {\r\n content: \"\\f266\";\r\n}\r\n.md-layers:before {\r\n content: \"\\f267\";\r\n}\r\n.md-layers-clear:before {\r\n content: \"\\f268\";\r\n}\r\n.md-local-airport:before {\r\n content: \"\\f269\";\r\n}\r\n.md-local-atm:before {\r\n content: \"\\f26a\";\r\n}\r\n.md-local-attraction:before {\r\n content: \"\\f26b\";\r\n}\r\n.md-local-bar:before {\r\n content: \"\\f26c\";\r\n}\r\n.md-local-cafe:before {\r\n content: \"\\f26d\";\r\n}\r\n.md-local-car-wash:before {\r\n content: \"\\f26e\";\r\n}\r\n.md-local-convenience-store:before {\r\n content: \"\\f26f\";\r\n}\r\n.md-local-drink:before {\r\n content: \"\\f270\";\r\n}\r\n.md-local-florist:before {\r\n content: \"\\f271\";\r\n}\r\n.md-local-gas-station:before {\r\n content: \"\\f272\";\r\n}\r\n.md-local-grocery-store:before {\r\n content: \"\\f273\";\r\n}\r\n.md-local-hospital:before {\r\n content: \"\\f274\";\r\n}\r\n.md-local-hotel:before {\r\n content: \"\\f275\";\r\n}\r\n.md-local-laundry-service:before {\r\n content: \"\\f276\";\r\n}\r\n.md-local-library:before {\r\n content: \"\\f277\";\r\n}\r\n.md-local-mall:before {\r\n content: \"\\f278\";\r\n}\r\n.md-local-movies:before {\r\n content: \"\\f279\";\r\n}\r\n.md-local-offer:before {\r\n content: \"\\f27a\";\r\n}\r\n.md-local-parking:before {\r\n content: \"\\f27b\";\r\n}\r\n.md-local-pharmacy:before {\r\n content: \"\\f27c\";\r\n}\r\n.md-local-phone:before {\r\n content: \"\\f27d\";\r\n}\r\n.md-local-pizza:before {\r\n content: \"\\f27e\";\r\n}\r\n.md-local-play:before {\r\n content: \"\\f27f\";\r\n}\r\n.md-local-post-office:before {\r\n content: \"\\f280\";\r\n}\r\n.md-local-print-shop:before {\r\n content: \"\\f281\";\r\n}\r\n.md-local-restaurant:before {\r\n content: \"\\f282\";\r\n}\r\n.md-local-see:before {\r\n content: \"\\f283\";\r\n}\r\n.md-local-shipping:before {\r\n content: \"\\f284\";\r\n}\r\n.md-local-taxi:before {\r\n content: \"\\f285\";\r\n}\r\n.md-location-history:before {\r\n content: \"\\f286\";\r\n}\r\n.md-map:before {\r\n content: \"\\f287\";\r\n}\r\n.md-my-location:before {\r\n content: \"\\f288\";\r\n}\r\n.md-navigation:before {\r\n content: \"\\f289\";\r\n}\r\n.md-pin-drop:before {\r\n content: \"\\f28a\";\r\n}\r\n.md-place:before {\r\n content: \"\\f28b\";\r\n}\r\n.md-rate-review:before {\r\n content: \"\\f28c\";\r\n}\r\n.md-restaurant-menu:before {\r\n content: \"\\f28d\";\r\n}\r\n.md-satellite:before {\r\n content: \"\\f28e\";\r\n}\r\n.md-store-mall-directory:before {\r\n content: \"\\f28f\";\r\n}\r\n.md-terrain:before {\r\n content: \"\\f290\";\r\n}\r\n.md-traffic:before {\r\n content: \"\\f291\";\r\n}\r\n.md-apps:before {\r\n content: \"\\f292\";\r\n}\r\n.md-cancel:before {\r\n content: \"\\f293\";\r\n}\r\n.md-arrow-drop-down-circle:before {\r\n content: \"\\f294\";\r\n}\r\n.md-arrow-drop-down:before {\r\n content: \"\\f295\";\r\n}\r\n.md-arrow-drop-up:before {\r\n content: \"\\f296\";\r\n}\r\n.md-arrow-back:before {\r\n content: \"\\f297\";\r\n}\r\n.md-arrow-forward:before {\r\n content: \"\\f298\";\r\n}\r\n.md-check:before {\r\n content: \"\\f299\";\r\n}\r\n.md-close:before {\r\n content: \"\\f29a\";\r\n}\r\n.md-chevron-left:before {\r\n content: \"\\f29b\";\r\n}\r\n.md-chevron-right:before {\r\n content: \"\\f29c\";\r\n}\r\n.md-expand-less:before {\r\n content: \"\\f29d\";\r\n}\r\n.md-expand-more:before {\r\n content: \"\\f29e\";\r\n}\r\n.md-fullscreen:before {\r\n content: \"\\f29f\";\r\n}\r\n.md-fullscreen-exit:before {\r\n content: \"\\f2a0\";\r\n}\r\n.md-menu:before {\r\n content: \"\\f2a1\";\r\n}\r\n.md-more-horiz:before {\r\n content: \"\\f2a2\";\r\n}\r\n.md-more-vert:before {\r\n content: \"\\f2a3\";\r\n}\r\n.md-refresh:before {\r\n content: \"\\f2a4\";\r\n}\r\n.md-unfold-less:before {\r\n content: \"\\f2a5\";\r\n}\r\n.md-unfold-more:before {\r\n content: \"\\f2a6\";\r\n}\r\n.md-adb:before {\r\n content: \"\\f2a7\";\r\n}\r\n.md-bluetooth-audio:before {\r\n content: \"\\f2a8\";\r\n}\r\n.md-disc-full:before {\r\n content: \"\\f2a9\";\r\n}\r\n.md-dnd-forwardslash:before {\r\n content: \"\\f2aa\";\r\n}\r\n.md-do-not-disturb:before {\r\n content: \"\\f2ab\";\r\n}\r\n.md-drive-eta:before {\r\n content: \"\\f2ac\";\r\n}\r\n.md-event-available:before {\r\n content: \"\\f2ad\";\r\n}\r\n.md-event-busy:before {\r\n content: \"\\f2ae\";\r\n}\r\n.md-event-note:before {\r\n content: \"\\f2af\";\r\n}\r\n.md-folder-special:before {\r\n content: \"\\f2b0\";\r\n}\r\n.md-mms:before {\r\n content: \"\\f2b1\";\r\n}\r\n.md-more:before {\r\n content: \"\\f2b2\";\r\n}\r\n.md-network-locked:before {\r\n content: \"\\f2b3\";\r\n}\r\n.md-phone-bluetooth-speaker:before {\r\n content: \"\\f2b4\";\r\n}\r\n.md-phone-forwarded:before {\r\n content: \"\\f2b5\";\r\n}\r\n.md-phone-in-talk:before {\r\n content: \"\\f2b6\";\r\n}\r\n.md-phone-locked:before {\r\n content: \"\\f2b7\";\r\n}\r\n.md-phone-missed:before {\r\n content: \"\\f2b8\";\r\n}\r\n.md-phone-paused:before {\r\n content: \"\\f2b9\";\r\n}\r\n.md-play-download:before {\r\n content: \"\\f2ba\";\r\n}\r\n.md-play-install:before {\r\n content: \"\\f2bb\";\r\n}\r\n.md-sd-card:before {\r\n content: \"\\f2bc\";\r\n}\r\n.md-sim-card-alert:before {\r\n content: \"\\f2bd\";\r\n}\r\n.md-sms:before {\r\n content: \"\\f2be\";\r\n}\r\n.md-sms-failed:before {\r\n content: \"\\f2bf\";\r\n}\r\n.md-sync:before {\r\n content: \"\\f2c0\";\r\n}\r\n.md-sync-disabled:before {\r\n content: \"\\f2c1\";\r\n}\r\n.md-sync-problem:before {\r\n content: \"\\f2c2\";\r\n}\r\n.md-system-update:before {\r\n content: \"\\f2c3\";\r\n}\r\n.md-tap-and-play:before {\r\n content: \"\\f2c4\";\r\n}\r\n.md-time-to-leave:before {\r\n content: \"\\f2c5\";\r\n}\r\n.md-vibration:before {\r\n content: \"\\f2c6\";\r\n}\r\n.md-voice-chat:before {\r\n content: \"\\f2c7\";\r\n}\r\n.md-vpn-lock:before {\r\n content: \"\\f2c8\";\r\n}\r\n.md-cake:before {\r\n content: \"\\f2c9\";\r\n}\r\n.md-domain:before {\r\n content: \"\\f2ca\";\r\n}\r\n.md-location-city:before {\r\n content: \"\\f2cb\";\r\n}\r\n.md-mood:before {\r\n content: \"\\f2cc\";\r\n}\r\n.md-notifications-none:before {\r\n content: \"\\f2cd\";\r\n}\r\n.md-notifications:before {\r\n content: \"\\f2ce\";\r\n}\r\n.md-notifications-off:before {\r\n content: \"\\f2cf\";\r\n}\r\n.md-notifications-on:before {\r\n content: \"\\f2d0\";\r\n}\r\n.md-notifications-paused:before {\r\n content: \"\\f2d1\";\r\n}\r\n.md-pages:before {\r\n content: \"\\f2d2\";\r\n}\r\n.md-party-mode:before {\r\n content: \"\\f2d3\";\r\n}\r\n.md-group:before {\r\n content: \"\\f2d4\";\r\n}\r\n.md-group-add:before {\r\n content: \"\\f2d5\";\r\n}\r\n.md-people:before {\r\n content: \"\\f2d6\";\r\n}\r\n.md-people-outline:before {\r\n content: \"\\f2d7\";\r\n}\r\n.md-person:before {\r\n content: \"\\f2d8\";\r\n}\r\n.md-person-add:before {\r\n content: \"\\f2d9\";\r\n}\r\n.md-person-outline:before {\r\n content: \"\\f2da\";\r\n}\r\n.md-plus-one:before {\r\n content: \"\\f2db\";\r\n}\r\n.md-poll:before {\r\n content: \"\\f2dc\";\r\n}\r\n.md-public:before {\r\n content: \"\\f2dd\";\r\n}\r\n.md-school:before {\r\n content: \"\\f2de\";\r\n}\r\n.md-share:before {\r\n content: \"\\f2df\";\r\n}\r\n.md-whatshot:before {\r\n content: \"\\f2e0\";\r\n}\r\n.md-check-box:before {\r\n content: \"\\f2e1\";\r\n}\r\n.md-check-box-outline-blank:before {\r\n content: \"\\f2e2\";\r\n}\r\n.md-radio-button-off:before {\r\n content: \"\\f2e3\";\r\n}\r\n.md-radio-button-on:before {\r\n content: \"\\f2e4\";\r\n}\r\n.md-star:before {\r\n content: \"\\f2e5\";\r\n}\r\n.md-star-half:before {\r\n content: \"\\f2e6\";\r\n}\r\n.md-star-outline:before {\r\n content: \"\\f2e7\";\r\n}\r\n/*!\r\nIonicons, v1.5.0\r\nCreated by Ben Sperry for the Ionic Framework, http://ionicons.com/\r\nhttps://twitter.com/benjsperry https://twitter.com/ionicframework\r\nMIT License: https://github.com/driftyco/ionicons\r\n*/\r\n@font-face {\r\n font-family: \"Ionicons\";\r\n src: url(\"../fonts/ionicons.eot?v=1.5.0\");\r\n src: url(\"../fonts/ionicons.eot?v=1.5.0#iefix\") format(\"embedded-opentype\"), url(\"../fonts/ionicons.ttf?v=1.5.0\") format(\"truetype\"), url(\"../fonts/ionicons.woff?v=1.5.0\") format(\"woff\"), url(\"../fonts/ionicons.svg?v=1.5.0#Ionicons\") format(\"svg\");\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.ion,\r\n.ion-loading-a,\r\n.ion-loading-b,\r\n.ion-loading-c,\r\n.ion-loading-d,\r\n.ion-looping,\r\n.ion-refreshing,\r\n.ion-ios7-reloading,\r\n.ionicons,\r\n.ion-alert,\r\n.ion-alert-circled,\r\n.ion-android-add,\r\n.ion-android-add-contact,\r\n.ion-android-alarm,\r\n.ion-android-archive,\r\n.ion-android-arrow-back,\r\n.ion-android-arrow-down-left,\r\n.ion-android-arrow-down-right,\r\n.ion-android-arrow-forward,\r\n.ion-android-arrow-up-left,\r\n.ion-android-arrow-up-right,\r\n.ion-android-battery,\r\n.ion-android-book,\r\n.ion-android-calendar,\r\n.ion-android-call,\r\n.ion-android-camera,\r\n.ion-android-chat,\r\n.ion-android-checkmark,\r\n.ion-android-clock,\r\n.ion-android-close,\r\n.ion-android-contact,\r\n.ion-android-contacts,\r\n.ion-android-data,\r\n.ion-android-developer,\r\n.ion-android-display,\r\n.ion-android-download,\r\n.ion-android-drawer,\r\n.ion-android-dropdown,\r\n.ion-android-earth,\r\n.ion-android-folder,\r\n.ion-android-forums,\r\n.ion-android-friends,\r\n.ion-android-hand,\r\n.ion-android-image,\r\n.ion-android-inbox,\r\n.ion-android-information,\r\n.ion-android-keypad,\r\n.ion-android-lightbulb,\r\n.ion-android-locate,\r\n.ion-android-location,\r\n.ion-android-mail,\r\n.ion-android-microphone,\r\n.ion-android-mixer,\r\n.ion-android-more,\r\n.ion-android-note,\r\n.ion-android-playstore,\r\n.ion-android-printer,\r\n.ion-android-promotion,\r\n.ion-android-reminder,\r\n.ion-android-remove,\r\n.ion-android-search,\r\n.ion-android-send,\r\n.ion-android-settings,\r\n.ion-android-share,\r\n.ion-android-social,\r\n.ion-android-social-user,\r\n.ion-android-sort,\r\n.ion-android-stair-drawer,\r\n.ion-android-star,\r\n.ion-android-stopwatch,\r\n.ion-android-storage,\r\n.ion-android-system-back,\r\n.ion-android-system-home,\r\n.ion-android-system-windows,\r\n.ion-android-timer,\r\n.ion-android-trash,\r\n.ion-android-user-menu,\r\n.ion-android-volume,\r\n.ion-android-wifi,\r\n.ion-aperture,\r\n.ion-archive,\r\n.ion-arrow-down-a,\r\n.ion-arrow-down-b,\r\n.ion-arrow-down-c,\r\n.ion-arrow-expand,\r\n.ion-arrow-graph-down-left,\r\n.ion-arrow-graph-down-right,\r\n.ion-arrow-graph-up-left,\r\n.ion-arrow-graph-up-right,\r\n.ion-arrow-left-a,\r\n.ion-arrow-left-b,\r\n.ion-arrow-left-c,\r\n.ion-arrow-move,\r\n.ion-arrow-resize,\r\n.ion-arrow-return-left,\r\n.ion-arrow-return-right,\r\n.ion-arrow-right-a,\r\n.ion-arrow-right-b,\r\n.ion-arrow-right-c,\r\n.ion-arrow-shrink,\r\n.ion-arrow-swap,\r\n.ion-arrow-up-a,\r\n.ion-arrow-up-b,\r\n.ion-arrow-up-c,\r\n.ion-asterisk,\r\n.ion-at,\r\n.ion-bag,\r\n.ion-battery-charging,\r\n.ion-battery-empty,\r\n.ion-battery-full,\r\n.ion-battery-half,\r\n.ion-battery-low,\r\n.ion-beaker,\r\n.ion-beer,\r\n.ion-bluetooth,\r\n.ion-bonfire,\r\n.ion-bookmark,\r\n.ion-briefcase,\r\n.ion-bug,\r\n.ion-calculator,\r\n.ion-calendar,\r\n.ion-camera,\r\n.ion-card,\r\n.ion-cash,\r\n.ion-chatbox,\r\n.ion-chatbox-working,\r\n.ion-chatboxes,\r\n.ion-chatbubble,\r\n.ion-chatbubble-working,\r\n.ion-chatbubbles,\r\n.ion-checkmark,\r\n.ion-checkmark-circled,\r\n.ion-checkmark-round,\r\n.ion-chevron-down,\r\n.ion-chevron-left,\r\n.ion-chevron-right,\r\n.ion-chevron-up,\r\n.ion-clipboard,\r\n.ion-clock,\r\n.ion-close,\r\n.ion-close-circled,\r\n.ion-close-round,\r\n.ion-closed-captioning,\r\n.ion-cloud,\r\n.ion-code,\r\n.ion-code-download,\r\n.ion-code-working,\r\n.ion-coffee,\r\n.ion-compass,\r\n.ion-compose,\r\n.ion-connection-bars,\r\n.ion-contrast,\r\n.ion-cube,\r\n.ion-disc,\r\n.ion-document,\r\n.ion-document-text,\r\n.ion-drag,\r\n.ion-earth,\r\n.ion-edit,\r\n.ion-egg,\r\n.ion-eject,\r\n.ion-email,\r\n.ion-eye,\r\n.ion-eye-disabled,\r\n.ion-female,\r\n.ion-filing,\r\n.ion-film-marker,\r\n.ion-fireball,\r\n.ion-flag,\r\n.ion-flame,\r\n.ion-flash,\r\n.ion-flash-off,\r\n.ion-flask,\r\n.ion-folder,\r\n.ion-fork,\r\n.ion-fork-repo,\r\n.ion-forward,\r\n.ion-funnel,\r\n.ion-game-controller-a,\r\n.ion-game-controller-b,\r\n.ion-gear-a,\r\n.ion-gear-b,\r\n.ion-grid,\r\n.ion-hammer,\r\n.ion-happy,\r\n.ion-headphone,\r\n.ion-heart,\r\n.ion-heart-broken,\r\n.ion-help,\r\n.ion-help-buoy,\r\n.ion-help-circled,\r\n.ion-home,\r\n.ion-icecream,\r\n.ion-icon-social-google-plus,\r\n.ion-icon-social-google-plus-outline,\r\n.ion-image,\r\n.ion-images,\r\n.ion-information,\r\n.ion-information-circled,\r\n.ion-ionic,\r\n.ion-ios7-alarm,\r\n.ion-ios7-alarm-outline,\r\n.ion-ios7-albums,\r\n.ion-ios7-albums-outline,\r\n.ion-ios7-americanfootball,\r\n.ion-ios7-americanfootball-outline,\r\n.ion-ios7-analytics,\r\n.ion-ios7-analytics-outline,\r\n.ion-ios7-arrow-back,\r\n.ion-ios7-arrow-down,\r\n.ion-ios7-arrow-forward,\r\n.ion-ios7-arrow-left,\r\n.ion-ios7-arrow-right,\r\n.ion-ios7-arrow-thin-down,\r\n.ion-ios7-arrow-thin-left,\r\n.ion-ios7-arrow-thin-right,\r\n.ion-ios7-arrow-thin-up,\r\n.ion-ios7-arrow-up,\r\n.ion-ios7-at,\r\n.ion-ios7-at-outline,\r\n.ion-ios7-barcode,\r\n.ion-ios7-barcode-outline,\r\n.ion-ios7-baseball,\r\n.ion-ios7-baseball-outline,\r\n.ion-ios7-basketball,\r\n.ion-ios7-basketball-outline,\r\n.ion-ios7-bell,\r\n.ion-ios7-bell-outline,\r\n.ion-ios7-bolt,\r\n.ion-ios7-bolt-outline,\r\n.ion-ios7-bookmarks,\r\n.ion-ios7-bookmarks-outline,\r\n.ion-ios7-box,\r\n.ion-ios7-box-outline,\r\n.ion-ios7-briefcase,\r\n.ion-ios7-briefcase-outline,\r\n.ion-ios7-browsers,\r\n.ion-ios7-browsers-outline,\r\n.ion-ios7-calculator,\r\n.ion-ios7-calculator-outline,\r\n.ion-ios7-calendar,\r\n.ion-ios7-calendar-outline,\r\n.ion-ios7-camera,\r\n.ion-ios7-camera-outline,\r\n.ion-ios7-cart,\r\n.ion-ios7-cart-outline,\r\n.ion-ios7-chatboxes,\r\n.ion-ios7-chatboxes-outline,\r\n.ion-ios7-chatbubble,\r\n.ion-ios7-chatbubble-outline,\r\n.ion-ios7-checkmark,\r\n.ion-ios7-checkmark-empty,\r\n.ion-ios7-checkmark-outline,\r\n.ion-ios7-circle-filled,\r\n.ion-ios7-circle-outline,\r\n.ion-ios7-clock,\r\n.ion-ios7-clock-outline,\r\n.ion-ios7-close,\r\n.ion-ios7-close-empty,\r\n.ion-ios7-close-outline,\r\n.ion-ios7-cloud,\r\n.ion-ios7-cloud-download,\r\n.ion-ios7-cloud-download-outline,\r\n.ion-ios7-cloud-outline,\r\n.ion-ios7-cloud-upload,\r\n.ion-ios7-cloud-upload-outline,\r\n.ion-ios7-cloudy,\r\n.ion-ios7-cloudy-night,\r\n.ion-ios7-cloudy-night-outline,\r\n.ion-ios7-cloudy-outline,\r\n.ion-ios7-cog,\r\n.ion-ios7-cog-outline,\r\n.ion-ios7-compose,\r\n.ion-ios7-compose-outline,\r\n.ion-ios7-contact,\r\n.ion-ios7-contact-outline,\r\n.ion-ios7-copy,\r\n.ion-ios7-copy-outline,\r\n.ion-ios7-download,\r\n.ion-ios7-download-outline,\r\n.ion-ios7-drag,\r\n.ion-ios7-email,\r\n.ion-ios7-email-outline,\r\n.ion-ios7-expand,\r\n.ion-ios7-eye,\r\n.ion-ios7-eye-outline,\r\n.ion-ios7-fastforward,\r\n.ion-ios7-fastforward-outline,\r\n.ion-ios7-filing,\r\n.ion-ios7-filing-outline,\r\n.ion-ios7-film,\r\n.ion-ios7-film-outline,\r\n.ion-ios7-flag,\r\n.ion-ios7-flag-outline,\r\n.ion-ios7-folder,\r\n.ion-ios7-folder-outline,\r\n.ion-ios7-football,\r\n.ion-ios7-football-outline,\r\n.ion-ios7-gear,\r\n.ion-ios7-gear-outline,\r\n.ion-ios7-glasses,\r\n.ion-ios7-glasses-outline,\r\n.ion-ios7-heart,\r\n.ion-ios7-heart-outline,\r\n.ion-ios7-help,\r\n.ion-ios7-help-empty,\r\n.ion-ios7-help-outline,\r\n.ion-ios7-home,\r\n.ion-ios7-home-outline,\r\n.ion-ios7-infinite,\r\n.ion-ios7-infinite-outline,\r\n.ion-ios7-information,\r\n.ion-ios7-information-empty,\r\n.ion-ios7-information-outline,\r\n.ion-ios7-ionic-outline,\r\n.ion-ios7-keypad,\r\n.ion-ios7-keypad-outline,\r\n.ion-ios7-lightbulb,\r\n.ion-ios7-lightbulb-outline,\r\n.ion-ios7-location,\r\n.ion-ios7-location-outline,\r\n.ion-ios7-locked,\r\n.ion-ios7-locked-outline,\r\n.ion-ios7-loop,\r\n.ion-ios7-loop-strong,\r\n.ion-ios7-medkit,\r\n.ion-ios7-medkit-outline,\r\n.ion-ios7-mic,\r\n.ion-ios7-mic-off,\r\n.ion-ios7-mic-outline,\r\n.ion-ios7-minus,\r\n.ion-ios7-minus-empty,\r\n.ion-ios7-minus-outline,\r\n.ion-ios7-monitor,\r\n.ion-ios7-monitor-outline,\r\n.ion-ios7-moon,\r\n.ion-ios7-moon-outline,\r\n.ion-ios7-more,\r\n.ion-ios7-more-outline,\r\n.ion-ios7-musical-note,\r\n.ion-ios7-musical-notes,\r\n.ion-ios7-navigate,\r\n.ion-ios7-navigate-outline,\r\n.ion-ios7-paper,\r\n.ion-ios7-paper-outline,\r\n.ion-ios7-paperplane,\r\n.ion-ios7-paperplane-outline,\r\n.ion-ios7-partlysunny,\r\n.ion-ios7-partlysunny-outline,\r\n.ion-ios7-pause,\r\n.ion-ios7-pause-outline,\r\n.ion-ios7-paw,\r\n.ion-ios7-paw-outline,\r\n.ion-ios7-people,\r\n.ion-ios7-people-outline,\r\n.ion-ios7-person,\r\n.ion-ios7-person-outline,\r\n.ion-ios7-personadd,\r\n.ion-ios7-personadd-outline,\r\n.ion-ios7-photos,\r\n.ion-ios7-photos-outline,\r\n.ion-ios7-pie,\r\n.ion-ios7-pie-outline,\r\n.ion-ios7-play,\r\n.ion-ios7-play-outline,\r\n.ion-ios7-plus,\r\n.ion-ios7-plus-empty,\r\n.ion-ios7-plus-outline,\r\n.ion-ios7-pricetag,\r\n.ion-ios7-pricetag-outline,\r\n.ion-ios7-pricetags,\r\n.ion-ios7-pricetags-outline,\r\n.ion-ios7-printer,\r\n.ion-ios7-printer-outline,\r\n.ion-ios7-pulse,\r\n.ion-ios7-pulse-strong,\r\n.ion-ios7-rainy,\r\n.ion-ios7-rainy-outline,\r\n.ion-ios7-recording,\r\n.ion-ios7-recording-outline,\r\n.ion-ios7-redo,\r\n.ion-ios7-redo-outline,\r\n.ion-ios7-refresh,\r\n.ion-ios7-refresh-empty,\r\n.ion-ios7-refresh-outline,\r\n.ion-ios7-reload,\r\n.ion-ios7-reverse-camera,\r\n.ion-ios7-reverse-camera-outline,\r\n.ion-ios7-rewind,\r\n.ion-ios7-rewind-outline,\r\n.ion-ios7-search,\r\n.ion-ios7-search-strong,\r\n.ion-ios7-settings,\r\n.ion-ios7-settings-strong,\r\n.ion-ios7-shrink,\r\n.ion-ios7-skipbackward,\r\n.ion-ios7-skipbackward-outline,\r\n.ion-ios7-skipforward,\r\n.ion-ios7-skipforward-outline,\r\n.ion-ios7-snowy,\r\n.ion-ios7-speedometer,\r\n.ion-ios7-speedometer-outline,\r\n.ion-ios7-star,\r\n.ion-ios7-star-half,\r\n.ion-ios7-star-outline,\r\n.ion-ios7-stopwatch,\r\n.ion-ios7-stopwatch-outline,\r\n.ion-ios7-sunny,\r\n.ion-ios7-sunny-outline,\r\n.ion-ios7-telephone,\r\n.ion-ios7-telephone-outline,\r\n.ion-ios7-tennisball,\r\n.ion-ios7-tennisball-outline,\r\n.ion-ios7-thunderstorm,\r\n.ion-ios7-thunderstorm-outline,\r\n.ion-ios7-time,\r\n.ion-ios7-time-outline,\r\n.ion-ios7-timer,\r\n.ion-ios7-timer-outline,\r\n.ion-ios7-toggle,\r\n.ion-ios7-toggle-outline,\r\n.ion-ios7-trash,\r\n.ion-ios7-trash-outline,\r\n.ion-ios7-undo,\r\n.ion-ios7-undo-outline,\r\n.ion-ios7-unlocked,\r\n.ion-ios7-unlocked-outline,\r\n.ion-ios7-upload,\r\n.ion-ios7-upload-outline,\r\n.ion-ios7-videocam,\r\n.ion-ios7-videocam-outline,\r\n.ion-ios7-volume-high,\r\n.ion-ios7-volume-low,\r\n.ion-ios7-wineglass,\r\n.ion-ios7-wineglass-outline,\r\n.ion-ios7-world,\r\n.ion-ios7-world-outline,\r\n.ion-ipad,\r\n.ion-iphone,\r\n.ion-ipod,\r\n.ion-jet,\r\n.ion-key,\r\n.ion-knife,\r\n.ion-laptop,\r\n.ion-leaf,\r\n.ion-levels,\r\n.ion-lightbulb,\r\n.ion-link,\r\n.ion-load-a,\r\n.ion-load-b,\r\n.ion-load-c,\r\n.ion-load-d,\r\n.ion-location,\r\n.ion-locked,\r\n.ion-log-in,\r\n.ion-log-out,\r\n.ion-loop,\r\n.ion-magnet,\r\n.ion-male,\r\n.ion-man,\r\n.ion-map,\r\n.ion-medkit,\r\n.ion-merge,\r\n.ion-mic-a,\r\n.ion-mic-b,\r\n.ion-mic-c,\r\n.ion-minus,\r\n.ion-minus-circled,\r\n.ion-minus-round,\r\n.ion-model-s,\r\n.ion-monitor,\r\n.ion-more,\r\n.ion-mouse,\r\n.ion-music-note,\r\n.ion-navicon,\r\n.ion-navicon-round,\r\n.ion-navigate,\r\n.ion-network,\r\n.ion-no-smoking,\r\n.ion-nuclear,\r\n.ion-outlet,\r\n.ion-paper-airplane,\r\n.ion-paperclip,\r\n.ion-pause,\r\n.ion-person,\r\n.ion-person-add,\r\n.ion-person-stalker,\r\n.ion-pie-graph,\r\n.ion-pin,\r\n.ion-pinpoint,\r\n.ion-pizza,\r\n.ion-plane,\r\n.ion-planet,\r\n.ion-play,\r\n.ion-playstation,\r\n.ion-plus,\r\n.ion-plus-circled,\r\n.ion-plus-round,\r\n.ion-podium,\r\n.ion-pound,\r\n.ion-power,\r\n.ion-pricetag,\r\n.ion-pricetags,\r\n.ion-printer,\r\n.ion-pull-request,\r\n.ion-qr-scanner,\r\n.ion-quote,\r\n.ion-radio-waves,\r\n.ion-record,\r\n.ion-refresh,\r\n.ion-reply,\r\n.ion-reply-all,\r\n.ion-ribbon-a,\r\n.ion-ribbon-b,\r\n.ion-sad,\r\n.ion-scissors,\r\n.ion-search,\r\n.ion-settings,\r\n.ion-share,\r\n.ion-shuffle,\r\n.ion-skip-backward,\r\n.ion-skip-forward,\r\n.ion-social-android,\r\n.ion-social-android-outline,\r\n.ion-social-apple,\r\n.ion-social-apple-outline,\r\n.ion-social-bitcoin,\r\n.ion-social-bitcoin-outline,\r\n.ion-social-buffer,\r\n.ion-social-buffer-outline,\r\n.ion-social-designernews,\r\n.ion-social-designernews-outline,\r\n.ion-social-dribbble,\r\n.ion-social-dribbble-outline,\r\n.ion-social-dropbox,\r\n.ion-social-dropbox-outline,\r\n.ion-social-facebook,\r\n.ion-social-facebook-outline,\r\n.ion-social-foursquare,\r\n.ion-social-foursquare-outline,\r\n.ion-social-freebsd-devil,\r\n.ion-social-github,\r\n.ion-social-github-outline,\r\n.ion-social-google,\r\n.ion-social-google-outline,\r\n.ion-social-googleplus,\r\n.ion-social-googleplus-outline,\r\n.ion-social-hackernews,\r\n.ion-social-hackernews-outline,\r\n.ion-social-instagram,\r\n.ion-social-instagram-outline,\r\n.ion-social-linkedin,\r\n.ion-social-linkedin-outline,\r\n.ion-social-pinterest,\r\n.ion-social-pinterest-outline,\r\n.ion-social-reddit,\r\n.ion-social-reddit-outline,\r\n.ion-social-rss,\r\n.ion-social-rss-outline,\r\n.ion-social-skype,\r\n.ion-social-skype-outline,\r\n.ion-social-tumblr,\r\n.ion-social-tumblr-outline,\r\n.ion-social-tux,\r\n.ion-social-twitter,\r\n.ion-social-twitter-outline,\r\n.ion-social-usd,\r\n.ion-social-usd-outline,\r\n.ion-social-vimeo,\r\n.ion-social-vimeo-outline,\r\n.ion-social-windows,\r\n.ion-social-windows-outline,\r\n.ion-social-wordpress,\r\n.ion-social-wordpress-outline,\r\n.ion-social-yahoo,\r\n.ion-social-yahoo-outline,\r\n.ion-social-youtube,\r\n.ion-social-youtube-outline,\r\n.ion-speakerphone,\r\n.ion-speedometer,\r\n.ion-spoon,\r\n.ion-star,\r\n.ion-stats-bars,\r\n.ion-steam,\r\n.ion-stop,\r\n.ion-thermometer,\r\n.ion-thumbsdown,\r\n.ion-thumbsup,\r\n.ion-toggle,\r\n.ion-toggle-filled,\r\n.ion-trash-a,\r\n.ion-trash-b,\r\n.ion-trophy,\r\n.ion-umbrella,\r\n.ion-university,\r\n.ion-unlocked,\r\n.ion-upload,\r\n.ion-usb,\r\n.ion-videocamera,\r\n.ion-volume-high,\r\n.ion-volume-low,\r\n.ion-volume-medium,\r\n.ion-volume-mute,\r\n.ion-wand,\r\n.ion-waterdrop,\r\n.ion-wifi,\r\n.ion-wineglass,\r\n.ion-woman,\r\n.ion-wrench,\r\n.ion-xbox {\r\n display: inline-block;\r\n font-family: \"Ionicons\";\r\n speak: none;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n text-rendering: auto;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.ion-spin,\r\n.ion-loading-a,\r\n.ion-loading-b,\r\n.ion-loading-c,\r\n.ion-loading-d,\r\n.ion-looping,\r\n.ion-refreshing,\r\n.ion-ios7-reloading {\r\n -webkit-animation: spin 1s infinite linear;\r\n -moz-animation: spin 1s infinite linear;\r\n -o-animation: spin 1s infinite linear;\r\n animation: spin 1s infinite linear;\r\n}\r\n@-moz-keyframes spin {\r\n 0% {\r\n -moz-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -moz-transform: rotate(359deg);\r\n }\r\n}\r\n@-webkit-keyframes spin {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -webkit-transform: rotate(359deg);\r\n }\r\n}\r\n@-o-keyframes spin {\r\n 0% {\r\n -o-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -o-transform: rotate(359deg);\r\n }\r\n}\r\n@-ms-keyframes spin {\r\n 0% {\r\n -ms-transform: rotate(0deg);\r\n }\r\n 100% {\r\n -ms-transform: rotate(359deg);\r\n }\r\n}\r\n@keyframes spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(359deg);\r\n }\r\n}\r\n.ion-loading-a {\r\n -webkit-animation-timing-function: steps(8, start);\r\n -moz-animation-timing-function: steps(8, start);\r\n animation-timing-function: steps(8, start);\r\n}\r\n.ion-alert:before {\r\n content: \"\\f101\";\r\n}\r\n.ion-alert-circled:before {\r\n content: \"\\f100\";\r\n}\r\n.ion-android-add:before {\r\n content: \"\\f2c7\";\r\n}\r\n.ion-android-add-contact:before {\r\n content: \"\\f2c6\";\r\n}\r\n.ion-android-alarm:before {\r\n content: \"\\f2c8\";\r\n}\r\n.ion-android-archive:before {\r\n content: \"\\f2c9\";\r\n}\r\n.ion-android-arrow-back:before {\r\n content: \"\\f2ca\";\r\n}\r\n.ion-android-arrow-down-left:before {\r\n content: \"\\f2cb\";\r\n}\r\n.ion-android-arrow-down-right:before {\r\n content: \"\\f2cc\";\r\n}\r\n.ion-android-arrow-forward:before {\r\n content: \"\\f30f\";\r\n}\r\n.ion-android-arrow-up-left:before {\r\n content: \"\\f2cd\";\r\n}\r\n.ion-android-arrow-up-right:before {\r\n content: \"\\f2ce\";\r\n}\r\n.ion-android-battery:before {\r\n content: \"\\f2cf\";\r\n}\r\n.ion-android-book:before {\r\n content: \"\\f2d0\";\r\n}\r\n.ion-android-calendar:before {\r\n content: \"\\f2d1\";\r\n}\r\n.ion-android-call:before {\r\n content: \"\\f2d2\";\r\n}\r\n.ion-android-camera:before {\r\n content: \"\\f2d3\";\r\n}\r\n.ion-android-chat:before {\r\n content: \"\\f2d4\";\r\n}\r\n.ion-android-checkmark:before {\r\n content: \"\\f2d5\";\r\n}\r\n.ion-android-clock:before {\r\n content: \"\\f2d6\";\r\n}\r\n.ion-android-close:before {\r\n content: \"\\f2d7\";\r\n}\r\n.ion-android-contact:before {\r\n content: \"\\f2d8\";\r\n}\r\n.ion-android-contacts:before {\r\n content: \"\\f2d9\";\r\n}\r\n.ion-android-data:before {\r\n content: \"\\f2da\";\r\n}\r\n.ion-android-developer:before {\r\n content: \"\\f2db\";\r\n}\r\n.ion-android-display:before {\r\n content: \"\\f2dc\";\r\n}\r\n.ion-android-download:before {\r\n content: \"\\f2dd\";\r\n}\r\n.ion-android-drawer:before {\r\n content: \"\\f310\";\r\n}\r\n.ion-android-dropdown:before {\r\n content: \"\\f2de\";\r\n}\r\n.ion-android-earth:before {\r\n content: \"\\f2df\";\r\n}\r\n.ion-android-folder:before {\r\n content: \"\\f2e0\";\r\n}\r\n.ion-android-forums:before {\r\n content: \"\\f2e1\";\r\n}\r\n.ion-android-friends:before {\r\n content: \"\\f2e2\";\r\n}\r\n.ion-android-hand:before {\r\n content: \"\\f2e3\";\r\n}\r\n.ion-android-image:before {\r\n content: \"\\f2e4\";\r\n}\r\n.ion-android-inbox:before {\r\n content: \"\\f2e5\";\r\n}\r\n.ion-android-information:before {\r\n content: \"\\f2e6\";\r\n}\r\n.ion-android-keypad:before {\r\n content: \"\\f2e7\";\r\n}\r\n.ion-android-lightbulb:before {\r\n content: \"\\f2e8\";\r\n}\r\n.ion-android-locate:before {\r\n content: \"\\f2e9\";\r\n}\r\n.ion-android-location:before {\r\n content: \"\\f2ea\";\r\n}\r\n.ion-android-mail:before {\r\n content: \"\\f2eb\";\r\n}\r\n.ion-android-microphone:before {\r\n content: \"\\f2ec\";\r\n}\r\n.ion-android-mixer:before {\r\n content: \"\\f2ed\";\r\n}\r\n.ion-android-more:before {\r\n content: \"\\f2ee\";\r\n}\r\n.ion-android-note:before {\r\n content: \"\\f2ef\";\r\n}\r\n.ion-android-playstore:before {\r\n content: \"\\f2f0\";\r\n}\r\n.ion-android-printer:before {\r\n content: \"\\f2f1\";\r\n}\r\n.ion-android-promotion:before {\r\n content: \"\\f2f2\";\r\n}\r\n.ion-android-reminder:before {\r\n content: \"\\f2f3\";\r\n}\r\n.ion-android-remove:before {\r\n content: \"\\f2f4\";\r\n}\r\n.ion-android-search:before {\r\n content: \"\\f2f5\";\r\n}\r\n.ion-android-send:before {\r\n content: \"\\f2f6\";\r\n}\r\n.ion-android-settings:before {\r\n content: \"\\f2f7\";\r\n}\r\n.ion-android-share:before {\r\n content: \"\\f2f8\";\r\n}\r\n.ion-android-social:before {\r\n content: \"\\f2fa\";\r\n}\r\n.ion-android-social-user:before {\r\n content: \"\\f2f9\";\r\n}\r\n.ion-android-sort:before {\r\n content: \"\\f2fb\";\r\n}\r\n.ion-android-stair-drawer:before {\r\n content: \"\\f311\";\r\n}\r\n.ion-android-star:before {\r\n content: \"\\f2fc\";\r\n}\r\n.ion-android-stopwatch:before {\r\n content: \"\\f2fd\";\r\n}\r\n.ion-android-storage:before {\r\n content: \"\\f2fe\";\r\n}\r\n.ion-android-system-back:before {\r\n content: \"\\f2ff\";\r\n}\r\n.ion-android-system-home:before {\r\n content: \"\\f300\";\r\n}\r\n.ion-android-system-windows:before {\r\n content: \"\\f301\";\r\n}\r\n.ion-android-timer:before {\r\n content: \"\\f302\";\r\n}\r\n.ion-android-trash:before {\r\n content: \"\\f303\";\r\n}\r\n.ion-android-user-menu:before {\r\n content: \"\\f312\";\r\n}\r\n.ion-android-volume:before {\r\n content: \"\\f304\";\r\n}\r\n.ion-android-wifi:before {\r\n content: \"\\f305\";\r\n}\r\n.ion-aperture:before {\r\n content: \"\\f313\";\r\n}\r\n.ion-archive:before {\r\n content: \"\\f102\";\r\n}\r\n.ion-arrow-down-a:before {\r\n content: \"\\f103\";\r\n}\r\n.ion-arrow-down-b:before {\r\n content: \"\\f104\";\r\n}\r\n.ion-arrow-down-c:before {\r\n content: \"\\f105\";\r\n}\r\n.ion-arrow-expand:before {\r\n content: \"\\f25e\";\r\n}\r\n.ion-arrow-graph-down-left:before {\r\n content: \"\\f25f\";\r\n}\r\n.ion-arrow-graph-down-right:before {\r\n content: \"\\f260\";\r\n}\r\n.ion-arrow-graph-up-left:before {\r\n content: \"\\f261\";\r\n}\r\n.ion-arrow-graph-up-right:before {\r\n content: \"\\f262\";\r\n}\r\n.ion-arrow-left-a:before {\r\n content: \"\\f106\";\r\n}\r\n.ion-arrow-left-b:before {\r\n content: \"\\f107\";\r\n}\r\n.ion-arrow-left-c:before {\r\n content: \"\\f108\";\r\n}\r\n.ion-arrow-move:before {\r\n content: \"\\f263\";\r\n}\r\n.ion-arrow-resize:before {\r\n content: \"\\f264\";\r\n}\r\n.ion-arrow-return-left:before {\r\n content: \"\\f265\";\r\n}\r\n.ion-arrow-return-right:before {\r\n content: \"\\f266\";\r\n}\r\n.ion-arrow-right-a:before {\r\n content: \"\\f109\";\r\n}\r\n.ion-arrow-right-b:before {\r\n content: \"\\f10a\";\r\n}\r\n.ion-arrow-right-c:before {\r\n content: \"\\f10b\";\r\n}\r\n.ion-arrow-shrink:before {\r\n content: \"\\f267\";\r\n}\r\n.ion-arrow-swap:before {\r\n content: \"\\f268\";\r\n}\r\n.ion-arrow-up-a:before {\r\n content: \"\\f10c\";\r\n}\r\n.ion-arrow-up-b:before {\r\n content: \"\\f10d\";\r\n}\r\n.ion-arrow-up-c:before {\r\n content: \"\\f10e\";\r\n}\r\n.ion-asterisk:before {\r\n content: \"\\f314\";\r\n}\r\n.ion-at:before {\r\n content: \"\\f10f\";\r\n}\r\n.ion-bag:before {\r\n content: \"\\f110\";\r\n}\r\n.ion-battery-charging:before {\r\n content: \"\\f111\";\r\n}\r\n.ion-battery-empty:before {\r\n content: \"\\f112\";\r\n}\r\n.ion-battery-full:before {\r\n content: \"\\f113\";\r\n}\r\n.ion-battery-half:before {\r\n content: \"\\f114\";\r\n}\r\n.ion-battery-low:before {\r\n content: \"\\f115\";\r\n}\r\n.ion-beaker:before {\r\n content: \"\\f269\";\r\n}\r\n.ion-beer:before {\r\n content: \"\\f26a\";\r\n}\r\n.ion-bluetooth:before {\r\n content: \"\\f116\";\r\n}\r\n.ion-bonfire:before {\r\n content: \"\\f315\";\r\n}\r\n.ion-bookmark:before {\r\n content: \"\\f26b\";\r\n}\r\n.ion-briefcase:before {\r\n content: \"\\f26c\";\r\n}\r\n.ion-bug:before {\r\n content: \"\\f2be\";\r\n}\r\n.ion-calculator:before {\r\n content: \"\\f26d\";\r\n}\r\n.ion-calendar:before {\r\n content: \"\\f117\";\r\n}\r\n.ion-camera:before {\r\n content: \"\\f118\";\r\n}\r\n.ion-card:before {\r\n content: \"\\f119\";\r\n}\r\n.ion-cash:before {\r\n content: \"\\f316\";\r\n}\r\n.ion-chatbox:before {\r\n content: \"\\f11b\";\r\n}\r\n.ion-chatbox-working:before {\r\n content: \"\\f11a\";\r\n}\r\n.ion-chatboxes:before {\r\n content: \"\\f11c\";\r\n}\r\n.ion-chatbubble:before {\r\n content: \"\\f11e\";\r\n}\r\n.ion-chatbubble-working:before {\r\n content: \"\\f11d\";\r\n}\r\n.ion-chatbubbles:before {\r\n content: \"\\f11f\";\r\n}\r\n.ion-checkmark:before {\r\n content: \"\\f122\";\r\n}\r\n.ion-checkmark-circled:before {\r\n content: \"\\f120\";\r\n}\r\n.ion-checkmark-round:before {\r\n content: \"\\f121\";\r\n}\r\n.ion-chevron-down:before {\r\n content: \"\\f123\";\r\n}\r\n.ion-chevron-left:before {\r\n content: \"\\f124\";\r\n}\r\n.ion-chevron-right:before {\r\n content: \"\\f125\";\r\n}\r\n.ion-chevron-up:before {\r\n content: \"\\f126\";\r\n}\r\n.ion-clipboard:before {\r\n content: \"\\f127\";\r\n}\r\n.ion-clock:before {\r\n content: \"\\f26e\";\r\n}\r\n.ion-close:before {\r\n content: \"\\f12a\";\r\n}\r\n.ion-close-circled:before {\r\n content: \"\\f128\";\r\n}\r\n.ion-close-round:before {\r\n content: \"\\f129\";\r\n}\r\n.ion-closed-captioning:before {\r\n content: \"\\f317\";\r\n}\r\n.ion-cloud:before {\r\n content: \"\\f12b\";\r\n}\r\n.ion-code:before {\r\n content: \"\\f271\";\r\n}\r\n.ion-code-download:before {\r\n content: \"\\f26f\";\r\n}\r\n.ion-code-working:before {\r\n content: \"\\f270\";\r\n}\r\n.ion-coffee:before {\r\n content: \"\\f272\";\r\n}\r\n.ion-compass:before {\r\n content: \"\\f273\";\r\n}\r\n.ion-compose:before {\r\n content: \"\\f12c\";\r\n}\r\n.ion-connection-bars:before {\r\n content: \"\\f274\";\r\n}\r\n.ion-contrast:before {\r\n content: \"\\f275\";\r\n}\r\n.ion-cube:before {\r\n content: \"\\f318\";\r\n}\r\n.ion-disc:before {\r\n content: \"\\f12d\";\r\n}\r\n.ion-document:before {\r\n content: \"\\f12f\";\r\n}\r\n.ion-document-text:before {\r\n content: \"\\f12e\";\r\n}\r\n.ion-drag:before {\r\n content: \"\\f130\";\r\n}\r\n.ion-earth:before {\r\n content: \"\\f276\";\r\n}\r\n.ion-edit:before {\r\n content: \"\\f2bf\";\r\n}\r\n.ion-egg:before {\r\n content: \"\\f277\";\r\n}\r\n.ion-eject:before {\r\n content: \"\\f131\";\r\n}\r\n.ion-email:before {\r\n content: \"\\f132\";\r\n}\r\n.ion-eye:before {\r\n content: \"\\f133\";\r\n}\r\n.ion-eye-disabled:before {\r\n content: \"\\f306\";\r\n}\r\n.ion-female:before {\r\n content: \"\\f278\";\r\n}\r\n.ion-filing:before {\r\n content: \"\\f134\";\r\n}\r\n.ion-film-marker:before {\r\n content: \"\\f135\";\r\n}\r\n.ion-fireball:before {\r\n content: \"\\f319\";\r\n}\r\n.ion-flag:before {\r\n content: \"\\f279\";\r\n}\r\n.ion-flame:before {\r\n content: \"\\f31a\";\r\n}\r\n.ion-flash:before {\r\n content: \"\\f137\";\r\n}\r\n.ion-flash-off:before {\r\n content: \"\\f136\";\r\n}\r\n.ion-flask:before {\r\n content: \"\\f138\";\r\n}\r\n.ion-folder:before {\r\n content: \"\\f139\";\r\n}\r\n.ion-fork:before {\r\n content: \"\\f27a\";\r\n}\r\n.ion-fork-repo:before {\r\n content: \"\\f2c0\";\r\n}\r\n.ion-forward:before {\r\n content: \"\\f13a\";\r\n}\r\n.ion-funnel:before {\r\n content: \"\\f31b\";\r\n}\r\n.ion-game-controller-a:before {\r\n content: \"\\f13b\";\r\n}\r\n.ion-game-controller-b:before {\r\n content: \"\\f13c\";\r\n}\r\n.ion-gear-a:before {\r\n content: \"\\f13d\";\r\n}\r\n.ion-gear-b:before {\r\n content: \"\\f13e\";\r\n}\r\n.ion-grid:before {\r\n content: \"\\f13f\";\r\n}\r\n.ion-hammer:before {\r\n content: \"\\f27b\";\r\n}\r\n.ion-happy:before {\r\n content: \"\\f31c\";\r\n}\r\n.ion-headphone:before {\r\n content: \"\\f140\";\r\n}\r\n.ion-heart:before {\r\n content: \"\\f141\";\r\n}\r\n.ion-heart-broken:before {\r\n content: \"\\f31d\";\r\n}\r\n.ion-help:before {\r\n content: \"\\f143\";\r\n}\r\n.ion-help-buoy:before {\r\n content: \"\\f27c\";\r\n}\r\n.ion-help-circled:before {\r\n content: \"\\f142\";\r\n}\r\n.ion-home:before {\r\n content: \"\\f144\";\r\n}\r\n.ion-icecream:before {\r\n content: \"\\f27d\";\r\n}\r\n.ion-icon-social-google-plus:before {\r\n content: \"\\f146\";\r\n}\r\n.ion-icon-social-google-plus-outline:before {\r\n content: \"\\f145\";\r\n}\r\n.ion-image:before {\r\n content: \"\\f147\";\r\n}\r\n.ion-images:before {\r\n content: \"\\f148\";\r\n}\r\n.ion-information:before {\r\n content: \"\\f14a\";\r\n}\r\n.ion-information-circled:before {\r\n content: \"\\f149\";\r\n}\r\n.ion-ionic:before {\r\n content: \"\\f14b\";\r\n}\r\n.ion-ios7-alarm:before {\r\n content: \"\\f14d\";\r\n}\r\n.ion-ios7-alarm-outline:before {\r\n content: \"\\f14c\";\r\n}\r\n.ion-ios7-albums:before {\r\n content: \"\\f14f\";\r\n}\r\n.ion-ios7-albums-outline:before {\r\n content: \"\\f14e\";\r\n}\r\n.ion-ios7-americanfootball:before {\r\n content: \"\\f31f\";\r\n}\r\n.ion-ios7-americanfootball-outline:before {\r\n content: \"\\f31e\";\r\n}\r\n.ion-ios7-analytics:before {\r\n content: \"\\f321\";\r\n}\r\n.ion-ios7-analytics-outline:before {\r\n content: \"\\f320\";\r\n}\r\n.ion-ios7-arrow-back:before {\r\n content: \"\\f150\";\r\n}\r\n.ion-ios7-arrow-down:before {\r\n content: \"\\f151\";\r\n}\r\n.ion-ios7-arrow-forward:before {\r\n content: \"\\f152\";\r\n}\r\n.ion-ios7-arrow-left:before {\r\n content: \"\\f153\";\r\n}\r\n.ion-ios7-arrow-right:before {\r\n content: \"\\f154\";\r\n}\r\n.ion-ios7-arrow-thin-down:before {\r\n content: \"\\f27e\";\r\n}\r\n.ion-ios7-arrow-thin-left:before {\r\n content: \"\\f27f\";\r\n}\r\n.ion-ios7-arrow-thin-right:before {\r\n content: \"\\f280\";\r\n}\r\n.ion-ios7-arrow-thin-up:before {\r\n content: \"\\f281\";\r\n}\r\n.ion-ios7-arrow-up:before {\r\n content: \"\\f155\";\r\n}\r\n.ion-ios7-at:before {\r\n content: \"\\f157\";\r\n}\r\n.ion-ios7-at-outline:before {\r\n content: \"\\f156\";\r\n}\r\n.ion-ios7-barcode:before {\r\n content: \"\\f323\";\r\n}\r\n.ion-ios7-barcode-outline:before {\r\n content: \"\\f322\";\r\n}\r\n.ion-ios7-baseball:before {\r\n content: \"\\f325\";\r\n}\r\n.ion-ios7-baseball-outline:before {\r\n content: \"\\f324\";\r\n}\r\n.ion-ios7-basketball:before {\r\n content: \"\\f327\";\r\n}\r\n.ion-ios7-basketball-outline:before {\r\n content: \"\\f326\";\r\n}\r\n.ion-ios7-bell:before {\r\n content: \"\\f159\";\r\n}\r\n.ion-ios7-bell-outline:before {\r\n content: \"\\f158\";\r\n}\r\n.ion-ios7-bolt:before {\r\n content: \"\\f15b\";\r\n}\r\n.ion-ios7-bolt-outline:before {\r\n content: \"\\f15a\";\r\n}\r\n.ion-ios7-bookmarks:before {\r\n content: \"\\f15d\";\r\n}\r\n.ion-ios7-bookmarks-outline:before {\r\n content: \"\\f15c\";\r\n}\r\n.ion-ios7-box:before {\r\n content: \"\\f15f\";\r\n}\r\n.ion-ios7-box-outline:before {\r\n content: \"\\f15e\";\r\n}\r\n.ion-ios7-briefcase:before {\r\n content: \"\\f283\";\r\n}\r\n.ion-ios7-briefcase-outline:before {\r\n content: \"\\f282\";\r\n}\r\n.ion-ios7-browsers:before {\r\n content: \"\\f161\";\r\n}\r\n.ion-ios7-browsers-outline:before {\r\n content: \"\\f160\";\r\n}\r\n.ion-ios7-calculator:before {\r\n content: \"\\f285\";\r\n}\r\n.ion-ios7-calculator-outline:before {\r\n content: \"\\f284\";\r\n}\r\n.ion-ios7-calendar:before {\r\n content: \"\\f163\";\r\n}\r\n.ion-ios7-calendar-outline:before {\r\n content: \"\\f162\";\r\n}\r\n.ion-ios7-camera:before {\r\n content: \"\\f165\";\r\n}\r\n.ion-ios7-camera-outline:before {\r\n content: \"\\f164\";\r\n}\r\n.ion-ios7-cart:before {\r\n content: \"\\f167\";\r\n}\r\n.ion-ios7-cart-outline:before {\r\n content: \"\\f166\";\r\n}\r\n.ion-ios7-chatboxes:before {\r\n content: \"\\f169\";\r\n}\r\n.ion-ios7-chatboxes-outline:before {\r\n content: \"\\f168\";\r\n}\r\n.ion-ios7-chatbubble:before {\r\n content: \"\\f16b\";\r\n}\r\n.ion-ios7-chatbubble-outline:before {\r\n content: \"\\f16a\";\r\n}\r\n.ion-ios7-checkmark:before {\r\n content: \"\\f16e\";\r\n}\r\n.ion-ios7-checkmark-empty:before {\r\n content: \"\\f16c\";\r\n}\r\n.ion-ios7-checkmark-outline:before {\r\n content: \"\\f16d\";\r\n}\r\n.ion-ios7-circle-filled:before {\r\n content: \"\\f16f\";\r\n}\r\n.ion-ios7-circle-outline:before {\r\n content: \"\\f170\";\r\n}\r\n.ion-ios7-clock:before {\r\n content: \"\\f172\";\r\n}\r\n.ion-ios7-clock-outline:before {\r\n content: \"\\f171\";\r\n}\r\n.ion-ios7-close:before {\r\n content: \"\\f2bc\";\r\n}\r\n.ion-ios7-close-empty:before {\r\n content: \"\\f2bd\";\r\n}\r\n.ion-ios7-close-outline:before {\r\n content: \"\\f2bb\";\r\n}\r\n.ion-ios7-cloud:before {\r\n content: \"\\f178\";\r\n}\r\n.ion-ios7-cloud-download:before {\r\n content: \"\\f174\";\r\n}\r\n.ion-ios7-cloud-download-outline:before {\r\n content: \"\\f173\";\r\n}\r\n.ion-ios7-cloud-outline:before {\r\n content: \"\\f175\";\r\n}\r\n.ion-ios7-cloud-upload:before {\r\n content: \"\\f177\";\r\n}\r\n.ion-ios7-cloud-upload-outline:before {\r\n content: \"\\f176\";\r\n}\r\n.ion-ios7-cloudy:before {\r\n content: \"\\f17a\";\r\n}\r\n.ion-ios7-cloudy-night:before {\r\n content: \"\\f308\";\r\n}\r\n.ion-ios7-cloudy-night-outline:before {\r\n content: \"\\f307\";\r\n}\r\n.ion-ios7-cloudy-outline:before {\r\n content: \"\\f179\";\r\n}\r\n.ion-ios7-cog:before {\r\n content: \"\\f17c\";\r\n}\r\n.ion-ios7-cog-outline:before {\r\n content: \"\\f17b\";\r\n}\r\n.ion-ios7-compose:before {\r\n content: \"\\f17e\";\r\n}\r\n.ion-ios7-compose-outline:before {\r\n content: \"\\f17d\";\r\n}\r\n.ion-ios7-contact:before {\r\n content: \"\\f180\";\r\n}\r\n.ion-ios7-contact-outline:before {\r\n content: \"\\f17f\";\r\n}\r\n.ion-ios7-copy:before {\r\n content: \"\\f182\";\r\n}\r\n.ion-ios7-copy-outline:before {\r\n content: \"\\f181\";\r\n}\r\n.ion-ios7-download:before {\r\n content: \"\\f184\";\r\n}\r\n.ion-ios7-download-outline:before {\r\n content: \"\\f183\";\r\n}\r\n.ion-ios7-drag:before {\r\n content: \"\\f185\";\r\n}\r\n.ion-ios7-email:before {\r\n content: \"\\f187\";\r\n}\r\n.ion-ios7-email-outline:before {\r\n content: \"\\f186\";\r\n}\r\n.ion-ios7-expand:before {\r\n content: \"\\f30d\";\r\n}\r\n.ion-ios7-eye:before {\r\n content: \"\\f189\";\r\n}\r\n.ion-ios7-eye-outline:before {\r\n content: \"\\f188\";\r\n}\r\n.ion-ios7-fastforward:before {\r\n content: \"\\f18b\";\r\n}\r\n.ion-ios7-fastforward-outline:before {\r\n content: \"\\f18a\";\r\n}\r\n.ion-ios7-filing:before {\r\n content: \"\\f18d\";\r\n}\r\n.ion-ios7-filing-outline:before {\r\n content: \"\\f18c\";\r\n}\r\n.ion-ios7-film:before {\r\n content: \"\\f18f\";\r\n}\r\n.ion-ios7-film-outline:before {\r\n content: \"\\f18e\";\r\n}\r\n.ion-ios7-flag:before {\r\n content: \"\\f191\";\r\n}\r\n.ion-ios7-flag-outline:before {\r\n content: \"\\f190\";\r\n}\r\n.ion-ios7-folder:before {\r\n content: \"\\f193\";\r\n}\r\n.ion-ios7-folder-outline:before {\r\n content: \"\\f192\";\r\n}\r\n.ion-ios7-football:before {\r\n content: \"\\f329\";\r\n}\r\n.ion-ios7-football-outline:before {\r\n content: \"\\f328\";\r\n}\r\n.ion-ios7-gear:before {\r\n content: \"\\f195\";\r\n}\r\n.ion-ios7-gear-outline:before {\r\n content: \"\\f194\";\r\n}\r\n.ion-ios7-glasses:before {\r\n content: \"\\f197\";\r\n}\r\n.ion-ios7-glasses-outline:before {\r\n content: \"\\f196\";\r\n}\r\n.ion-ios7-heart:before {\r\n content: \"\\f199\";\r\n}\r\n.ion-ios7-heart-outline:before {\r\n content: \"\\f198\";\r\n}\r\n.ion-ios7-help:before {\r\n content: \"\\f19c\";\r\n}\r\n.ion-ios7-help-empty:before {\r\n content: \"\\f19a\";\r\n}\r\n.ion-ios7-help-outline:before {\r\n content: \"\\f19b\";\r\n}\r\n.ion-ios7-home:before {\r\n content: \"\\f32b\";\r\n}\r\n.ion-ios7-home-outline:before {\r\n content: \"\\f32a\";\r\n}\r\n.ion-ios7-infinite:before {\r\n content: \"\\f19e\";\r\n}\r\n.ion-ios7-infinite-outline:before {\r\n content: \"\\f19d\";\r\n}\r\n.ion-ios7-information:before {\r\n content: \"\\f1a1\";\r\n}\r\n.ion-ios7-information-empty:before {\r\n content: \"\\f19f\";\r\n}\r\n.ion-ios7-information-outline:before {\r\n content: \"\\f1a0\";\r\n}\r\n.ion-ios7-ionic-outline:before {\r\n content: \"\\f1a2\";\r\n}\r\n.ion-ios7-keypad:before {\r\n content: \"\\f1a4\";\r\n}\r\n.ion-ios7-keypad-outline:before {\r\n content: \"\\f1a3\";\r\n}\r\n.ion-ios7-lightbulb:before {\r\n content: \"\\f287\";\r\n}\r\n.ion-ios7-lightbulb-outline:before {\r\n content: \"\\f286\";\r\n}\r\n.ion-ios7-location:before {\r\n content: \"\\f1a6\";\r\n}\r\n.ion-ios7-location-outline:before {\r\n content: \"\\f1a5\";\r\n}\r\n.ion-ios7-locked:before {\r\n content: \"\\f1a8\";\r\n}\r\n.ion-ios7-locked-outline:before {\r\n content: \"\\f1a7\";\r\n}\r\n.ion-ios7-loop:before {\r\n content: \"\\f32d\";\r\n}\r\n.ion-ios7-loop-strong:before {\r\n content: \"\\f32c\";\r\n}\r\n.ion-ios7-medkit:before {\r\n content: \"\\f289\";\r\n}\r\n.ion-ios7-medkit-outline:before {\r\n content: \"\\f288\";\r\n}\r\n.ion-ios7-mic:before {\r\n content: \"\\f1ab\";\r\n}\r\n.ion-ios7-mic-off:before {\r\n content: \"\\f1a9\";\r\n}\r\n.ion-ios7-mic-outline:before {\r\n content: \"\\f1aa\";\r\n}\r\n.ion-ios7-minus:before {\r\n content: \"\\f1ae\";\r\n}\r\n.ion-ios7-minus-empty:before {\r\n content: \"\\f1ac\";\r\n}\r\n.ion-ios7-minus-outline:before {\r\n content: \"\\f1ad\";\r\n}\r\n.ion-ios7-monitor:before {\r\n content: \"\\f1b0\";\r\n}\r\n.ion-ios7-monitor-outline:before {\r\n content: \"\\f1af\";\r\n}\r\n.ion-ios7-moon:before {\r\n content: \"\\f1b2\";\r\n}\r\n.ion-ios7-moon-outline:before {\r\n content: \"\\f1b1\";\r\n}\r\n.ion-ios7-more:before {\r\n content: \"\\f1b4\";\r\n}\r\n.ion-ios7-more-outline:before {\r\n content: \"\\f1b3\";\r\n}\r\n.ion-ios7-musical-note:before {\r\n content: \"\\f1b5\";\r\n}\r\n.ion-ios7-musical-notes:before {\r\n content: \"\\f1b6\";\r\n}\r\n.ion-ios7-navigate:before {\r\n content: \"\\f1b8\";\r\n}\r\n.ion-ios7-navigate-outline:before {\r\n content: \"\\f1b7\";\r\n}\r\n.ion-ios7-paper:before {\r\n content: \"\\f32f\";\r\n}\r\n.ion-ios7-paper-outline:before {\r\n content: \"\\f32e\";\r\n}\r\n.ion-ios7-paperplane:before {\r\n content: \"\\f1ba\";\r\n}\r\n.ion-ios7-paperplane-outline:before {\r\n content: \"\\f1b9\";\r\n}\r\n.ion-ios7-partlysunny:before {\r\n content: \"\\f1bc\";\r\n}\r\n.ion-ios7-partlysunny-outline:before {\r\n content: \"\\f1bb\";\r\n}\r\n.ion-ios7-pause:before {\r\n content: \"\\f1be\";\r\n}\r\n.ion-ios7-pause-outline:before {\r\n content: \"\\f1bd\";\r\n}\r\n.ion-ios7-paw:before {\r\n content: \"\\f331\";\r\n}\r\n.ion-ios7-paw-outline:before {\r\n content: \"\\f330\";\r\n}\r\n.ion-ios7-people:before {\r\n content: \"\\f1c0\";\r\n}\r\n.ion-ios7-people-outline:before {\r\n content: \"\\f1bf\";\r\n}\r\n.ion-ios7-person:before {\r\n content: \"\\f1c2\";\r\n}\r\n.ion-ios7-person-outline:before {\r\n content: \"\\f1c1\";\r\n}\r\n.ion-ios7-personadd:before {\r\n content: \"\\f1c4\";\r\n}\r\n.ion-ios7-personadd-outline:before {\r\n content: \"\\f1c3\";\r\n}\r\n.ion-ios7-photos:before {\r\n content: \"\\f1c6\";\r\n}\r\n.ion-ios7-photos-outline:before {\r\n content: \"\\f1c5\";\r\n}\r\n.ion-ios7-pie:before {\r\n content: \"\\f28b\";\r\n}\r\n.ion-ios7-pie-outline:before {\r\n content: \"\\f28a\";\r\n}\r\n.ion-ios7-play:before {\r\n content: \"\\f1c8\";\r\n}\r\n.ion-ios7-play-outline:before {\r\n content: \"\\f1c7\";\r\n}\r\n.ion-ios7-plus:before {\r\n content: \"\\f1cb\";\r\n}\r\n.ion-ios7-plus-empty:before {\r\n content: \"\\f1c9\";\r\n}\r\n.ion-ios7-plus-outline:before {\r\n content: \"\\f1ca\";\r\n}\r\n.ion-ios7-pricetag:before {\r\n content: \"\\f28d\";\r\n}\r\n.ion-ios7-pricetag-outline:before {\r\n content: \"\\f28c\";\r\n}\r\n.ion-ios7-pricetags:before {\r\n content: \"\\f333\";\r\n}\r\n.ion-ios7-pricetags-outline:before {\r\n content: \"\\f332\";\r\n}\r\n.ion-ios7-printer:before {\r\n content: \"\\f1cd\";\r\n}\r\n.ion-ios7-printer-outline:before {\r\n content: \"\\f1cc\";\r\n}\r\n.ion-ios7-pulse:before {\r\n content: \"\\f335\";\r\n}\r\n.ion-ios7-pulse-strong:before {\r\n content: \"\\f334\";\r\n}\r\n.ion-ios7-rainy:before {\r\n content: \"\\f1cf\";\r\n}\r\n.ion-ios7-rainy-outline:before {\r\n content: \"\\f1ce\";\r\n}\r\n.ion-ios7-recording:before {\r\n content: \"\\f1d1\";\r\n}\r\n.ion-ios7-recording-outline:before {\r\n content: \"\\f1d0\";\r\n}\r\n.ion-ios7-redo:before {\r\n content: \"\\f1d3\";\r\n}\r\n.ion-ios7-redo-outline:before {\r\n content: \"\\f1d2\";\r\n}\r\n.ion-ios7-refresh:before {\r\n content: \"\\f1d6\";\r\n}\r\n.ion-ios7-refresh-empty:before {\r\n content: \"\\f1d4\";\r\n}\r\n.ion-ios7-refresh-outline:before {\r\n content: \"\\f1d5\";\r\n}\r\n.ion-ios7-reload:before {\r\n content: \"\\f28e\";\r\n}\r\n.ion-ios7-reverse-camera:before {\r\n content: \"\\f337\";\r\n}\r\n.ion-ios7-reverse-camera-outline:before {\r\n content: \"\\f336\";\r\n}\r\n.ion-ios7-rewind:before {\r\n content: \"\\f1d8\";\r\n}\r\n.ion-ios7-rewind-outline:before {\r\n content: \"\\f1d7\";\r\n}\r\n.ion-ios7-search:before {\r\n content: \"\\f1da\";\r\n}\r\n.ion-ios7-search-strong:before {\r\n content: \"\\f1d9\";\r\n}\r\n.ion-ios7-settings:before {\r\n content: \"\\f339\";\r\n}\r\n.ion-ios7-settings-strong:before {\r\n content: \"\\f338\";\r\n}\r\n.ion-ios7-shrink:before {\r\n content: \"\\f30e\";\r\n}\r\n.ion-ios7-skipbackward:before {\r\n content: \"\\f1dc\";\r\n}\r\n.ion-ios7-skipbackward-outline:before {\r\n content: \"\\f1db\";\r\n}\r\n.ion-ios7-skipforward:before {\r\n content: \"\\f1de\";\r\n}\r\n.ion-ios7-skipforward-outline:before {\r\n content: \"\\f1dd\";\r\n}\r\n.ion-ios7-snowy:before {\r\n content: \"\\f309\";\r\n}\r\n.ion-ios7-speedometer:before {\r\n content: \"\\f290\";\r\n}\r\n.ion-ios7-speedometer-outline:before {\r\n content: \"\\f28f\";\r\n}\r\n.ion-ios7-star:before {\r\n content: \"\\f1e0\";\r\n}\r\n.ion-ios7-star-half:before {\r\n content: \"\\f33a\";\r\n}\r\n.ion-ios7-star-outline:before {\r\n content: \"\\f1df\";\r\n}\r\n.ion-ios7-stopwatch:before {\r\n content: \"\\f1e2\";\r\n}\r\n.ion-ios7-stopwatch-outline:before {\r\n content: \"\\f1e1\";\r\n}\r\n.ion-ios7-sunny:before {\r\n content: \"\\f1e4\";\r\n}\r\n.ion-ios7-sunny-outline:before {\r\n content: \"\\f1e3\";\r\n}\r\n.ion-ios7-telephone:before {\r\n content: \"\\f1e6\";\r\n}\r\n.ion-ios7-telephone-outline:before {\r\n content: \"\\f1e5\";\r\n}\r\n.ion-ios7-tennisball:before {\r\n content: \"\\f33c\";\r\n}\r\n.ion-ios7-tennisball-outline:before {\r\n content: \"\\f33b\";\r\n}\r\n.ion-ios7-thunderstorm:before {\r\n content: \"\\f1e8\";\r\n}\r\n.ion-ios7-thunderstorm-outline:before {\r\n content: \"\\f1e7\";\r\n}\r\n.ion-ios7-time:before {\r\n content: \"\\f292\";\r\n}\r\n.ion-ios7-time-outline:before {\r\n content: \"\\f291\";\r\n}\r\n.ion-ios7-timer:before {\r\n content: \"\\f1ea\";\r\n}\r\n.ion-ios7-timer-outline:before {\r\n content: \"\\f1e9\";\r\n}\r\n.ion-ios7-toggle:before {\r\n content: \"\\f33e\";\r\n}\r\n.ion-ios7-toggle-outline:before {\r\n content: \"\\f33d\";\r\n}\r\n.ion-ios7-trash:before {\r\n content: \"\\f1ec\";\r\n}\r\n.ion-ios7-trash-outline:before {\r\n content: \"\\f1eb\";\r\n}\r\n.ion-ios7-undo:before {\r\n content: \"\\f1ee\";\r\n}\r\n.ion-ios7-undo-outline:before {\r\n content: \"\\f1ed\";\r\n}\r\n.ion-ios7-unlocked:before {\r\n content: \"\\f1f0\";\r\n}\r\n.ion-ios7-unlocked-outline:before {\r\n content: \"\\f1ef\";\r\n}\r\n.ion-ios7-upload:before {\r\n content: \"\\f1f2\";\r\n}\r\n.ion-ios7-upload-outline:before {\r\n content: \"\\f1f1\";\r\n}\r\n.ion-ios7-videocam:before {\r\n content: \"\\f1f4\";\r\n}\r\n.ion-ios7-videocam-outline:before {\r\n content: \"\\f1f3\";\r\n}\r\n.ion-ios7-volume-high:before {\r\n content: \"\\f1f5\";\r\n}\r\n.ion-ios7-volume-low:before {\r\n content: \"\\f1f6\";\r\n}\r\n.ion-ios7-wineglass:before {\r\n content: \"\\f294\";\r\n}\r\n.ion-ios7-wineglass-outline:before {\r\n content: \"\\f293\";\r\n}\r\n.ion-ios7-world:before {\r\n content: \"\\f1f8\";\r\n}\r\n.ion-ios7-world-outline:before {\r\n content: \"\\f1f7\";\r\n}\r\n.ion-ipad:before {\r\n content: \"\\f1f9\";\r\n}\r\n.ion-iphone:before {\r\n content: \"\\f1fa\";\r\n}\r\n.ion-ipod:before {\r\n content: \"\\f1fb\";\r\n}\r\n.ion-jet:before {\r\n content: \"\\f295\";\r\n}\r\n.ion-key:before {\r\n content: \"\\f296\";\r\n}\r\n.ion-knife:before {\r\n content: \"\\f297\";\r\n}\r\n.ion-laptop:before {\r\n content: \"\\f1fc\";\r\n}\r\n.ion-leaf:before {\r\n content: \"\\f1fd\";\r\n}\r\n.ion-levels:before {\r\n content: \"\\f298\";\r\n}\r\n.ion-lightbulb:before {\r\n content: \"\\f299\";\r\n}\r\n.ion-link:before {\r\n content: \"\\f1fe\";\r\n}\r\n.ion-load-a:before {\r\n content: \"\\f29a\";\r\n}\r\n.ion-load-b:before {\r\n content: \"\\f29b\";\r\n}\r\n.ion-load-c:before {\r\n content: \"\\f29c\";\r\n}\r\n.ion-load-d:before {\r\n content: \"\\f29d\";\r\n}\r\n.ion-location:before {\r\n content: \"\\f1ff\";\r\n}\r\n.ion-locked:before {\r\n content: \"\\f200\";\r\n}\r\n.ion-log-in:before {\r\n content: \"\\f29e\";\r\n}\r\n.ion-log-out:before {\r\n content: \"\\f29f\";\r\n}\r\n.ion-loop:before {\r\n content: \"\\f201\";\r\n}\r\n.ion-magnet:before {\r\n content: \"\\f2a0\";\r\n}\r\n.ion-male:before {\r\n content: \"\\f2a1\";\r\n}\r\n.ion-man:before {\r\n content: \"\\f202\";\r\n}\r\n.ion-map:before {\r\n content: \"\\f203\";\r\n}\r\n.ion-medkit:before {\r\n content: \"\\f2a2\";\r\n}\r\n.ion-merge:before {\r\n content: \"\\f33f\";\r\n}\r\n.ion-mic-a:before {\r\n content: \"\\f204\";\r\n}\r\n.ion-mic-b:before {\r\n content: \"\\f205\";\r\n}\r\n.ion-mic-c:before {\r\n content: \"\\f206\";\r\n}\r\n.ion-minus:before {\r\n content: \"\\f209\";\r\n}\r\n.ion-minus-circled:before {\r\n content: \"\\f207\";\r\n}\r\n.ion-minus-round:before {\r\n content: \"\\f208\";\r\n}\r\n.ion-model-s:before {\r\n content: \"\\f2c1\";\r\n}\r\n.ion-monitor:before {\r\n content: \"\\f20a\";\r\n}\r\n.ion-more:before {\r\n content: \"\\f20b\";\r\n}\r\n.ion-mouse:before {\r\n content: \"\\f340\";\r\n}\r\n.ion-music-note:before {\r\n content: \"\\f20c\";\r\n}\r\n.ion-navicon:before {\r\n content: \"\\f20e\";\r\n}\r\n.ion-navicon-round:before {\r\n content: \"\\f20d\";\r\n}\r\n.ion-navigate:before {\r\n content: \"\\f2a3\";\r\n}\r\n.ion-network:before {\r\n content: \"\\f341\";\r\n}\r\n.ion-no-smoking:before {\r\n content: \"\\f2c2\";\r\n}\r\n.ion-nuclear:before {\r\n content: \"\\f2a4\";\r\n}\r\n.ion-outlet:before {\r\n content: \"\\f342\";\r\n}\r\n.ion-paper-airplane:before {\r\n content: \"\\f2c3\";\r\n}\r\n.ion-paperclip:before {\r\n content: \"\\f20f\";\r\n}\r\n.ion-pause:before {\r\n content: \"\\f210\";\r\n}\r\n.ion-person:before {\r\n content: \"\\f213\";\r\n}\r\n.ion-person-add:before {\r\n content: \"\\f211\";\r\n}\r\n.ion-person-stalker:before {\r\n content: \"\\f212\";\r\n}\r\n.ion-pie-graph:before {\r\n content: \"\\f2a5\";\r\n}\r\n.ion-pin:before {\r\n content: \"\\f2a6\";\r\n}\r\n.ion-pinpoint:before {\r\n content: \"\\f2a7\";\r\n}\r\n.ion-pizza:before {\r\n content: \"\\f2a8\";\r\n}\r\n.ion-plane:before {\r\n content: \"\\f214\";\r\n}\r\n.ion-planet:before {\r\n content: \"\\f343\";\r\n}\r\n.ion-play:before {\r\n content: \"\\f215\";\r\n}\r\n.ion-playstation:before {\r\n content: \"\\f30a\";\r\n}\r\n.ion-plus:before {\r\n content: \"\\f218\";\r\n}\r\n.ion-plus-circled:before {\r\n content: \"\\f216\";\r\n}\r\n.ion-plus-round:before {\r\n content: \"\\f217\";\r\n}\r\n.ion-podium:before {\r\n content: \"\\f344\";\r\n}\r\n.ion-pound:before {\r\n content: \"\\f219\";\r\n}\r\n.ion-power:before {\r\n content: \"\\f2a9\";\r\n}\r\n.ion-pricetag:before {\r\n content: \"\\f2aa\";\r\n}\r\n.ion-pricetags:before {\r\n content: \"\\f2ab\";\r\n}\r\n.ion-printer:before {\r\n content: \"\\f21a\";\r\n}\r\n.ion-pull-request:before {\r\n content: \"\\f345\";\r\n}\r\n.ion-qr-scanner:before {\r\n content: \"\\f346\";\r\n}\r\n.ion-quote:before {\r\n content: \"\\f347\";\r\n}\r\n.ion-radio-waves:before {\r\n content: \"\\f2ac\";\r\n}\r\n.ion-record:before {\r\n content: \"\\f21b\";\r\n}\r\n.ion-refresh:before {\r\n content: \"\\f21c\";\r\n}\r\n.ion-reply:before {\r\n content: \"\\f21e\";\r\n}\r\n.ion-reply-all:before {\r\n content: \"\\f21d\";\r\n}\r\n.ion-ribbon-a:before {\r\n content: \"\\f348\";\r\n}\r\n.ion-ribbon-b:before {\r\n content: \"\\f349\";\r\n}\r\n.ion-sad:before {\r\n content: \"\\f34a\";\r\n}\r\n.ion-scissors:before {\r\n content: \"\\f34b\";\r\n}\r\n.ion-search:before {\r\n content: \"\\f21f\";\r\n}\r\n.ion-settings:before {\r\n content: \"\\f2ad\";\r\n}\r\n.ion-share:before {\r\n content: \"\\f220\";\r\n}\r\n.ion-shuffle:before {\r\n content: \"\\f221\";\r\n}\r\n.ion-skip-backward:before {\r\n content: \"\\f222\";\r\n}\r\n.ion-skip-forward:before {\r\n content: \"\\f223\";\r\n}\r\n.ion-social-android:before {\r\n content: \"\\f225\";\r\n}\r\n.ion-social-android-outline:before {\r\n content: \"\\f224\";\r\n}\r\n.ion-social-apple:before {\r\n content: \"\\f227\";\r\n}\r\n.ion-social-apple-outline:before {\r\n content: \"\\f226\";\r\n}\r\n.ion-social-bitcoin:before {\r\n content: \"\\f2af\";\r\n}\r\n.ion-social-bitcoin-outline:before {\r\n content: \"\\f2ae\";\r\n}\r\n.ion-social-buffer:before {\r\n content: \"\\f229\";\r\n}\r\n.ion-social-buffer-outline:before {\r\n content: \"\\f228\";\r\n}\r\n.ion-social-designernews:before {\r\n content: \"\\f22b\";\r\n}\r\n.ion-social-designernews-outline:before {\r\n content: \"\\f22a\";\r\n}\r\n.ion-social-dribbble:before {\r\n content: \"\\f22d\";\r\n}\r\n.ion-social-dribbble-outline:before {\r\n content: \"\\f22c\";\r\n}\r\n.ion-social-dropbox:before {\r\n content: \"\\f22f\";\r\n}\r\n.ion-social-dropbox-outline:before {\r\n content: \"\\f22e\";\r\n}\r\n.ion-social-facebook:before {\r\n content: \"\\f231\";\r\n}\r\n.ion-social-facebook-outline:before {\r\n content: \"\\f230\";\r\n}\r\n.ion-social-foursquare:before {\r\n content: \"\\f34d\";\r\n}\r\n.ion-social-foursquare-outline:before {\r\n content: \"\\f34c\";\r\n}\r\n.ion-social-freebsd-devil:before {\r\n content: \"\\f2c4\";\r\n}\r\n.ion-social-github:before {\r\n content: \"\\f233\";\r\n}\r\n.ion-social-github-outline:before {\r\n content: \"\\f232\";\r\n}\r\n.ion-social-google:before {\r\n content: \"\\f34f\";\r\n}\r\n.ion-social-google-outline:before {\r\n content: \"\\f34e\";\r\n}\r\n.ion-social-googleplus:before {\r\n content: \"\\f235\";\r\n}\r\n.ion-social-googleplus-outline:before {\r\n content: \"\\f234\";\r\n}\r\n.ion-social-hackernews:before {\r\n content: \"\\f237\";\r\n}\r\n.ion-social-hackernews-outline:before {\r\n content: \"\\f236\";\r\n}\r\n.ion-social-instagram:before {\r\n content: \"\\f351\";\r\n}\r\n.ion-social-instagram-outline:before {\r\n content: \"\\f350\";\r\n}\r\n.ion-social-linkedin:before {\r\n content: \"\\f239\";\r\n}\r\n.ion-social-linkedin-outline:before {\r\n content: \"\\f238\";\r\n}\r\n.ion-social-pinterest:before {\r\n content: \"\\f2b1\";\r\n}\r\n.ion-social-pinterest-outline:before {\r\n content: \"\\f2b0\";\r\n}\r\n.ion-social-reddit:before {\r\n content: \"\\f23b\";\r\n}\r\n.ion-social-reddit-outline:before {\r\n content: \"\\f23a\";\r\n}\r\n.ion-social-rss:before {\r\n content: \"\\f23d\";\r\n}\r\n.ion-social-rss-outline:before {\r\n content: \"\\f23c\";\r\n}\r\n.ion-social-skype:before {\r\n content: \"\\f23f\";\r\n}\r\n.ion-social-skype-outline:before {\r\n content: \"\\f23e\";\r\n}\r\n.ion-social-tumblr:before {\r\n content: \"\\f241\";\r\n}\r\n.ion-social-tumblr-outline:before {\r\n content: \"\\f240\";\r\n}\r\n.ion-social-tux:before {\r\n content: \"\\f2c5\";\r\n}\r\n.ion-social-twitter:before {\r\n content: \"\\f243\";\r\n}\r\n.ion-social-twitter-outline:before {\r\n content: \"\\f242\";\r\n}\r\n.ion-social-usd:before {\r\n content: \"\\f353\";\r\n}\r\n.ion-social-usd-outline:before {\r\n content: \"\\f352\";\r\n}\r\n.ion-social-vimeo:before {\r\n content: \"\\f245\";\r\n}\r\n.ion-social-vimeo-outline:before {\r\n content: \"\\f244\";\r\n}\r\n.ion-social-windows:before {\r\n content: \"\\f247\";\r\n}\r\n.ion-social-windows-outline:before {\r\n content: \"\\f246\";\r\n}\r\n.ion-social-wordpress:before {\r\n content: \"\\f249\";\r\n}\r\n.ion-social-wordpress-outline:before {\r\n content: \"\\f248\";\r\n}\r\n.ion-social-yahoo:before {\r\n content: \"\\f24b\";\r\n}\r\n.ion-social-yahoo-outline:before {\r\n content: \"\\f24a\";\r\n}\r\n.ion-social-youtube:before {\r\n content: \"\\f24d\";\r\n}\r\n.ion-social-youtube-outline:before {\r\n content: \"\\f24c\";\r\n}\r\n.ion-speakerphone:before {\r\n content: \"\\f2b2\";\r\n}\r\n.ion-speedometer:before {\r\n content: \"\\f2b3\";\r\n}\r\n.ion-spoon:before {\r\n content: \"\\f2b4\";\r\n}\r\n.ion-star:before {\r\n content: \"\\f24e\";\r\n}\r\n.ion-stats-bars:before {\r\n content: \"\\f2b5\";\r\n}\r\n.ion-steam:before {\r\n content: \"\\f30b\";\r\n}\r\n.ion-stop:before {\r\n content: \"\\f24f\";\r\n}\r\n.ion-thermometer:before {\r\n content: \"\\f2b6\";\r\n}\r\n.ion-thumbsdown:before {\r\n content: \"\\f250\";\r\n}\r\n.ion-thumbsup:before {\r\n content: \"\\f251\";\r\n}\r\n.ion-toggle:before {\r\n content: \"\\f355\";\r\n}\r\n.ion-toggle-filled:before {\r\n content: \"\\f354\";\r\n}\r\n.ion-trash-a:before {\r\n content: \"\\f252\";\r\n}\r\n.ion-trash-b:before {\r\n content: \"\\f253\";\r\n}\r\n.ion-trophy:before {\r\n content: \"\\f356\";\r\n}\r\n.ion-umbrella:before {\r\n content: \"\\f2b7\";\r\n}\r\n.ion-university:before {\r\n content: \"\\f357\";\r\n}\r\n.ion-unlocked:before {\r\n content: \"\\f254\";\r\n}\r\n.ion-upload:before {\r\n content: \"\\f255\";\r\n}\r\n.ion-usb:before {\r\n content: \"\\f2b8\";\r\n}\r\n.ion-videocamera:before {\r\n content: \"\\f256\";\r\n}\r\n.ion-volume-high:before {\r\n content: \"\\f257\";\r\n}\r\n.ion-volume-low:before {\r\n content: \"\\f258\";\r\n}\r\n.ion-volume-medium:before {\r\n content: \"\\f259\";\r\n}\r\n.ion-volume-mute:before {\r\n content: \"\\f25a\";\r\n}\r\n.ion-wand:before {\r\n content: \"\\f358\";\r\n}\r\n.ion-waterdrop:before {\r\n content: \"\\f25b\";\r\n}\r\n.ion-wifi:before {\r\n content: \"\\f25c\";\r\n}\r\n.ion-wineglass:before {\r\n content: \"\\f2b9\";\r\n}\r\n.ion-woman:before {\r\n content: \"\\f25d\";\r\n}\r\n.ion-wrench:before {\r\n content: \"\\f2ba\";\r\n}\r\n.ion-xbox:before {\r\n content: \"\\f30c\";\r\n}\r\n@font-face {\r\n font-family: 'themify';\r\n src: url('../fonts/themify.eot?-fvbane');\r\n src: url('../fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'), url('../fonts/themify.woff?-fvbane') format('woff'), url('../fonts/themify.ttf?-fvbane') format('truetype'), url('../fonts/themify.svg?-fvbane#themify') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n[class^=\"ti-\"],\r\n[class*=\" ti-\"] {\r\n font-family: 'themify';\r\n speak: none;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n line-height: 1;\r\n /* Better Font Rendering =========== */\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.ti-wand:before {\r\n content: \"\\e600\";\r\n}\r\n.ti-volume:before {\r\n content: \"\\e601\";\r\n}\r\n.ti-user:before {\r\n content: \"\\e602\";\r\n}\r\n.ti-unlock:before {\r\n content: \"\\e603\";\r\n}\r\n.ti-unlink:before {\r\n content: \"\\e604\";\r\n}\r\n.ti-trash:before {\r\n content: \"\\e605\";\r\n}\r\n.ti-thought:before {\r\n content: \"\\e606\";\r\n}\r\n.ti-target:before {\r\n content: \"\\e607\";\r\n}\r\n.ti-tag:before {\r\n content: \"\\e608\";\r\n}\r\n.ti-tablet:before {\r\n content: \"\\e609\";\r\n}\r\n.ti-star:before {\r\n content: \"\\e60a\";\r\n}\r\n.ti-spray:before {\r\n content: \"\\e60b\";\r\n}\r\n.ti-signal:before {\r\n content: \"\\e60c\";\r\n}\r\n.ti-shopping-cart:before {\r\n content: \"\\e60d\";\r\n}\r\n.ti-shopping-cart-full:before {\r\n content: \"\\e60e\";\r\n}\r\n.ti-settings:before {\r\n content: \"\\e60f\";\r\n}\r\n.ti-search:before {\r\n content: \"\\e610\";\r\n}\r\n.ti-zoom-in:before {\r\n content: \"\\e611\";\r\n}\r\n.ti-zoom-out:before {\r\n content: \"\\e612\";\r\n}\r\n.ti-cut:before {\r\n content: \"\\e613\";\r\n}\r\n.ti-ruler:before {\r\n content: \"\\e614\";\r\n}\r\n.ti-ruler-pencil:before {\r\n content: \"\\e615\";\r\n}\r\n.ti-ruler-alt:before {\r\n content: \"\\e616\";\r\n}\r\n.ti-bookmark:before {\r\n content: \"\\e617\";\r\n}\r\n.ti-bookmark-alt:before {\r\n content: \"\\e618\";\r\n}\r\n.ti-reload:before {\r\n content: \"\\e619\";\r\n}\r\n.ti-plus:before {\r\n content: \"\\e61a\";\r\n}\r\n.ti-pin:before {\r\n content: \"\\e61b\";\r\n}\r\n.ti-pencil:before {\r\n content: \"\\e61c\";\r\n}\r\n.ti-pencil-alt:before {\r\n content: \"\\e61d\";\r\n}\r\n.ti-paint-roller:before {\r\n content: \"\\e61e\";\r\n}\r\n.ti-paint-bucket:before {\r\n content: \"\\e61f\";\r\n}\r\n.ti-na:before {\r\n content: \"\\e620\";\r\n}\r\n.ti-mobile:before {\r\n content: \"\\e621\";\r\n}\r\n.ti-minus:before {\r\n content: \"\\e622\";\r\n}\r\n.ti-medall:before {\r\n content: \"\\e623\";\r\n}\r\n.ti-medall-alt:before {\r\n content: \"\\e624\";\r\n}\r\n.ti-marker:before {\r\n content: \"\\e625\";\r\n}\r\n.ti-marker-alt:before {\r\n content: \"\\e626\";\r\n}\r\n.ti-arrow-up:before {\r\n content: \"\\e627\";\r\n}\r\n.ti-arrow-right:before {\r\n content: \"\\e628\";\r\n}\r\n.ti-arrow-left:before {\r\n content: \"\\e629\";\r\n}\r\n.ti-arrow-down:before {\r\n content: \"\\e62a\";\r\n}\r\n.ti-lock:before {\r\n content: \"\\e62b\";\r\n}\r\n.ti-location-arrow:before {\r\n content: \"\\e62c\";\r\n}\r\n.ti-link:before {\r\n content: \"\\e62d\";\r\n}\r\n.ti-layout:before {\r\n content: \"\\e62e\";\r\n}\r\n.ti-layers:before {\r\n content: \"\\e62f\";\r\n}\r\n.ti-layers-alt:before {\r\n content: \"\\e630\";\r\n}\r\n.ti-key:before {\r\n content: \"\\e631\";\r\n}\r\n.ti-import:before {\r\n content: \"\\e632\";\r\n}\r\n.ti-image:before {\r\n content: \"\\e633\";\r\n}\r\n.ti-heart:before {\r\n content: \"\\e634\";\r\n}\r\n.ti-heart-broken:before {\r\n content: \"\\e635\";\r\n}\r\n.ti-hand-stop:before {\r\n content: \"\\e636\";\r\n}\r\n.ti-hand-open:before {\r\n content: \"\\e637\";\r\n}\r\n.ti-hand-drag:before {\r\n content: \"\\e638\";\r\n}\r\n.ti-folder:before {\r\n content: \"\\e639\";\r\n}\r\n.ti-flag:before {\r\n content: \"\\e63a\";\r\n}\r\n.ti-flag-alt:before {\r\n content: \"\\e63b\";\r\n}\r\n.ti-flag-alt-2:before {\r\n content: \"\\e63c\";\r\n}\r\n.ti-eye:before {\r\n content: \"\\e63d\";\r\n}\r\n.ti-export:before {\r\n content: \"\\e63e\";\r\n}\r\n.ti-exchange-vertical:before {\r\n content: \"\\e63f\";\r\n}\r\n.ti-desktop:before {\r\n content: \"\\e640\";\r\n}\r\n.ti-cup:before {\r\n content: \"\\e641\";\r\n}\r\n.ti-crown:before {\r\n content: \"\\e642\";\r\n}\r\n.ti-comments:before {\r\n content: \"\\e643\";\r\n}\r\n.ti-comment:before {\r\n content: \"\\e644\";\r\n}\r\n.ti-comment-alt:before {\r\n content: \"\\e645\";\r\n}\r\n.ti-close:before {\r\n content: \"\\e646\";\r\n}\r\n.ti-clip:before {\r\n content: \"\\e647\";\r\n}\r\n.ti-angle-up:before {\r\n content: \"\\e648\";\r\n}\r\n.ti-angle-right:before {\r\n content: \"\\e649\";\r\n}\r\n.ti-angle-left:before {\r\n content: \"\\e64a\";\r\n}\r\n.ti-angle-down:before {\r\n content: \"\\e64b\";\r\n}\r\n.ti-check:before {\r\n content: \"\\e64c\";\r\n}\r\n.ti-check-box:before {\r\n content: \"\\e64d\";\r\n}\r\n.ti-camera:before {\r\n content: \"\\e64e\";\r\n}\r\n.ti-announcement:before {\r\n content: \"\\e64f\";\r\n}\r\n.ti-brush:before {\r\n content: \"\\e650\";\r\n}\r\n.ti-briefcase:before {\r\n content: \"\\e651\";\r\n}\r\n.ti-bolt:before {\r\n content: \"\\e652\";\r\n}\r\n.ti-bolt-alt:before {\r\n content: \"\\e653\";\r\n}\r\n.ti-blackboard:before {\r\n content: \"\\e654\";\r\n}\r\n.ti-bag:before {\r\n content: \"\\e655\";\r\n}\r\n.ti-move:before {\r\n content: \"\\e656\";\r\n}\r\n.ti-arrows-vertical:before {\r\n content: \"\\e657\";\r\n}\r\n.ti-arrows-horizontal:before {\r\n content: \"\\e658\";\r\n}\r\n.ti-fullscreen:before {\r\n content: \"\\e659\";\r\n}\r\n.ti-arrow-top-right:before {\r\n content: \"\\e65a\";\r\n}\r\n.ti-arrow-top-left:before {\r\n content: \"\\e65b\";\r\n}\r\n.ti-arrow-circle-up:before {\r\n content: \"\\e65c\";\r\n}\r\n.ti-arrow-circle-right:before {\r\n content: \"\\e65d\";\r\n}\r\n.ti-arrow-circle-left:before {\r\n content: \"\\e65e\";\r\n}\r\n.ti-arrow-circle-down:before {\r\n content: \"\\e65f\";\r\n}\r\n.ti-angle-double-up:before {\r\n content: \"\\e660\";\r\n}\r\n.ti-angle-double-right:before {\r\n content: \"\\e661\";\r\n}\r\n.ti-angle-double-left:before {\r\n content: \"\\e662\";\r\n}\r\n.ti-angle-double-down:before {\r\n content: \"\\e663\";\r\n}\r\n.ti-zip:before {\r\n content: \"\\e664\";\r\n}\r\n.ti-world:before {\r\n content: \"\\e665\";\r\n}\r\n.ti-wheelchair:before {\r\n content: \"\\e666\";\r\n}\r\n.ti-view-list:before {\r\n content: \"\\e667\";\r\n}\r\n.ti-view-list-alt:before {\r\n content: \"\\e668\";\r\n}\r\n.ti-view-grid:before {\r\n content: \"\\e669\";\r\n}\r\n.ti-uppercase:before {\r\n content: \"\\e66a\";\r\n}\r\n.ti-upload:before {\r\n content: \"\\e66b\";\r\n}\r\n.ti-underline:before {\r\n content: \"\\e66c\";\r\n}\r\n.ti-truck:before {\r\n content: \"\\e66d\";\r\n}\r\n.ti-timer:before {\r\n content: \"\\e66e\";\r\n}\r\n.ti-ticket:before {\r\n content: \"\\e66f\";\r\n}\r\n.ti-thumb-up:before {\r\n content: \"\\e670\";\r\n}\r\n.ti-thumb-down:before {\r\n content: \"\\e671\";\r\n}\r\n.ti-text:before {\r\n content: \"\\e672\";\r\n}\r\n.ti-stats-up:before {\r\n content: \"\\e673\";\r\n}\r\n.ti-stats-down:before {\r\n content: \"\\e674\";\r\n}\r\n.ti-split-v:before {\r\n content: \"\\e675\";\r\n}\r\n.ti-split-h:before {\r\n content: \"\\e676\";\r\n}\r\n.ti-smallcap:before {\r\n content: \"\\e677\";\r\n}\r\n.ti-shine:before {\r\n content: \"\\e678\";\r\n}\r\n.ti-shift-right:before {\r\n content: \"\\e679\";\r\n}\r\n.ti-shift-left:before {\r\n content: \"\\e67a\";\r\n}\r\n.ti-shield:before {\r\n content: \"\\e67b\";\r\n}\r\n.ti-notepad:before {\r\n content: \"\\e67c\";\r\n}\r\n.ti-server:before {\r\n content: \"\\e67d\";\r\n}\r\n.ti-quote-right:before {\r\n content: \"\\e67e\";\r\n}\r\n.ti-quote-left:before {\r\n content: \"\\e67f\";\r\n}\r\n.ti-pulse:before {\r\n content: \"\\e680\";\r\n}\r\n.ti-printer:before {\r\n content: \"\\e681\";\r\n}\r\n.ti-power-off:before {\r\n content: \"\\e682\";\r\n}\r\n.ti-plug:before {\r\n content: \"\\e683\";\r\n}\r\n.ti-pie-chart:before {\r\n content: \"\\e684\";\r\n}\r\n.ti-paragraph:before {\r\n content: \"\\e685\";\r\n}\r\n.ti-panel:before {\r\n content: \"\\e686\";\r\n}\r\n.ti-package:before {\r\n content: \"\\e687\";\r\n}\r\n.ti-music:before {\r\n content: \"\\e688\";\r\n}\r\n.ti-music-alt:before {\r\n content: \"\\e689\";\r\n}\r\n.ti-mouse:before {\r\n content: \"\\e68a\";\r\n}\r\n.ti-mouse-alt:before {\r\n content: \"\\e68b\";\r\n}\r\n.ti-money:before {\r\n content: \"\\e68c\";\r\n}\r\n.ti-microphone:before {\r\n content: \"\\e68d\";\r\n}\r\n.ti-menu:before {\r\n content: \"\\e68e\";\r\n}\r\n.ti-menu-alt:before {\r\n content: \"\\e68f\";\r\n}\r\n.ti-map:before {\r\n content: \"\\e690\";\r\n}\r\n.ti-map-alt:before {\r\n content: \"\\e691\";\r\n}\r\n.ti-loop:before {\r\n content: \"\\e692\";\r\n}\r\n.ti-location-pin:before {\r\n content: \"\\e693\";\r\n}\r\n.ti-list:before {\r\n content: \"\\e694\";\r\n}\r\n.ti-light-bulb:before {\r\n content: \"\\e695\";\r\n}\r\n.ti-Italic:before {\r\n content: \"\\e696\";\r\n}\r\n.ti-info:before {\r\n content: \"\\e697\";\r\n}\r\n.ti-infinite:before {\r\n content: \"\\e698\";\r\n}\r\n.ti-id-badge:before {\r\n content: \"\\e699\";\r\n}\r\n.ti-hummer:before {\r\n content: \"\\e69a\";\r\n}\r\n.ti-home:before {\r\n content: \"\\e69b\";\r\n}\r\n.ti-help:before {\r\n content: \"\\e69c\";\r\n}\r\n.ti-headphone:before {\r\n content: \"\\e69d\";\r\n}\r\n.ti-harddrives:before {\r\n content: \"\\e69e\";\r\n}\r\n.ti-harddrive:before {\r\n content: \"\\e69f\";\r\n}\r\n.ti-gift:before {\r\n content: \"\\e6a0\";\r\n}\r\n.ti-game:before {\r\n content: \"\\e6a1\";\r\n}\r\n.ti-filter:before {\r\n content: \"\\e6a2\";\r\n}\r\n.ti-files:before {\r\n content: \"\\e6a3\";\r\n}\r\n.ti-file:before {\r\n content: \"\\e6a4\";\r\n}\r\n.ti-eraser:before {\r\n content: \"\\e6a5\";\r\n}\r\n.ti-envelope:before {\r\n content: \"\\e6a6\";\r\n}\r\n.ti-download:before {\r\n content: \"\\e6a7\";\r\n}\r\n.ti-direction:before {\r\n content: \"\\e6a8\";\r\n}\r\n.ti-direction-alt:before {\r\n content: \"\\e6a9\";\r\n}\r\n.ti-dashboard:before {\r\n content: \"\\e6aa\";\r\n}\r\n.ti-control-stop:before {\r\n content: \"\\e6ab\";\r\n}\r\n.ti-control-shuffle:before {\r\n content: \"\\e6ac\";\r\n}\r\n.ti-control-play:before {\r\n content: \"\\e6ad\";\r\n}\r\n.ti-control-pause:before {\r\n content: \"\\e6ae\";\r\n}\r\n.ti-control-forward:before {\r\n content: \"\\e6af\";\r\n}\r\n.ti-control-backward:before {\r\n content: \"\\e6b0\";\r\n}\r\n.ti-cloud:before {\r\n content: \"\\e6b1\";\r\n}\r\n.ti-cloud-up:before {\r\n content: \"\\e6b2\";\r\n}\r\n.ti-cloud-down:before {\r\n content: \"\\e6b3\";\r\n}\r\n.ti-clipboard:before {\r\n content: \"\\e6b4\";\r\n}\r\n.ti-car:before {\r\n content: \"\\e6b5\";\r\n}\r\n.ti-calendar:before {\r\n content: \"\\e6b6\";\r\n}\r\n.ti-book:before {\r\n content: \"\\e6b7\";\r\n}\r\n.ti-bell:before {\r\n content: \"\\e6b8\";\r\n}\r\n.ti-basketball:before {\r\n content: \"\\e6b9\";\r\n}\r\n.ti-bar-chart:before {\r\n content: \"\\e6ba\";\r\n}\r\n.ti-bar-chart-alt:before {\r\n content: \"\\e6bb\";\r\n}\r\n.ti-back-right:before {\r\n content: \"\\e6bc\";\r\n}\r\n.ti-back-left:before {\r\n content: \"\\e6bd\";\r\n}\r\n.ti-arrows-corner:before {\r\n content: \"\\e6be\";\r\n}\r\n.ti-archive:before {\r\n content: \"\\e6bf\";\r\n}\r\n.ti-anchor:before {\r\n content: \"\\e6c0\";\r\n}\r\n.ti-align-right:before {\r\n content: \"\\e6c1\";\r\n}\r\n.ti-align-left:before {\r\n content: \"\\e6c2\";\r\n}\r\n.ti-align-justify:before {\r\n content: \"\\e6c3\";\r\n}\r\n.ti-align-center:before {\r\n content: \"\\e6c4\";\r\n}\r\n.ti-alert:before {\r\n content: \"\\e6c5\";\r\n}\r\n.ti-alarm-clock:before {\r\n content: \"\\e6c6\";\r\n}\r\n.ti-agenda:before {\r\n content: \"\\e6c7\";\r\n}\r\n.ti-write:before {\r\n content: \"\\e6c8\";\r\n}\r\n.ti-window:before {\r\n content: \"\\e6c9\";\r\n}\r\n.ti-widgetized:before {\r\n content: \"\\e6ca\";\r\n}\r\n.ti-widget:before {\r\n content: \"\\e6cb\";\r\n}\r\n.ti-widget-alt:before {\r\n content: \"\\e6cc\";\r\n}\r\n.ti-wallet:before {\r\n content: \"\\e6cd\";\r\n}\r\n.ti-video-clapper:before {\r\n content: \"\\e6ce\";\r\n}\r\n.ti-video-camera:before {\r\n content: \"\\e6cf\";\r\n}\r\n.ti-vector:before {\r\n content: \"\\e6d0\";\r\n}\r\n.ti-themify-logo:before {\r\n content: \"\\e6d1\";\r\n}\r\n.ti-themify-favicon:before {\r\n content: \"\\e6d2\";\r\n}\r\n.ti-themify-favicon-alt:before {\r\n content: \"\\e6d3\";\r\n}\r\n.ti-support:before {\r\n content: \"\\e6d4\";\r\n}\r\n.ti-stamp:before {\r\n content: \"\\e6d5\";\r\n}\r\n.ti-split-v-alt:before {\r\n content: \"\\e6d6\";\r\n}\r\n.ti-slice:before {\r\n content: \"\\e6d7\";\r\n}\r\n.ti-shortcode:before {\r\n content: \"\\e6d8\";\r\n}\r\n.ti-shift-right-alt:before {\r\n content: \"\\e6d9\";\r\n}\r\n.ti-shift-left-alt:before {\r\n content: \"\\e6da\";\r\n}\r\n.ti-ruler-alt-2:before {\r\n content: \"\\e6db\";\r\n}\r\n.ti-receipt:before {\r\n content: \"\\e6dc\";\r\n}\r\n.ti-pin2:before {\r\n content: \"\\e6dd\";\r\n}\r\n.ti-pin-alt:before {\r\n content: \"\\e6de\";\r\n}\r\n.ti-pencil-alt2:before {\r\n content: \"\\e6df\";\r\n}\r\n.ti-palette:before {\r\n content: \"\\e6e0\";\r\n}\r\n.ti-more:before {\r\n content: \"\\e6e1\";\r\n}\r\n.ti-more-alt:before {\r\n content: \"\\e6e2\";\r\n}\r\n.ti-microphone-alt:before {\r\n content: \"\\e6e3\";\r\n}\r\n.ti-magnet:before {\r\n content: \"\\e6e4\";\r\n}\r\n.ti-line-double:before {\r\n content: \"\\e6e5\";\r\n}\r\n.ti-line-dotted:before {\r\n content: \"\\e6e6\";\r\n}\r\n.ti-line-dashed:before {\r\n content: \"\\e6e7\";\r\n}\r\n.ti-layout-width-full:before {\r\n content: \"\\e6e8\";\r\n}\r\n.ti-layout-width-default:before {\r\n content: \"\\e6e9\";\r\n}\r\n.ti-layout-width-default-alt:before {\r\n content: \"\\e6ea\";\r\n}\r\n.ti-layout-tab:before {\r\n content: \"\\e6eb\";\r\n}\r\n.ti-layout-tab-window:before {\r\n content: \"\\e6ec\";\r\n}\r\n.ti-layout-tab-v:before {\r\n content: \"\\e6ed\";\r\n}\r\n.ti-layout-tab-min:before {\r\n content: \"\\e6ee\";\r\n}\r\n.ti-layout-slider:before {\r\n content: \"\\e6ef\";\r\n}\r\n.ti-layout-slider-alt:before {\r\n content: \"\\e6f0\";\r\n}\r\n.ti-layout-sidebar-right:before {\r\n content: \"\\e6f1\";\r\n}\r\n.ti-layout-sidebar-none:before {\r\n content: \"\\e6f2\";\r\n}\r\n.ti-layout-sidebar-left:before {\r\n content: \"\\e6f3\";\r\n}\r\n.ti-layout-placeholder:before {\r\n content: \"\\e6f4\";\r\n}\r\n.ti-layout-menu:before {\r\n content: \"\\e6f5\";\r\n}\r\n.ti-layout-menu-v:before {\r\n content: \"\\e6f6\";\r\n}\r\n.ti-layout-menu-separated:before {\r\n content: \"\\e6f7\";\r\n}\r\n.ti-layout-menu-full:before {\r\n content: \"\\e6f8\";\r\n}\r\n.ti-layout-media-right-alt:before {\r\n content: \"\\e6f9\";\r\n}\r\n.ti-layout-media-right:before {\r\n content: \"\\e6fa\";\r\n}\r\n.ti-layout-media-overlay:before {\r\n content: \"\\e6fb\";\r\n}\r\n.ti-layout-media-overlay-alt:before {\r\n content: \"\\e6fc\";\r\n}\r\n.ti-layout-media-overlay-alt-2:before {\r\n content: \"\\e6fd\";\r\n}\r\n.ti-layout-media-left-alt:before {\r\n content: \"\\e6fe\";\r\n}\r\n.ti-layout-media-left:before {\r\n content: \"\\e6ff\";\r\n}\r\n.ti-layout-media-center-alt:before {\r\n content: \"\\e700\";\r\n}\r\n.ti-layout-media-center:before {\r\n content: \"\\e701\";\r\n}\r\n.ti-layout-list-thumb:before {\r\n content: \"\\e702\";\r\n}\r\n.ti-layout-list-thumb-alt:before {\r\n content: \"\\e703\";\r\n}\r\n.ti-layout-list-post:before {\r\n content: \"\\e704\";\r\n}\r\n.ti-layout-list-large-image:before {\r\n content: \"\\e705\";\r\n}\r\n.ti-layout-line-solid:before {\r\n content: \"\\e706\";\r\n}\r\n.ti-layout-grid4:before {\r\n content: \"\\e707\";\r\n}\r\n.ti-layout-grid3:before {\r\n content: \"\\e708\";\r\n}\r\n.ti-layout-grid2:before {\r\n content: \"\\e709\";\r\n}\r\n.ti-layout-grid2-thumb:before {\r\n content: \"\\e70a\";\r\n}\r\n.ti-layout-cta-right:before {\r\n content: \"\\e70b\";\r\n}\r\n.ti-layout-cta-left:before {\r\n content: \"\\e70c\";\r\n}\r\n.ti-layout-cta-center:before {\r\n content: \"\\e70d\";\r\n}\r\n.ti-layout-cta-btn-right:before {\r\n content: \"\\e70e\";\r\n}\r\n.ti-layout-cta-btn-left:before {\r\n content: \"\\e70f\";\r\n}\r\n.ti-layout-column4:before {\r\n content: \"\\e710\";\r\n}\r\n.ti-layout-column3:before {\r\n content: \"\\e711\";\r\n}\r\n.ti-layout-column2:before {\r\n content: \"\\e712\";\r\n}\r\n.ti-layout-accordion-separated:before {\r\n content: \"\\e713\";\r\n}\r\n.ti-layout-accordion-merged:before {\r\n content: \"\\e714\";\r\n}\r\n.ti-layout-accordion-list:before {\r\n content: \"\\e715\";\r\n}\r\n.ti-ink-pen:before {\r\n content: \"\\e716\";\r\n}\r\n.ti-info-alt:before {\r\n content: \"\\e717\";\r\n}\r\n.ti-help-alt:before {\r\n content: \"\\e718\";\r\n}\r\n.ti-headphone-alt:before {\r\n content: \"\\e719\";\r\n}\r\n.ti-hand-point-up:before {\r\n content: \"\\e71a\";\r\n}\r\n.ti-hand-point-right:before {\r\n content: \"\\e71b\";\r\n}\r\n.ti-hand-point-left:before {\r\n content: \"\\e71c\";\r\n}\r\n.ti-hand-point-down:before {\r\n content: \"\\e71d\";\r\n}\r\n.ti-gallery:before {\r\n content: \"\\e71e\";\r\n}\r\n.ti-face-smile:before {\r\n content: \"\\e71f\";\r\n}\r\n.ti-face-sad:before {\r\n content: \"\\e720\";\r\n}\r\n.ti-credit-card:before {\r\n content: \"\\e721\";\r\n}\r\n.ti-control-skip-forward:before {\r\n content: \"\\e722\";\r\n}\r\n.ti-control-skip-backward:before {\r\n content: \"\\e723\";\r\n}\r\n.ti-control-record:before {\r\n content: \"\\e724\";\r\n}\r\n.ti-control-eject:before {\r\n content: \"\\e725\";\r\n}\r\n.ti-comments-smiley:before {\r\n content: \"\\e726\";\r\n}\r\n.ti-brush-alt:before {\r\n content: \"\\e727\";\r\n}\r\n.ti-youtube:before {\r\n content: \"\\e728\";\r\n}\r\n.ti-vimeo:before {\r\n content: \"\\e729\";\r\n}\r\n.ti-twitter:before {\r\n content: \"\\e72a\";\r\n}\r\n.ti-time:before {\r\n content: \"\\e72b\";\r\n}\r\n.ti-tumblr:before {\r\n content: \"\\e72c\";\r\n}\r\n.ti-skype:before {\r\n content: \"\\e72d\";\r\n}\r\n.ti-share:before {\r\n content: \"\\e72e\";\r\n}\r\n.ti-share-alt:before {\r\n content: \"\\e72f\";\r\n}\r\n.ti-rocket:before {\r\n content: \"\\e730\";\r\n}\r\n.ti-pinterest:before {\r\n content: \"\\e731\";\r\n}\r\n.ti-new-window:before {\r\n content: \"\\e732\";\r\n}\r\n.ti-microsoft:before {\r\n content: \"\\e733\";\r\n}\r\n.ti-list-ol:before {\r\n content: \"\\e734\";\r\n}\r\n.ti-linkedin:before {\r\n content: \"\\e735\";\r\n}\r\n.ti-layout-sidebar-2:before {\r\n content: \"\\e736\";\r\n}\r\n.ti-layout-grid4-alt:before {\r\n content: \"\\e737\";\r\n}\r\n.ti-layout-grid3-alt:before {\r\n content: \"\\e738\";\r\n}\r\n.ti-layout-grid2-alt:before {\r\n content: \"\\e739\";\r\n}\r\n.ti-layout-column4-alt:before {\r\n content: \"\\e73a\";\r\n}\r\n.ti-layout-column3-alt:before {\r\n content: \"\\e73b\";\r\n}\r\n.ti-layout-column2-alt:before {\r\n content: \"\\e73c\";\r\n}\r\n.ti-instagram:before {\r\n content: \"\\e73d\";\r\n}\r\n.ti-google:before {\r\n content: \"\\e73e\";\r\n}\r\n.ti-github:before {\r\n content: \"\\e73f\";\r\n}\r\n.ti-flickr:before {\r\n content: \"\\e740\";\r\n}\r\n.ti-facebook:before {\r\n content: \"\\e741\";\r\n}\r\n.ti-dropbox:before {\r\n content: \"\\e742\";\r\n}\r\n.ti-dribbble:before {\r\n content: \"\\e743\";\r\n}\r\n.ti-apple:before {\r\n content: \"\\e744\";\r\n}\r\n.ti-android:before {\r\n content: \"\\e745\";\r\n}\r\n.ti-save:before {\r\n content: \"\\e746\";\r\n}\r\n.ti-save-alt:before {\r\n content: \"\\e747\";\r\n}\r\n.ti-yahoo:before {\r\n content: \"\\e748\";\r\n}\r\n.ti-wordpress:before {\r\n content: \"\\e749\";\r\n}\r\n.ti-vimeo-alt:before {\r\n content: \"\\e74a\";\r\n}\r\n.ti-twitter-alt:before {\r\n content: \"\\e74b\";\r\n}\r\n.ti-tumblr-alt:before {\r\n content: \"\\e74c\";\r\n}\r\n.ti-trello:before {\r\n content: \"\\e74d\";\r\n}\r\n.ti-stack-overflow:before {\r\n content: \"\\e74e\";\r\n}\r\n.ti-soundcloud:before {\r\n content: \"\\e74f\";\r\n}\r\n.ti-sharethis:before {\r\n content: \"\\e750\";\r\n}\r\n.ti-sharethis-alt:before {\r\n content: \"\\e751\";\r\n}\r\n.ti-reddit:before {\r\n content: \"\\e752\";\r\n}\r\n.ti-pinterest-alt:before {\r\n content: \"\\e753\";\r\n}\r\n.ti-microsoft-alt:before {\r\n content: \"\\e754\";\r\n}\r\n.ti-linux:before {\r\n content: \"\\e755\";\r\n}\r\n.ti-jsfiddle:before {\r\n content: \"\\e756\";\r\n}\r\n.ti-joomla:before {\r\n content: \"\\e757\";\r\n}\r\n.ti-html5:before {\r\n content: \"\\e758\";\r\n}\r\n.ti-flickr-alt:before {\r\n content: \"\\e759\";\r\n}\r\n.ti-email:before {\r\n content: \"\\e75a\";\r\n}\r\n.ti-drupal:before {\r\n content: \"\\e75b\";\r\n}\r\n.ti-dropbox-alt:before {\r\n content: \"\\e75c\";\r\n}\r\n.ti-css3:before {\r\n content: \"\\e75d\";\r\n}\r\n.ti-rss:before {\r\n content: \"\\e75e\";\r\n}\r\n.ti-rss-alt:before {\r\n content: \"\\e75f\";\r\n}\r\n/*!\r\n * Weather Icons 2.0\r\n * Updated August 1, 2015\r\n * Weather themed icons for Bootstrap\r\n * Author - Erik Flowers - erik@helloerik.com\r\n * Email: erik@helloerik.com\r\n * Twitter: http://twitter.com/Erik_UX\r\n * ------------------------------------------------------------------------------\r\n * Maintained at http://erikflowers.github.io/weather-icons\r\n *\r\n * License\r\n * ------------------------------------------------------------------------------\r\n * - Font licensed under SIL OFL 1.1 -\r\n * http://scripts.sil.org/OFL\r\n * - CSS, SCSS and LESS are licensed under MIT License -\r\n * http://opensource.org/licenses/mit-license.html\r\n * - Documentation licensed under CC BY 3.0 -\r\n * http://creativecommons.org/licenses/by/3.0/\r\n * - Inspired by and works great as a companion with Font Awesome\r\n * \"Font Awesome by Dave Gandy - http://fontawesome.io\"\r\n */\r\n@font-face {\r\n font-family: 'weathericons';\r\n src: url('../fonts/weathericons-regular-webfont.eot');\r\n src: url('../fonts/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/weathericons-regular-webfont.woff2') format('woff2'), url('../fonts/weathericons-regular-webfont.woff') format('woff'), url('../fonts/weathericons-regular-webfont.ttf') format('truetype'), url('../fonts/weathericons-regular-webfont.svg#weather_iconsregular') format('svg');\r\n font-weight: normal;\r\n font-style: normal;\r\n}\r\n.wi {\r\n display: inline-block;\r\n font-family: 'weathericons';\r\n font-style: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n.wi-fw {\r\n text-align: center;\r\n width: 1.4em;\r\n}\r\n.wi-rotate-90 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\r\n -webkit-transform: rotate(90deg);\r\n -ms-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n.wi-rotate-180 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\r\n -webkit-transform: rotate(180deg);\r\n -ms-transform: rotate(180deg);\r\n transform: rotate(180deg);\r\n}\r\n.wi-rotate-270 {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\r\n -webkit-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n}\r\n.wi-flip-horizontal {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\r\n -webkit-transform: scale(-1, 1);\r\n -ms-transform: scale(-1, 1);\r\n transform: scale(-1, 1);\r\n}\r\n.wi-flip-vertical {\r\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\r\n -webkit-transform: scale(1, -1);\r\n -ms-transform: scale(1, -1);\r\n transform: scale(1, -1);\r\n}\r\n.wi-day-sunny:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-day-cloudy:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-day-cloudy-gusts:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-day-cloudy-windy:before {\r\n content: \"\\f001\";\r\n}\r\n.wi-day-fog:before {\r\n content: \"\\f003\";\r\n}\r\n.wi-day-hail:before {\r\n content: \"\\f004\";\r\n}\r\n.wi-day-haze:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-day-lightning:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-day-rain:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-day-rain-mix:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-day-rain-wind:before {\r\n content: \"\\f007\";\r\n}\r\n.wi-day-showers:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-day-sleet:before {\r\n content: \"\\f0b2\";\r\n}\r\n.wi-day-sleet-storm:before {\r\n content: \"\\f068\";\r\n}\r\n.wi-day-snow:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-day-snow-thunderstorm:before {\r\n content: \"\\f06b\";\r\n}\r\n.wi-day-snow-wind:before {\r\n content: \"\\f065\";\r\n}\r\n.wi-day-sprinkle:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-day-storm-showers:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-day-sunny-overcast:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-day-thunderstorm:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-day-windy:before {\r\n content: \"\\f085\";\r\n}\r\n.wi-solar-eclipse:before {\r\n content: \"\\f06e\";\r\n}\r\n.wi-hot:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-day-cloudy-high:before {\r\n content: \"\\f07d\";\r\n}\r\n.wi-day-light-wind:before {\r\n content: \"\\f0c4\";\r\n}\r\n.wi-night-clear:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-night-alt-cloudy:before {\r\n content: \"\\f086\";\r\n}\r\n.wi-night-alt-cloudy-gusts:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-night-alt-cloudy-windy:before {\r\n content: \"\\f023\";\r\n}\r\n.wi-night-alt-hail:before {\r\n content: \"\\f024\";\r\n}\r\n.wi-night-alt-lightning:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-night-alt-rain:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-night-alt-rain-mix:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-night-alt-rain-wind:before {\r\n content: \"\\f027\";\r\n}\r\n.wi-night-alt-showers:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-night-alt-sleet:before {\r\n content: \"\\f0b4\";\r\n}\r\n.wi-night-alt-sleet-storm:before {\r\n content: \"\\f06a\";\r\n}\r\n.wi-night-alt-snow:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-night-alt-snow-thunderstorm:before {\r\n content: \"\\f06d\";\r\n}\r\n.wi-night-alt-snow-wind:before {\r\n content: \"\\f067\";\r\n}\r\n.wi-night-alt-sprinkle:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-night-alt-storm-showers:before {\r\n content: \"\\f02c\";\r\n}\r\n.wi-night-alt-thunderstorm:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-night-cloudy:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-night-cloudy-gusts:before {\r\n content: \"\\f02f\";\r\n}\r\n.wi-night-cloudy-windy:before {\r\n content: \"\\f030\";\r\n}\r\n.wi-night-fog:before {\r\n content: \"\\f04a\";\r\n}\r\n.wi-night-hail:before {\r\n content: \"\\f032\";\r\n}\r\n.wi-night-lightning:before {\r\n content: \"\\f033\";\r\n}\r\n.wi-night-partly-cloudy:before {\r\n content: \"\\f083\";\r\n}\r\n.wi-night-rain:before {\r\n content: \"\\f036\";\r\n}\r\n.wi-night-rain-mix:before {\r\n content: \"\\f034\";\r\n}\r\n.wi-night-rain-wind:before {\r\n content: \"\\f035\";\r\n}\r\n.wi-night-showers:before {\r\n content: \"\\f037\";\r\n}\r\n.wi-night-sleet:before {\r\n content: \"\\f0b3\";\r\n}\r\n.wi-night-sleet-storm:before {\r\n content: \"\\f069\";\r\n}\r\n.wi-night-snow:before {\r\n content: \"\\f038\";\r\n}\r\n.wi-night-snow-thunderstorm:before {\r\n content: \"\\f06c\";\r\n}\r\n.wi-night-snow-wind:before {\r\n content: \"\\f066\";\r\n}\r\n.wi-night-sprinkle:before {\r\n content: \"\\f039\";\r\n}\r\n.wi-night-storm-showers:before {\r\n content: \"\\f03a\";\r\n}\r\n.wi-night-thunderstorm:before {\r\n content: \"\\f03b\";\r\n}\r\n.wi-lunar-eclipse:before {\r\n content: \"\\f070\";\r\n}\r\n.wi-stars:before {\r\n content: \"\\f077\";\r\n}\r\n.wi-storm-showers:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-night-alt-cloudy-high:before {\r\n content: \"\\f07e\";\r\n}\r\n.wi-night-cloudy-high:before {\r\n content: \"\\f080\";\r\n}\r\n.wi-night-alt-partly-cloudy:before {\r\n content: \"\\f081\";\r\n}\r\n.wi-cloud:before {\r\n content: \"\\f041\";\r\n}\r\n.wi-cloudy:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-cloudy-gusts:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-cloudy-windy:before {\r\n content: \"\\f012\";\r\n}\r\n.wi-fog:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-hail:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-rain:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-rain-mix:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-rain-wind:before {\r\n content: \"\\f018\";\r\n}\r\n.wi-showers:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-sleet:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-sprinkle:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-storm-showers:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-snow-wind:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-smog:before {\r\n content: \"\\f074\";\r\n}\r\n.wi-smoke:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-lightning:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-raindrops:before {\r\n content: \"\\f04e\";\r\n}\r\n.wi-raindrop:before {\r\n content: \"\\f078\";\r\n}\r\n.wi-dust:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-snowflake-cold:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-windy:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-strong-wind:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-sandstorm:before {\r\n content: \"\\f082\";\r\n}\r\n.wi-earthquake:before {\r\n content: \"\\f0c6\";\r\n}\r\n.wi-fire:before {\r\n content: \"\\f0c7\";\r\n}\r\n.wi-flood:before {\r\n content: \"\\f07c\";\r\n}\r\n.wi-meteor:before {\r\n content: \"\\f071\";\r\n}\r\n.wi-tsunami:before {\r\n content: \"\\f0c5\";\r\n}\r\n.wi-volcano:before {\r\n content: \"\\f0c8\";\r\n}\r\n.wi-hurricane:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-tornado:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-small-craft-advisory:before {\r\n content: \"\\f0cc\";\r\n}\r\n.wi-gale-warning:before {\r\n content: \"\\f0cd\";\r\n}\r\n.wi-storm-warning:before {\r\n content: \"\\f0ce\";\r\n}\r\n.wi-hurricane-warning:before {\r\n content: \"\\f0cf\";\r\n}\r\n.wi-wind-direction:before {\r\n content: \"\\f0b1\";\r\n}\r\n.wi-alien:before {\r\n content: \"\\f075\";\r\n}\r\n.wi-celsius:before {\r\n content: \"\\f03c\";\r\n}\r\n.wi-fahrenheit:before {\r\n content: \"\\f045\";\r\n}\r\n.wi-degrees:before {\r\n content: \"\\f042\";\r\n}\r\n.wi-thermometer:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-thermometer-exterior:before {\r\n content: \"\\f053\";\r\n}\r\n.wi-thermometer-internal:before {\r\n content: \"\\f054\";\r\n}\r\n.wi-cloud-down:before {\r\n content: \"\\f03d\";\r\n}\r\n.wi-cloud-up:before {\r\n content: \"\\f040\";\r\n}\r\n.wi-cloud-refresh:before {\r\n content: \"\\f03e\";\r\n}\r\n.wi-horizon:before {\r\n content: \"\\f047\";\r\n}\r\n.wi-horizon-alt:before {\r\n content: \"\\f046\";\r\n}\r\n.wi-sunrise:before {\r\n content: \"\\f051\";\r\n}\r\n.wi-sunset:before {\r\n content: \"\\f052\";\r\n}\r\n.wi-moonrise:before {\r\n content: \"\\f0c9\";\r\n}\r\n.wi-moonset:before {\r\n content: \"\\f0ca\";\r\n}\r\n.wi-refresh:before {\r\n content: \"\\f04c\";\r\n}\r\n.wi-refresh-alt:before {\r\n content: \"\\f04b\";\r\n}\r\n.wi-umbrella:before {\r\n content: \"\\f084\";\r\n}\r\n.wi-barometer:before {\r\n content: \"\\f079\";\r\n}\r\n.wi-humidity:before {\r\n content: \"\\f07a\";\r\n}\r\n.wi-na:before {\r\n content: \"\\f07b\";\r\n}\r\n.wi-train:before {\r\n content: \"\\f0cb\";\r\n}\r\n.wi-moon-new:before {\r\n content: \"\\f095\";\r\n}\r\n.wi-moon-waxing-cresent-1:before {\r\n content: \"\\f096\";\r\n}\r\n.wi-moon-waxing-cresent-2:before {\r\n content: \"\\f097\";\r\n}\r\n.wi-moon-waxing-cresent-3:before {\r\n content: \"\\f098\";\r\n}\r\n.wi-moon-waxing-cresent-4:before {\r\n content: \"\\f099\";\r\n}\r\n.wi-moon-waxing-cresent-5:before {\r\n content: \"\\f09a\";\r\n}\r\n.wi-moon-waxing-cresent-6:before {\r\n content: \"\\f09b\";\r\n}\r\n.wi-moon-first-quarter:before {\r\n content: \"\\f09c\";\r\n}\r\n.wi-moon-waxing-gibbous-1:before {\r\n content: \"\\f09d\";\r\n}\r\n.wi-moon-waxing-gibbous-2:before {\r\n content: \"\\f09e\";\r\n}\r\n.wi-moon-waxing-gibbous-3:before {\r\n content: \"\\f09f\";\r\n}\r\n.wi-moon-waxing-gibbous-4:before {\r\n content: \"\\f0a0\";\r\n}\r\n.wi-moon-waxing-gibbous-5:before {\r\n content: \"\\f0a1\";\r\n}\r\n.wi-moon-waxing-gibbous-6:before {\r\n content: \"\\f0a2\";\r\n}\r\n.wi-moon-full:before {\r\n content: \"\\f0a3\";\r\n}\r\n.wi-moon-waning-gibbous-1:before {\r\n content: \"\\f0a4\";\r\n}\r\n.wi-moon-waning-gibbous-2:before {\r\n content: \"\\f0a5\";\r\n}\r\n.wi-moon-waning-gibbous-3:before {\r\n content: \"\\f0a6\";\r\n}\r\n.wi-moon-waning-gibbous-4:before {\r\n content: \"\\f0a7\";\r\n}\r\n.wi-moon-waning-gibbous-5:before {\r\n content: \"\\f0a8\";\r\n}\r\n.wi-moon-waning-gibbous-6:before {\r\n content: \"\\f0a9\";\r\n}\r\n.wi-moon-third-quarter:before {\r\n content: \"\\f0aa\";\r\n}\r\n.wi-moon-waning-crescent-1:before {\r\n content: \"\\f0ab\";\r\n}\r\n.wi-moon-waning-crescent-2:before {\r\n content: \"\\f0ac\";\r\n}\r\n.wi-moon-waning-crescent-3:before {\r\n content: \"\\f0ad\";\r\n}\r\n.wi-moon-waning-crescent-4:before {\r\n content: \"\\f0ae\";\r\n}\r\n.wi-moon-waning-crescent-5:before {\r\n content: \"\\f0af\";\r\n}\r\n.wi-moon-waning-crescent-6:before {\r\n content: \"\\f0b0\";\r\n}\r\n.wi-moon-alt-new:before {\r\n content: \"\\f0eb\";\r\n}\r\n.wi-moon-alt-waxing-cresent-1:before {\r\n content: \"\\f0d0\";\r\n}\r\n.wi-moon-alt-waxing-cresent-2:before {\r\n content: \"\\f0d1\";\r\n}\r\n.wi-moon-alt-waxing-cresent-3:before {\r\n content: \"\\f0d2\";\r\n}\r\n.wi-moon-alt-waxing-cresent-4:before {\r\n content: \"\\f0d3\";\r\n}\r\n.wi-moon-alt-waxing-cresent-5:before {\r\n content: \"\\f0d4\";\r\n}\r\n.wi-moon-alt-waxing-cresent-6:before {\r\n content: \"\\f0d5\";\r\n}\r\n.wi-moon-alt-first-quarter:before {\r\n content: \"\\f0d6\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-1:before {\r\n content: \"\\f0d7\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-2:before {\r\n content: \"\\f0d8\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-3:before {\r\n content: \"\\f0d9\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-4:before {\r\n content: \"\\f0da\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-5:before {\r\n content: \"\\f0db\";\r\n}\r\n.wi-moon-alt-waxing-gibbous-6:before {\r\n content: \"\\f0dc\";\r\n}\r\n.wi-moon-alt-full:before {\r\n content: \"\\f0dd\";\r\n}\r\n.wi-moon-alt-waning-gibbous-1:before {\r\n content: \"\\f0de\";\r\n}\r\n.wi-moon-alt-waning-gibbous-2:before {\r\n content: \"\\f0df\";\r\n}\r\n.wi-moon-alt-waning-gibbous-3:before {\r\n content: \"\\f0e0\";\r\n}\r\n.wi-moon-alt-waning-gibbous-4:before {\r\n content: \"\\f0e1\";\r\n}\r\n.wi-moon-alt-waning-gibbous-5:before {\r\n content: \"\\f0e2\";\r\n}\r\n.wi-moon-alt-waning-gibbous-6:before {\r\n content: \"\\f0e3\";\r\n}\r\n.wi-moon-alt-third-quarter:before {\r\n content: \"\\f0e4\";\r\n}\r\n.wi-moon-alt-waning-crescent-1:before {\r\n content: \"\\f0e5\";\r\n}\r\n.wi-moon-alt-waning-crescent-2:before {\r\n content: \"\\f0e6\";\r\n}\r\n.wi-moon-alt-waning-crescent-3:before {\r\n content: \"\\f0e7\";\r\n}\r\n.wi-moon-alt-waning-crescent-4:before {\r\n content: \"\\f0e8\";\r\n}\r\n.wi-moon-alt-waning-crescent-5:before {\r\n content: \"\\f0e9\";\r\n}\r\n.wi-moon-alt-waning-crescent-6:before {\r\n content: \"\\f0ea\";\r\n}\r\n.wi-moon-0:before {\r\n content: \"\\f095\";\r\n}\r\n.wi-moon-1:before {\r\n content: \"\\f096\";\r\n}\r\n.wi-moon-2:before {\r\n content: \"\\f097\";\r\n}\r\n.wi-moon-3:before {\r\n content: \"\\f098\";\r\n}\r\n.wi-moon-4:before {\r\n content: \"\\f099\";\r\n}\r\n.wi-moon-5:before {\r\n content: \"\\f09a\";\r\n}\r\n.wi-moon-6:before {\r\n content: \"\\f09b\";\r\n}\r\n.wi-moon-7:before {\r\n content: \"\\f09c\";\r\n}\r\n.wi-moon-8:before {\r\n content: \"\\f09d\";\r\n}\r\n.wi-moon-9:before {\r\n content: \"\\f09e\";\r\n}\r\n.wi-moon-10:before {\r\n content: \"\\f09f\";\r\n}\r\n.wi-moon-11:before {\r\n content: \"\\f0a0\";\r\n}\r\n.wi-moon-12:before {\r\n content: \"\\f0a1\";\r\n}\r\n.wi-moon-13:before {\r\n content: \"\\f0a2\";\r\n}\r\n.wi-moon-14:before {\r\n content: \"\\f0a3\";\r\n}\r\n.wi-moon-15:before {\r\n content: \"\\f0a4\";\r\n}\r\n.wi-moon-16:before {\r\n content: \"\\f0a5\";\r\n}\r\n.wi-moon-17:before {\r\n content: \"\\f0a6\";\r\n}\r\n.wi-moon-18:before {\r\n content: \"\\f0a7\";\r\n}\r\n.wi-moon-19:before {\r\n content: \"\\f0a8\";\r\n}\r\n.wi-moon-20:before {\r\n content: \"\\f0a9\";\r\n}\r\n.wi-moon-21:before {\r\n content: \"\\f0aa\";\r\n}\r\n.wi-moon-22:before {\r\n content: \"\\f0ab\";\r\n}\r\n.wi-moon-23:before {\r\n content: \"\\f0ac\";\r\n}\r\n.wi-moon-24:before {\r\n content: \"\\f0ad\";\r\n}\r\n.wi-moon-25:before {\r\n content: \"\\f0ae\";\r\n}\r\n.wi-moon-26:before {\r\n content: \"\\f0af\";\r\n}\r\n.wi-moon-27:before {\r\n content: \"\\f0b0\";\r\n}\r\n.wi-time-1:before {\r\n content: \"\\f08a\";\r\n}\r\n.wi-time-2:before {\r\n content: \"\\f08b\";\r\n}\r\n.wi-time-3:before {\r\n content: \"\\f08c\";\r\n}\r\n.wi-time-4:before {\r\n content: \"\\f08d\";\r\n}\r\n.wi-time-5:before {\r\n content: \"\\f08e\";\r\n}\r\n.wi-time-6:before {\r\n content: \"\\f08f\";\r\n}\r\n.wi-time-7:before {\r\n content: \"\\f090\";\r\n}\r\n.wi-time-8:before {\r\n content: \"\\f091\";\r\n}\r\n.wi-time-9:before {\r\n content: \"\\f092\";\r\n}\r\n.wi-time-10:before {\r\n content: \"\\f093\";\r\n}\r\n.wi-time-11:before {\r\n content: \"\\f094\";\r\n}\r\n.wi-time-12:before {\r\n content: \"\\f089\";\r\n}\r\n.wi-direction-up:before {\r\n content: \"\\f058\";\r\n}\r\n.wi-direction-up-right:before {\r\n content: \"\\f057\";\r\n}\r\n.wi-direction-right:before {\r\n content: \"\\f04d\";\r\n}\r\n.wi-direction-down-right:before {\r\n content: \"\\f088\";\r\n}\r\n.wi-direction-down:before {\r\n content: \"\\f044\";\r\n}\r\n.wi-direction-down-left:before {\r\n content: \"\\f043\";\r\n}\r\n.wi-direction-left:before {\r\n content: \"\\f048\";\r\n}\r\n.wi-direction-up-left:before {\r\n content: \"\\f087\";\r\n}\r\n.wi-wind-beaufort-0:before {\r\n content: \"\\f0b7\";\r\n}\r\n.wi-wind-beaufort-1:before {\r\n content: \"\\f0b8\";\r\n}\r\n.wi-wind-beaufort-2:before {\r\n content: \"\\f0b9\";\r\n}\r\n.wi-wind-beaufort-3:before {\r\n content: \"\\f0ba\";\r\n}\r\n.wi-wind-beaufort-4:before {\r\n content: \"\\f0bb\";\r\n}\r\n.wi-wind-beaufort-5:before {\r\n content: \"\\f0bc\";\r\n}\r\n.wi-wind-beaufort-6:before {\r\n content: \"\\f0bd\";\r\n}\r\n.wi-wind-beaufort-7:before {\r\n content: \"\\f0be\";\r\n}\r\n.wi-wind-beaufort-8:before {\r\n content: \"\\f0bf\";\r\n}\r\n.wi-wind-beaufort-9:before {\r\n content: \"\\f0c0\";\r\n}\r\n.wi-wind-beaufort-10:before {\r\n content: \"\\f0c1\";\r\n}\r\n.wi-wind-beaufort-11:before {\r\n content: \"\\f0c2\";\r\n}\r\n.wi-wind-beaufort-12:before {\r\n content: \"\\f0c3\";\r\n}\r\n.wi-yahoo-0:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-yahoo-1:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-2:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-yahoo-3:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-yahoo-4:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-yahoo-5:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-6:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-7:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-8:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-9:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-10:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-11:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-12:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-13:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-14:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-yahoo-15:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-16:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-17:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-yahoo-18:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-19:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-yahoo-20:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-yahoo-21:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-yahoo-22:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-yahoo-23:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-yahoo-24:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-yahoo-25:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-yahoo-26:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-yahoo-27:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-yahoo-28:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-yahoo-29:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-yahoo-30:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-yahoo-31:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-yahoo-32:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-yahoo-33:before {\r\n content: \"\\f083\";\r\n}\r\n.wi-yahoo-34:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-yahoo-35:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-yahoo-36:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-yahoo-37:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-38:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-39:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-40:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-yahoo-41:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-42:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-43:before {\r\n content: \"\\f064\";\r\n}\r\n.wi-yahoo-44:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-yahoo-45:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-46:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-yahoo-47:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-yahoo-3200:before {\r\n content: \"\\f077\";\r\n}\r\n.wi-forecast-io-clear-day:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-forecast-io-clear-night:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-forecast-io-rain:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-forecast-io-snow:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-forecast-io-sleet:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-forecast-io-wind:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-forecast-io-fog:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-forecast-io-cloudy:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-forecast-io-partly-cloudy-day:before {\r\n content: \"\\f002\";\r\n}\r\n.wi-forecast-io-partly-cloudy-night:before {\r\n content: \"\\f031\";\r\n}\r\n.wi-forecast-io-hail:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-forecast-io-thunderstorm:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-forecast-io-tornado:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-wmo4680-0:before,\r\n.wi-wmo4680-00:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-wmo4680-1:before,\r\n.wi-wmo4680-01:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-wmo4680-2:before,\r\n.wi-wmo4680-02:before {\r\n content: \"\\f055\";\r\n}\r\n.wi-wmo4680-3:before,\r\n.wi-wmo4680-03:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-wmo4680-4:before,\r\n.wi-wmo4680-04:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-5:before,\r\n.wi-wmo4680-05:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-10:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-11:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-12:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-18:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-wmo4680-20:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-21:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-22:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-23:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-24:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-25:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-26:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-27:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-28:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-29:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-wmo4680-30:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-31:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-32:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-33:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-34:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-35:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-wmo4680-40:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-41:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-42:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-43:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-44:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-45:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-46:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-47:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-48:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-50:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-51:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-52:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-53:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-54:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-55:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-56:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-57:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-58:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-60:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-61:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-62:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-63:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-64:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-65:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-66:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-67:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-68:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-70:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-71:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-72:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-73:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-74:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-75:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-76:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-77:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-wmo4680-78:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-wmo4680-80:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-81:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-wmo4680-82:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-83:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-wmo4680-84:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-wmo4680-85:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-86:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-87:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-wmo4680-89:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-wmo4680-90:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-91:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-wmo4680-92:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-93:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-94:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-wmo4680-95:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-96:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-wmo4680-99:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-200:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-201:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-202:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-210:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-211:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-212:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-221:before {\r\n content: \"\\f016\";\r\n}\r\n.wi-owm-230:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-231:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-232:before {\r\n content: \"\\f01e\";\r\n}\r\n.wi-owm-300:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-301:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-302:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-310:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-311:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-312:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-313:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-314:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-321:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-500:before {\r\n content: \"\\f01c\";\r\n}\r\n.wi-owm-501:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-502:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-503:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-504:before {\r\n content: \"\\f019\";\r\n}\r\n.wi-owm-511:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-520:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-521:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-522:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-531:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-owm-600:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-601:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-602:before {\r\n content: \"\\f0b5\";\r\n}\r\n.wi-owm-611:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-612:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-615:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-616:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-620:before {\r\n content: \"\\f017\";\r\n}\r\n.wi-owm-621:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-622:before {\r\n content: \"\\f01b\";\r\n}\r\n.wi-owm-701:before {\r\n content: \"\\f01a\";\r\n}\r\n.wi-owm-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-741:before {\r\n content: \"\\f014\";\r\n}\r\n.wi-owm-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-771:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-800:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-owm-801:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-802:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-803:before {\r\n content: \"\\f011\";\r\n}\r\n.wi-owm-803:before {\r\n content: \"\\f012\";\r\n}\r\n.wi-owm-804:before {\r\n content: \"\\f013\";\r\n}\r\n.wi-owm-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-901:before {\r\n content: \"\\f01d\";\r\n}\r\n.wi-owm-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-905:before {\r\n content: \"\\f021\";\r\n}\r\n.wi-owm-906:before {\r\n content: \"\\f015\";\r\n}\r\n.wi-owm-957:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-owm-day-200:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-201:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-202:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-210:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-211:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-212:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-221:before {\r\n content: \"\\f005\";\r\n}\r\n.wi-owm-day-230:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-231:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-232:before {\r\n content: \"\\f010\";\r\n}\r\n.wi-owm-day-300:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-301:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-302:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-310:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-311:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-312:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-313:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-314:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-321:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-500:before {\r\n content: \"\\f00b\";\r\n}\r\n.wi-owm-day-501:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-502:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-503:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-504:before {\r\n content: \"\\f008\";\r\n}\r\n.wi-owm-day-511:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-520:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-521:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-522:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-531:before {\r\n content: \"\\f00e\";\r\n}\r\n.wi-owm-day-600:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-601:before {\r\n content: \"\\f0b2\";\r\n}\r\n.wi-owm-day-602:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-611:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-612:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-615:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-616:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-620:before {\r\n content: \"\\f006\";\r\n}\r\n.wi-owm-day-621:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-622:before {\r\n content: \"\\f00a\";\r\n}\r\n.wi-owm-day-701:before {\r\n content: \"\\f009\";\r\n}\r\n.wi-owm-day-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-day-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-day-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-741:before {\r\n content: \"\\f003\";\r\n}\r\n.wi-owm-day-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-day-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-day-800:before {\r\n content: \"\\f00d\";\r\n}\r\n.wi-owm-day-801:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-802:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-803:before {\r\n content: \"\\f000\";\r\n}\r\n.wi-owm-day-804:before {\r\n content: \"\\f00c\";\r\n}\r\n.wi-owm-day-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-day-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-day-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-day-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-day-906:before {\r\n content: \"\\f004\";\r\n}\r\n.wi-owm-day-957:before {\r\n content: \"\\f050\";\r\n}\r\n.wi-owm-night-200:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-201:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-202:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-210:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-211:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-212:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-221:before {\r\n content: \"\\f025\";\r\n}\r\n.wi-owm-night-230:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-231:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-232:before {\r\n content: \"\\f02d\";\r\n}\r\n.wi-owm-night-300:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-301:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-302:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-310:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-311:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-312:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-313:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-314:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-321:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-500:before {\r\n content: \"\\f02b\";\r\n}\r\n.wi-owm-night-501:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-502:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-503:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-504:before {\r\n content: \"\\f028\";\r\n}\r\n.wi-owm-night-511:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-520:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-521:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-522:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-531:before {\r\n content: \"\\f02c\";\r\n}\r\n.wi-owm-night-600:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-601:before {\r\n content: \"\\f0b4\";\r\n}\r\n.wi-owm-night-602:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-611:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-612:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-615:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-616:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-620:before {\r\n content: \"\\f026\";\r\n}\r\n.wi-owm-night-621:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-622:before {\r\n content: \"\\f02a\";\r\n}\r\n.wi-owm-night-701:before {\r\n content: \"\\f029\";\r\n}\r\n.wi-owm-night-711:before {\r\n content: \"\\f062\";\r\n}\r\n.wi-owm-night-721:before {\r\n content: \"\\f0b6\";\r\n}\r\n.wi-owm-night-731:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-741:before {\r\n content: \"\\f04a\";\r\n}\r\n.wi-owm-night-761:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-762:before {\r\n content: \"\\f063\";\r\n}\r\n.wi-owm-night-781:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-night-800:before {\r\n content: \"\\f02e\";\r\n}\r\n.wi-owm-night-801:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-802:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-803:before {\r\n content: \"\\f022\";\r\n}\r\n.wi-owm-night-804:before {\r\n content: \"\\f086\";\r\n}\r\n.wi-owm-night-900:before {\r\n content: \"\\f056\";\r\n}\r\n.wi-owm-night-902:before {\r\n content: \"\\f073\";\r\n}\r\n.wi-owm-night-903:before {\r\n content: \"\\f076\";\r\n}\r\n.wi-owm-night-904:before {\r\n content: \"\\f072\";\r\n}\r\n.wi-owm-night-906:before {\r\n content: \"\\f024\";\r\n}\r\n.wi-owm-night-957:before {\r\n content: \"\\f050\";\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Menu\r\n*/\r\nbody {\r\n padding-bottom: 61px;\r\n}\r\n.wrapper {\r\n margin-top: 145px;\r\n}\r\n.container {\r\n width: 95%;\r\n}\r\n.page-title {\r\n margin-bottom: 20px;\r\n margin-top: 0;\r\n}\r\n#topnav {\r\n position: fixed;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n z-index: 1030;\r\n background-color: transparent;\r\n border: 0;\r\n -webkit-transition: all .5s ease;\r\n transition: all .5s ease;\r\n min-height: 62px;\r\n}\r\n#topnav .has-submenu.active a {\r\n color: #3bafda;\r\n}\r\n#topnav .has-submenu.active a i {\r\n color: #3bafda;\r\n}\r\n#topnav .has-submenu.active .submenu li.active > a {\r\n color: #3bafda;\r\n}\r\n#topnav .topbar-main {\r\n background-color: #3bafda;\r\n}\r\n#topnav .topbar-main .logo {\r\n color: #ffffff !important;\r\n font-size: 18px;\r\n font-weight: 700;\r\n letter-spacing: .05em;\r\n margin-top: 9px;\r\n float: left;\r\n}\r\n#topnav .topbar-main .logo h1 {\r\n margin: 0px auto;\r\n text-align: center;\r\n}\r\n#topnav .topbar-main .logo i {\r\n color: #ffffff;\r\n}\r\n#topnav .topbar-main .badge {\r\n position: absolute;\r\n top: 12px;\r\n right: 7px;\r\n}\r\n#topnav .topbar-main .nav > li > a {\r\n color: #ffffff !important;\r\n line-height: 60px;\r\n padding: 0px 15px !important;\r\n position: relative;\r\n background: transparent !important;\r\n}\r\n#topnav .topbar-main .nav > li > a i {\r\n font-size: 16px;\r\n}\r\n#topnav .topbar-main .nav > li > a {\r\n padding: 0px 15px !important;\r\n}\r\n#topnav .topbar-main .navbar-nav > .open > a {\r\n background-color: rgba(255, 255, 255, 0.1) !important;\r\n}\r\n#topnav .topbar-main .profile img {\r\n border: 2px solid #edf0f0;\r\n height: 36px;\r\n width: 36px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg {\r\n width: 300px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .list-group {\r\n margin-bottom: 0px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .list-group-item {\r\n border: none;\r\n padding: 10px 20px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .media-heading {\r\n margin-bottom: 0px;\r\n}\r\n#topnav .topbar-main .dropdown-menu-lg .media-body p {\r\n color: #828282;\r\n}\r\n#topnav .topbar-main .notification-list {\r\n max-height: 230px;\r\n}\r\n#topnav .topbar-main .notification-list em {\r\n width: 34px;\r\n text-align: center;\r\n}\r\n#topnav .topbar-main .notification-list .media-body {\r\n display: inherit;\r\n width: auto;\r\n overflow: hidden;\r\n margin-left: 50px;\r\n}\r\n#topnav .topbar-main .notification-list .media-body h5 {\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n width: 100%;\r\n font-weight: normal;\r\n overflow: hidden;\r\n}\r\n#topnav .topbar-main .notifi-title {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n font-size: 15px;\r\n text-transform: uppercase;\r\n font-weight: 600;\r\n padding: 11px 20px 15px;\r\n font-family: 'Source Sans Pro', sans-serif;\r\n}\r\n#topnav .topbar-main .navbar-nav {\r\n margin: 0;\r\n}\r\n#topnav .app-search {\r\n position: relative;\r\n margin: 14px 20px 14px 10px;\r\n}\r\n#topnav .app-search a {\r\n position: absolute;\r\n top: 6px;\r\n right: 20px;\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search .form-control,\r\n#topnav .app-search .form-control:focus {\r\n border: none;\r\n font-size: 13px;\r\n color: #ffffff;\r\n padding-left: 20px;\r\n padding-right: 40px;\r\n background: rgba(255, 255, 255, 0.2);\r\n box-shadow: none;\r\n border-radius: 30px;\r\n height: 34px;\r\n width: 180px;\r\n}\r\n#topnav .app-search input::-webkit-input-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n font-weight: normal;\r\n}\r\n#topnav .app-search input:-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search input::-moz-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .app-search input:-ms-input-placeholder {\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .notifi-title {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n color: #ffffff;\r\n font-size: 16px;\r\n font-weight: 400;\r\n padding: 5px 0px 10px;\r\n}\r\n#topnav .notification-list em {\r\n width: 30px;\r\n text-align: center;\r\n height: 30px;\r\n line-height: 28px;\r\n border-radius: 50%;\r\n margin-top: 4px;\r\n}\r\n#topnav .notification-list .list-group-item {\r\n padding: 12px 20px;\r\n}\r\n#topnav .notification-list .media-body {\r\n display: inherit;\r\n width: auto;\r\n overflow: hidden;\r\n margin-left: 50px;\r\n}\r\n#topnav .notification-list .media-body h5 {\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n width: 100%;\r\n font-weight: normal;\r\n overflow: hidden;\r\n}\r\n#topnav .noti-primary {\r\n color: #3bafda;\r\n border: 2px solid #3bafda;\r\n}\r\n#topnav .noti-success {\r\n color: #00b19d;\r\n border: 2px solid #00b19d;\r\n}\r\n#topnav .noti-info {\r\n color: #3ddcf7;\r\n border: 2px solid #3ddcf7;\r\n}\r\n#topnav .noti-warning {\r\n color: #ffaa00;\r\n border: 2px solid #ffaa00;\r\n}\r\n#topnav .noti-danger {\r\n color: #ef5350;\r\n border: 2px solid #ef5350;\r\n}\r\n#topnav .noti-purple {\r\n color: #7266ba;\r\n border: 2px solid #7266ba;\r\n}\r\n#topnav .noti-pink {\r\n color: #f76397;\r\n border: 2px solid #f76397;\r\n}\r\n#topnav .noti-inverse {\r\n color: #4c5667;\r\n border: 2px solid #4c5667;\r\n}\r\n#topnav .navbar-custom {\r\n background-color: #323b44;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);\r\n}\r\n#topnav .navbar-toggle {\r\n border: 0;\r\n position: relative;\r\n width: 60px;\r\n height: 60px;\r\n padding: 0;\r\n margin: 0;\r\n cursor: pointer;\r\n}\r\n#topnav .navbar-toggle:hover {\r\n background-color: transparent;\r\n}\r\n#topnav .navbar-toggle:hover span {\r\n background-color: #ffffff;\r\n}\r\n#topnav .navbar-toggle:focus {\r\n background-color: transparent;\r\n}\r\n#topnav .navbar-toggle:focus span {\r\n background-color: #3bafda;\r\n}\r\n#topnav .navbar-toggle .lines {\r\n width: 25px;\r\n display: block;\r\n position: relative;\r\n margin: 23px auto 17px auto;\r\n height: 18px;\r\n}\r\n#topnav .navbar-toggle span {\r\n height: 2px;\r\n width: 100%;\r\n background-color: #ffffff;\r\n display: block;\r\n margin-bottom: 5px;\r\n -webkit-transition: -webkit-transform 0.5s ease;\r\n transition: -webkit-transform 0.5s ease;\r\n transition: transform .5s ease;\r\n}\r\n#topnav .navbar-toggle.open span {\r\n position: absolute;\r\n}\r\n#topnav .navbar-toggle.open span:first-child {\r\n top: 6px;\r\n -webkit-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n}\r\n#topnav .navbar-toggle.open span:nth-child(2) {\r\n visibility: hidden;\r\n}\r\n#topnav .navbar-toggle.open span:last-child {\r\n width: 100%;\r\n top: 6px;\r\n -webkit-transform: rotate(-45deg);\r\n transform: rotate(-45deg);\r\n}\r\n#topnav .navigation-menu {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n#topnav .navigation-menu > li {\r\n float: left;\r\n display: block;\r\n position: relative;\r\n}\r\n#topnav .navigation-menu > li > a {\r\n display: block;\r\n color: rgba(255, 255, 255, 0.7);\r\n font-weight: 500;\r\n -webkit-transition: all .3s ease;\r\n transition: all .3s ease;\r\n line-height: 20px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n}\r\n#topnav .navigation-menu > li > a:hover {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:hover i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:focus {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:focus i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:active {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a:active i {\r\n color: #3bafda;\r\n}\r\n#topnav .navigation-menu > li > a i {\r\n font-size: 18px;\r\n margin-right: 5px;\r\n color: rgba(255, 255, 255, 0.7);\r\n}\r\n#topnav .navigation-menu > li > a:hover,\r\n#topnav .navigation-menu > li > a:focus {\r\n background-color: transparent;\r\n}\r\n/*\r\n Responsive Menu\r\n*/\r\n@media (min-width: 101px) {\r\n #topnav .navigation-menu > li > a {\r\n padding-top: 22px;\r\n padding-bottom: 22px;\r\n }\r\n #topnav .navigation-menu > li.last-elements .submenu {\r\n left: auto;\r\n right: 0;\r\n }\r\n #topnav .navigation-menu > li.last-elements .submenu > li.has-submenu .submenu {\r\n left: auto;\r\n right: 100%;\r\n margin-left: 0;\r\n margin-right: 10px;\r\n }\r\n #topnav .navigation-menu > li:first-of-type a {\r\n padding-left: 0px;\r\n }\r\n #topnav .navigation-menu > li:hover a {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li:hover a i {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 1000;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n padding: 15px 0;\r\n list-style: none;\r\n min-width: 200px;\r\n visibility: hidden;\r\n opacity: 0;\r\n margin-top: 10px;\r\n -webkit-transition: all .2s ease;\r\n transition: all .2s ease;\r\n background-color: #272e35;\r\n box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu {\r\n white-space: nowrap;\r\n width: auto;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li {\r\n overflow: hidden;\r\n width: 200px;\r\n display: inline-block;\r\n vertical-align: top;\r\n }\r\n #topnav .navigation-menu > li .submenu > li.has-submenu > a:after {\r\n content: \"\\e649\";\r\n font-family: \"themify\";\r\n position: absolute;\r\n right: 20px;\r\n font-size: 9px;\r\n top: 15px;\r\n }\r\n #topnav .navigation-menu > li .submenu > li .submenu {\r\n left: 100%;\r\n top: 0;\r\n margin-left: 10px;\r\n margin-top: -1px;\r\n }\r\n #topnav .navigation-menu > li .submenu li {\r\n position: relative;\r\n }\r\n #topnav .navigation-menu > li .submenu li ul {\r\n list-style: none;\r\n padding-left: 0;\r\n margin: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu li a {\r\n display: block;\r\n padding: 8px 25px;\r\n clear: both;\r\n white-space: nowrap;\r\n color: rgba(255, 255, 255, 0.6);\r\n }\r\n #topnav .navigation-menu > li .submenu li a:hover {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu li span {\r\n display: block;\r\n padding: 8px 25px;\r\n clear: both;\r\n line-height: 1.42857143;\r\n white-space: nowrap;\r\n font-size: 10px;\r\n text-transform: uppercase;\r\n letter-spacing: 2px;\r\n font-weight: 500;\r\n color: #949ba1;\r\n }\r\n #topnav .navbar-toggle {\r\n display: none;\r\n }\r\n #topnav #navigation {\r\n display: block !important;\r\n }\r\n}\r\n@media (max-width: 100px) {\r\n .wrapper {\r\n margin-top: 80px;\r\n }\r\n .container {\r\n width: auto;\r\n }\r\n #topnav .navigation-menu {\r\n float: none;\r\n max-height: 400px;\r\n }\r\n #topnav .navigation-menu > li {\r\n float: none;\r\n }\r\n #topnav .navigation-menu > li > a {\r\n color: rgba(255, 255, 255, 0.7);\r\n padding: 15px;\r\n }\r\n #topnav .navigation-menu > li > a i {\r\n display: inline-block;\r\n margin-right: 10px;\r\n margin-bottom: 0px;\r\n }\r\n #topnav .navigation-menu > li > a:after {\r\n position: absolute;\r\n right: 15px;\r\n }\r\n #topnav .navigation-menu > li .submenu {\r\n display: none;\r\n list-style: none;\r\n padding-left: 20px;\r\n margin: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu li a {\r\n display: block;\r\n position: relative;\r\n padding: 7px 20px;\r\n color: rgba(255, 255, 255, 0.5);\r\n }\r\n #topnav .navigation-menu > li .submenu li a:hover {\r\n color: #3bafda;\r\n }\r\n #topnav .navigation-menu > li .submenu li.has-submenu > a:after {\r\n content: \"\\e64b\";\r\n font-family: \"themify\";\r\n position: absolute;\r\n right: 30px;\r\n }\r\n #topnav .navigation-menu > li .submenu.open {\r\n display: block;\r\n }\r\n #topnav .navigation-menu > li .submenu .submenu {\r\n display: none;\r\n list-style: none;\r\n }\r\n #topnav .navigation-menu > li .submenu .submenu.open {\r\n display: block;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li > ul {\r\n list-style: none;\r\n padding-left: 0;\r\n }\r\n #topnav .navigation-menu > li .submenu.megamenu > li > ul > li > span {\r\n display: block;\r\n position: relative;\r\n padding: 15px;\r\n text-transform: uppercase;\r\n font-size: 11px;\r\n letter-spacing: 2px;\r\n color: #79818a;\r\n }\r\n #topnav .navigation-menu > li.has-submenu.open > a {\r\n color: #3bafda;\r\n }\r\n #topnav .navbar-header {\r\n float: left;\r\n }\r\n #navigation {\r\n position: absolute;\r\n top: 60px;\r\n left: 0;\r\n width: 100%;\r\n display: none;\r\n height: auto;\r\n padding-bottom: 0;\r\n overflow: auto;\r\n border-top: 1px solid rgba(255, 255, 255, 0.5);\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.5);\r\n background-color: #323b44;\r\n }\r\n #navigation.open {\r\n display: block;\r\n overflow-y: auto;\r\n }\r\n}\r\n@media (min-width: 768px) {\r\n #topnav .navigation-menu > li.has-submenu:hover > .submenu {\r\n visibility: visible;\r\n opacity: 1;\r\n margin-top: 0;\r\n }\r\n #topnav .navigation-menu > li.has-submenu:hover > .submenu > li.has-submenu:hover > .submenu {\r\n visibility: visible;\r\n opacity: 1;\r\n margin-left: 0;\r\n margin-right: 0;\r\n }\r\n .navbar-toggle {\r\n display: block;\r\n }\r\n}\r\n/* Footer */\r\n.footer {\r\n border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n bottom: 0px;\r\n color: #58666e;\r\n text-align: left !important;\r\n padding: 20px 0px;\r\n position: absolute;\r\n right: 0px;\r\n left: 0px;\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/* ===========\r\n Core file List\r\n\r\n - Timeline\r\n - Timeline-2\r\n - Sweet Alerts\r\n - Notification\r\n - Nestable list\r\n - Maps\r\n - Email\r\n - Form Advanced\r\n - Charts\r\n - Maintenance\r\n - Countdown\r\n - Gallery\r\n - Tree view\r\n - Pricing\r\n - FAQ\r\n\r\n =============*/\r\n/* ===========\r\n Timeline\r\n =============*/\r\n.timeline {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n display: table;\r\n margin-bottom: 50px;\r\n position: relative;\r\n table-layout: fixed;\r\n width: 100%;\r\n}\r\n.timeline .time-show {\r\n margin-bottom: 30px;\r\n margin-right: -75px;\r\n margin-top: 30px;\r\n position: relative;\r\n}\r\n.timeline .time-show a {\r\n color: #ffffff;\r\n}\r\n.timeline:before {\r\n background-color: #98a6ad;\r\n bottom: 0px;\r\n content: \"\";\r\n left: 50%;\r\n position: absolute;\r\n top: 30px;\r\n width: 1px;\r\n z-index: 0;\r\n}\r\n.timeline .timeline-icon {\r\n -webkit-border-radius: 50%;\r\n background: #98a6ad;\r\n border-radius: 50%;\r\n border: 1px solid #98a6ad;\r\n color: #ffffff;\r\n display: block;\r\n height: 20px;\r\n left: -54px;\r\n margin-top: -10px;\r\n position: absolute;\r\n text-align: center;\r\n top: 50%;\r\n width: 20px;\r\n}\r\n.timeline .timeline-icon i {\r\n margin-top: 9px;\r\n}\r\n.timeline .time-icon:before {\r\n font-size: 16px;\r\n margin-top: 5px;\r\n}\r\nh3.timeline-title {\r\n color: #c8ccd7;\r\n font-size: 20px;\r\n font-weight: 400;\r\n margin: 0 0 5px;\r\n text-transform: uppercase;\r\n}\r\n.timeline-item {\r\n display: table-row;\r\n}\r\n.timeline-item:before {\r\n content: \"\";\r\n display: block;\r\n width: 50%;\r\n}\r\n.timeline-item .timeline-desk .arrow {\r\n border-bottom: 8px solid transparent;\r\n border-right: 8px solid #272e35 !important;\r\n border-top: 8px solid transparent;\r\n display: block;\r\n height: 0;\r\n left: -7px;\r\n margin-top: -10px;\r\n position: absolute;\r\n top: 50%;\r\n width: 0;\r\n}\r\n.timeline-item.alt:after {\r\n content: \"\";\r\n display: block;\r\n width: 50%;\r\n}\r\n.timeline-item.alt .timeline-desk .arrow-alt {\r\n border-bottom: 8px solid transparent;\r\n border-left: 8px solid #272e35 !important;\r\n border-top: 8px solid transparent;\r\n display: block;\r\n height: 0;\r\n left: auto;\r\n margin-top: -10px;\r\n position: absolute;\r\n right: -7px;\r\n top: 50%;\r\n width: 0;\r\n}\r\n.timeline-item.alt .timeline-desk .album {\r\n float: right;\r\n margin-top: 20px;\r\n}\r\n.timeline-item.alt .timeline-desk .album a {\r\n float: right;\r\n margin-left: 5px;\r\n}\r\n.timeline-item.alt .timeline-icon {\r\n left: auto;\r\n right: -56px;\r\n}\r\n.timeline-item.alt:before {\r\n display: none;\r\n}\r\n.timeline-item.alt .panel {\r\n margin-left: 0;\r\n margin-right: 45px;\r\n}\r\n.timeline-item.alt .panel .panel-body p + p {\r\n margin-top: 10px !important;\r\n}\r\n.timeline-item.alt h4 {\r\n text-align: right;\r\n}\r\n.timeline-item.alt p {\r\n text-align: right;\r\n}\r\n.timeline-item.alt .timeline-date {\r\n text-align: right;\r\n}\r\n.timeline-desk {\r\n display: table-cell;\r\n vertical-align: top;\r\n width: 50%;\r\n}\r\n.timeline-desk h4 {\r\n font-size: 16px;\r\n font-weight: 300;\r\n margin: 0;\r\n}\r\n.timeline-desk .panel {\r\n background: #272e35;\r\n display: block;\r\n margin-bottom: 5px;\r\n margin-left: 45px;\r\n position: relative;\r\n text-align: left;\r\n}\r\n.timeline-desk h5 span {\r\n color: #797979;\r\n display: block;\r\n font-size: 12px;\r\n margin-bottom: 4px;\r\n}\r\n.timeline-desk p {\r\n color: #98a6ad;\r\n font-size: 14px;\r\n margin-bottom: 0;\r\n}\r\n.timeline-desk .album {\r\n margin-top: 12px;\r\n}\r\n.timeline-desk .album a {\r\n float: left;\r\n margin-right: 5px;\r\n}\r\n.timeline-desk .album img {\r\n height: 36px;\r\n width: auto;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.timeline-desk .notification {\r\n background: none repeat scroll 0 0 #ffffff;\r\n margin-top: 20px;\r\n padding: 8px;\r\n}\r\n/* ===========\r\n Timeline-2\r\n =============*/\r\n.timeline-2 {\r\n border-left: 2px solid #3bafda;\r\n position: relative;\r\n}\r\n.timeline-2 .time-item:after {\r\n background-color: #ffffff;\r\n border-color: #3bafda;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-width: 2px;\r\n bottom: 0;\r\n content: '';\r\n height: 10px;\r\n left: 0;\r\n margin-left: -6px;\r\n position: absolute;\r\n top: 5px;\r\n width: 10px;\r\n}\r\n.time-item {\r\n border-color: #dee5e7;\r\n padding-bottom: 10px;\r\n position: relative;\r\n}\r\n.time-item:before {\r\n content: \" \";\r\n display: table;\r\n}\r\n.time-item:after {\r\n background-color: #ffffff;\r\n border-color: #3bafda;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-width: 2px;\r\n bottom: 0;\r\n content: '';\r\n height: 14px;\r\n left: 0;\r\n margin-left: -8px;\r\n position: absolute;\r\n top: 5px;\r\n width: 14px;\r\n}\r\n.time-item-item:after {\r\n content: \" \";\r\n display: table;\r\n}\r\n.item-info {\r\n margin-bottom: 15px;\r\n margin-left: 15px;\r\n}\r\n.item-info p {\r\n font-size: 13px;\r\n}\r\n/* ===========\r\n Sweet Alert\r\n =============*/\r\n.sweet-alert h2 {\r\n font-size: 22px;\r\n color: #323b44;\r\n}\r\n.sweet-alert p {\r\n font-size: 14px;\r\n line-height: 22px;\r\n}\r\n.sweet-alert .icon.success .placeholder {\r\n border: 4px solid rgba(0, 177, 157, 0.3);\r\n}\r\n.sweet-alert .icon.success .line {\r\n background-color: #00b19d;\r\n}\r\n.sweet-alert .icon.warning {\r\n border-color: #ffaa00;\r\n}\r\n.sweet-alert .icon.info {\r\n border-color: #3ddcf7;\r\n}\r\n.sweet-alert .btn-warning:focus,\r\n.sweet-alert .btn-info:focus,\r\n.sweet-alert .btn-success:focus,\r\n.sweet-alert .btn-danger:focus,\r\n.sweet-alert .btn-default:focus {\r\n box-shadow: none;\r\n}\r\n/* =============\r\n Notification\r\n============= */\r\n.notifyjs-metro-base {\r\n position: relative;\r\n min-height: 52px;\r\n min-width: 250px;\r\n color: #444;\r\n border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);\r\n -webkit-animation: dropdownOpen 0.3s ease-out;\r\n -o-animation: dropdownOpen 0.3s ease-out;\r\n animation: dropdownOpen 0.3s ease-out;\r\n}\r\n.notifyjs-metro-base .image {\r\n display: table;\r\n position: absolute;\r\n height: auto;\r\n width: auto;\r\n left: 25px;\r\n top: 50%;\r\n font-size: 24px;\r\n -moz-transform: translate(-50%, -50%);\r\n -ms-transform: translate(-50%, -50%);\r\n -o-transform: translate(-50%, -50%);\r\n -webkit-transform: translate(-50%, -50%);\r\n transform: translate(-50%, -50%);\r\n}\r\n.notifyjs-metro-base .text-wrapper {\r\n display: inline-block;\r\n vertical-align: top;\r\n text-align: left;\r\n margin: 10px 10px 10px 52px;\r\n clear: both;\r\n}\r\n.notifyjs-metro-base .title {\r\n font-size: 15px;\r\n line-height: 20px;\r\n margin-bottom: 5px;\r\n font-weight: bold;\r\n}\r\n.notifyjs-metro-base .text {\r\n font-size: 12px;\r\n font-weight: normal;\r\n max-width: 360px;\r\n vertical-align: middle;\r\n}\r\n.notifyjs-metro-cool {\r\n color: #fafafa !important;\r\n background-color: #4A525F;\r\n border: 1px solid #4A525F;\r\n}\r\n/* =============\r\n Nestable\r\n============= */\r\n.custom-dd .dd-list .dd-item .dd-handle {\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n border: none;\r\n padding: 8px 16px;\r\n height: auto;\r\n font-weight: 600;\r\n color: #98a6ad;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.custom-dd .dd-list .dd-item .dd-handle:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd .dd-list .dd-item button {\r\n height: auto;\r\n font-size: 17px;\r\n margin: 8px auto;\r\n color: #98a6ad;\r\n width: 30px;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle {\r\n border: none;\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n height: 36px;\r\n width: 36px;\r\n color: #98a6ad;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle:before {\r\n top: 7px;\r\n}\r\n.custom-dd-empty .dd-list .dd3-handle:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd-empty .dd-list .dd3-content {\r\n height: auto;\r\n border: none;\r\n color: #98a6ad;\r\n padding: 8px 16px 8px 46px;\r\n background: rgba(152, 166, 173, 0.25) !important;\r\n font-weight: 600;\r\n}\r\n.custom-dd-empty .dd-list .dd3-content:hover {\r\n color: #3bafda;\r\n}\r\n.custom-dd-empty .dd-list button {\r\n width: 26px;\r\n height: 26px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n}\r\n/* ===========\r\n Maps\r\n =============*/\r\n.gmaps,\r\n.gmaps-panaroma {\r\n height: 300px;\r\n background: #eeeeee;\r\n border-radius: 3px;\r\n}\r\n.gmaps-overlay {\r\n display: block;\r\n text-align: center;\r\n color: #ffffff;\r\n font-size: 16px;\r\n line-height: 40px;\r\n background: #3bafda;\r\n border-radius: 4px;\r\n padding: 10px 20px;\r\n}\r\n.gmaps-overlay_arrow {\r\n left: 50%;\r\n margin-left: -16px;\r\n width: 0;\r\n height: 0;\r\n position: absolute;\r\n}\r\n.gmaps-overlay_arrow.above {\r\n bottom: -15px;\r\n border-left: 16px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-top: 16px solid #3bafda;\r\n}\r\n.gmaps-overlay_arrow.below {\r\n top: -15px;\r\n border-left: 16px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 16px solid #3bafda;\r\n}\r\n/* =============\r\n Email\r\n============= */\r\n.mails a {\r\n color: #98a6ad;\r\n}\r\n.mails td {\r\n vertical-align: middle !important;\r\n position: relative;\r\n}\r\n.mails td:last-of-type {\r\n width: 100px;\r\n padding-right: 20px;\r\n}\r\n.mails tr:hover .text-white {\r\n display: none;\r\n}\r\n.mails .mail-select {\r\n padding: 12px 20px;\r\n min-width: 134px;\r\n}\r\n.mails .checkbox {\r\n margin-bottom: 0px;\r\n margin-top: 0px;\r\n vertical-align: middle;\r\n display: inline-block;\r\n height: 17px;\r\n}\r\n.mails .checkbox label {\r\n min-height: 16px;\r\n}\r\n.mail-list .list-group-item {\r\n background-color: transparent !important;\r\n}\r\n.mail-list .list-group-item:hover {\r\n background-color: #eeeeee;\r\n}\r\n.mail-list .list-group-item:focus {\r\n background-color: #eeeeee;\r\n}\r\n.mail-list .list-group-item.active {\r\n background-color: #3bafda !important;\r\n color: #4c5667;\r\n font-weight: 600;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n}\r\n.unread a {\r\n font-weight: 600;\r\n color: rgba(238, 238, 238, 0.7);\r\n}\r\n/* =============\r\n Form Advanced\r\n============= */\r\n.bootstrap-tagsinput {\r\n box-shadow: none;\r\n background-color: transparent;\r\n padding: 3px 7px 6px;\r\n border: 2px solid rgba(238, 238, 238, 0.3);\r\n}\r\n.bootstrap-tagsinput .label-info {\r\n background-color: #3bafda !important;\r\n display: inline-block;\r\n padding: 5px;\r\n}\r\n/* Multiple */\r\n.ms-container {\r\n background: transparent url('../images/multiple-arrow.png') no-repeat 50% 50%;\r\n}\r\n.ms-container .ms-list {\r\n box-shadow: none;\r\n border: 2px solid rgba(255, 255, 255, 0.2);\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n border: 2px solid rgba(255, 255, 255, 0.3);\r\n}\r\n.ms-container .ms-selectable li.ms-elem-selectable {\r\n border: none;\r\n padding: 5px 10px;\r\n}\r\n.ms-container .ms-selection li.ms-elem-selection {\r\n border: none;\r\n padding: 5px 10px;\r\n}\r\n.ms-selectable {\r\n box-shadow: none;\r\n outline: none !important;\r\n}\r\n.ms-container .ms-list.ms-focus {\r\n box-shadow: none;\r\n}\r\n.ms-container .ms-selectable li.ms-hover {\r\n background-color: #3bafda;\r\n color: #ffffff !important;\r\n}\r\n.ms-container .ms-selection li.ms-hover {\r\n background-color: #3bafda;\r\n color: #ffffff !important;\r\n}\r\n.ms-container .ms-selectable,\r\n.ms-container .ms-selection {\r\n background-color: transparent;\r\n}\r\n.ms-container .ms-selectable li.ms-elem-selectable,\r\n.ms-container .ms-selection li.ms-elem-selection {\r\n color: #98a6ad;\r\n}\r\n/* Select2 */\r\n.select2-container .select2-choice {\r\n background-image: none !important;\r\n border: none !important;\r\n height: auto !important;\r\n padding: 0px !important;\r\n line-height: 22px !important;\r\n background-color: transparent !important;\r\n box-shadow: none !important;\r\n color: #ffffff;\r\n}\r\n.select2-container .select2-choice .select2-arrow {\r\n background-image: none !important;\r\n background: transparent;\r\n border: none;\r\n width: 14px;\r\n top: -2px;\r\n}\r\n.select2-container .select2-container-multi.form-control {\r\n height: auto;\r\n}\r\n.select2-results .select2-highlighted {\r\n color: #ffffff;\r\n background-color: #3bafda;\r\n}\r\n.select2-drop-active {\r\n border: 1px solid #e3e3e3 !important;\r\n padding-top: 5px;\r\n -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);\r\n}\r\n.select2-search input {\r\n border: 1px solid #e3e3e3;\r\n}\r\n.select2-container-multi {\r\n width: 100%;\r\n}\r\n.select2-container-multi .select2-choices {\r\n border: 2px solid rgba(255, 255, 255, 0.2) !important;\r\n box-shadow: none !important;\r\n background: transparent !important;\r\n background-image: none !important;\r\n -webkit-border-radius: 4px !important;\r\n border-radius: 4px !important;\r\n -moz-border-radius: 4px !important;\r\n background-clip: padding-box !important;\r\n min-height: 38px;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-choice {\r\n padding: 6px 8px 7px 19px;\r\n margin: 5px 0 3px 5px;\r\n color: #ffffff;\r\n background: rgba(255, 255, 255, 0.2);\r\n border: none;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-field input {\r\n padding: 7px 7px 7px 10px;\r\n font-family: inherit;\r\n}\r\n.select2-container-multi .select2-choices .select2-search-choice-close {\r\n top: 6px;\r\n}\r\n/* Wysiwig */\r\n.mce-tinymce {\r\n background-color: transparent !important;\r\n}\r\n.mce-content-body p {\r\n color: #9398a0;\r\n font-size: 14px;\r\n font-weight: 300;\r\n}\r\n.mce-popover .mce-arrow:after {\r\n border-bottom-color: red;\r\n}\r\n.mce-popover .mce-colorbutton-grid {\r\n margin: 0px;\r\n border: 1px solid #d7dce5 !important;\r\n padding: 4px;\r\n}\r\n.mce-reset .mce-window-head {\r\n border-bottom: 1px solid #d7dce5;\r\n}\r\n.mce-reset .mce-window-head .mce-title {\r\n color: #707780;\r\n font-size: 16px;\r\n font-weight: 400;\r\n}\r\n.mce-reset .mce-textbox {\r\n border-radius: 0px;\r\n box-shadow: none;\r\n outline: 0;\r\n border-color: #d7dce5;\r\n height: 30px;\r\n font-weight: 300;\r\n line-height: 30px;\r\n color: #aaaaaa;\r\n font-size: 14px;\r\n}\r\n.mce-reset .mce-textbox:focus {\r\n box-shadow: none;\r\n border-color: #3bafda;\r\n}\r\n.mce-reset .mce-checkbox .mce-ico {\r\n background-image: none;\r\n background-color: #ffffff;\r\n border-radius: 0px;\r\n border: 1px solid #d7dce5;\r\n}\r\n.mce-reset .mce-checkbox .mce-label {\r\n color: #707780;\r\n font-size: 12px;\r\n font-weight: 400;\r\n}\r\n.mce-container {\r\n border-radius: 0px !important;\r\n border-width: 0px !important;\r\n}\r\n.mce-container .mce-menubar {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n padding: 2px;\r\n}\r\n.mce-container .mce-menubar .mce-btn button span {\r\n color: #707780;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: capitalize;\r\n}\r\n.mce-container .mce-menubar .mce-btn button .mce-caret {\r\n border-top-color: #ffffff;\r\n}\r\n.mce-caret {\r\n border-top: 4px solid #ffffff !important;\r\n}\r\n.mce-menubar .mce-menubtn:hover,\r\n.mce-menubar .mce-menubtn.mce-active,\r\n.mce-menubar .mce-menubtn:focus {\r\n background-color: transparent !important;\r\n}\r\n.mce-container .mce-menubar .mce-btn button:hover {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n}\r\n.mce-container .mce-menubar .mce-btn.mce-active button {\r\n background-color: #e8ebf1;\r\n}\r\n.mce-container .mce-btn {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n background-image: none;\r\n outline: 0;\r\n border: 0px;\r\n border-radius: 0px;\r\n}\r\n.mce-container .mce-btn button {\r\n color: #ffffff !important;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-shadow: none;\r\n padding: 5px 10px;\r\n}\r\n.mce-container .mce-primary {\r\n background-color: #3bafda;\r\n background-image: none;\r\n outline: 0;\r\n border: 0px;\r\n border-radius: 0px;\r\n}\r\n.mce-container .mce-primary button {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-shadow: none;\r\n}\r\n.mce-container .mce-primary:hover {\r\n background-color: #0c7cd5;\r\n background-image: none;\r\n}\r\n.mce-container .mce-toolbar-grp {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n border-top-width: 0px !important;\r\n padding: 6px;\r\n}\r\n.mce-container .mce-btn-group .mce-btn:hover,\r\n.mce-container .mce-btn-group .mce-btn:focus {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n color: #323b44;\r\n}\r\n.mce-stack-layout-item body {\r\n background-color: transparent !important;\r\n}\r\ndiv.mce-edit-area {\r\n background: transparent !important;\r\n}\r\n.mce-btn.mce-active button,\r\n.mce-btn.mce-active:hover button {\r\n color: #323b44 !important;\r\n}\r\n.mce-container .mce-statusbar {\r\n background-color: rgba(255, 255, 255, 0.2) !important;\r\n border: none !important;\r\n}\r\n.mce-container .mce-statusbar .mce-path .mce-path-item {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n.mce-container .mce-widget {\r\n color: #ffffff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n border-left: 1px solid transparent;\r\n}\r\n.mce-container .mce-btn-group {\r\n border: none;\r\n}\r\n.mce-container .mce-btn-group .mce-btn {\r\n box-shadow: none;\r\n background-image: none;\r\n border-width: 0px;\r\n border-radius: 0px !important;\r\n}\r\n.mce-container .mce-btn-group .mce-btn:hover,\r\n.mce-container .mce-btn-group .mce-btn:focus {\r\n box-shadow: none;\r\n background-image: none;\r\n background-color: #ffffff;\r\n}\r\n.mce-container .mce-btn-group .mce-btn button span {\r\n color: #707780;\r\n font-size: 14px;\r\n font-weight: 300;\r\n}\r\n.mce-container .mce-btn-group .mce-btn button .mce-caret {\r\n color: #ffffff;\r\n font-size: 14px;\r\n}\r\n.mce-container .mce-ico {\r\n color: #ffffff;\r\n font-size: 14px;\r\n}\r\n.mce-container .mce-panel {\r\n background-image: none;\r\n}\r\n.mce-container.mce-menu {\r\n border: 1px solid #d7dce5 !important;\r\n}\r\n.mce-container.mce-menu .mce-menu-item {\r\n background-image: none;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-ico {\r\n color: #3bafda;\r\n font-size: 14px;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-text {\r\n color: #707780 !important;\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: capitalize;\r\n}\r\n.mce-container.mce-menu .mce-menu-item .mce-menu-shortcut {\r\n color: #aaaaaa;\r\n font-size: 12px;\r\n font-weight: 300;\r\n text-transform: capitalize;\r\n}\r\n.mce-container.mce-menu .mce-menu-item:hover,\r\n.mce-container.mce-menu .mce-menu-item:focus,\r\n.mce-container.mce-menu .mce-menu-item.mce-selected {\r\n background-color: #3bafda;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled .mce-menu-shortcut {\r\n color: #aaaaaa;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected {\r\n background-color: #d7dce5;\r\n}\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-ico,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-text,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:hover .mce-menu-shortcut,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled:focus .mce-menu-shortcut,\r\n.mce-container.mce-menu .mce-menu-item.mce-disabled.mce-selected .mce-menu-shortcut {\r\n color: #ffffff;\r\n}\r\n.mce-container.mce-menu .mce-menu-item-sep {\r\n background-color: #d7dce5;\r\n}\r\n.mce-container.mce-menu .mce-menu-item-sep:hover {\r\n background-color: #d7dce5;\r\n}\r\n.mce-menubtn button {\r\n color: #323b44 !important;\r\n}\r\n.mce-menu-item-normal.mce-active {\r\n background-color: #3bafda !important;\r\n}\r\n.mce-menu-item-normal.mce-active .mce-text {\r\n color: #ffffff !important;\r\n}\r\n/* Time picker */\r\n.bootstrap-timepicker-widget table td input {\r\n border: none;\r\n font-size: 16px;\r\n font-weight: 500;\r\n background-color: transparent;\r\n}\r\n.bootstrap-timepicker-widget table td a {\r\n color: rgba(238, 238, 238, 0.2);\r\n}\r\n/* =============\r\n Charts\r\n============= */\r\n.morris-hover.morris-default-style {\r\n border-radius: 5px;\r\n padding: 10px 12px;\r\n background-color: #f5f5f5;\r\n border: none;\r\n color: #323b44 !important;\r\n}\r\n.morris-hover.morris-default-style .morris-hover-point {\r\n color: #323b44 !important;\r\n}\r\n.chart-detail-list li {\r\n margin: 0px 10px;\r\n}\r\n.chart-detail-list li h5 {\r\n font-size: 15px;\r\n}\r\n.pieLabel div {\r\n font-size: 14px !important;\r\n}\r\n.jqstooltip {\r\n -webkit-box-sizing: content-box;\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box;\r\n}\r\n.chart {\r\n position: relative;\r\n display: inline-block;\r\n width: 110px;\r\n height: 110px;\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n text-align: center;\r\n}\r\n.chart canvas {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n.chart.chart-widget-pie {\r\n margin-top: 5px;\r\n margin-bottom: 5px;\r\n}\r\n.percent {\r\n display: inline-block;\r\n line-height: 110px;\r\n z-index: 2;\r\n font-weight: 600;\r\n font-size: 18px;\r\n color: #797979;\r\n}\r\n.percent:after {\r\n content: '%';\r\n margin-left: 0.1em;\r\n font-size: .8em;\r\n}\r\n/* Flot chart */\r\n#flotTip {\r\n padding: 8px 12px;\r\n background-color: #f5f5f5;\r\n border: 1px solid rgba(50, 59, 68, 0.1);\r\n z-index: 100;\r\n color: #323b44;\r\n font-weight: 500;\r\n opacity: 0.9;\r\n font-size: 13px;\r\n -webkit-border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n border-radius: 3px;\r\n}\r\n.legend tr {\r\n height: 20px;\r\n}\r\n.legendLabel {\r\n padding-left: 5px !important;\r\n line-height: 10px;\r\n padding-right: 10px;\r\n}\r\n.legend div:first-of-type {\r\n background-color: transparent !important;\r\n}\r\n.flot-tick-label {\r\n color: #ffffff !important;\r\n}\r\n/* Chartist chart */\r\n.ct-golden-section:before {\r\n float: none;\r\n}\r\n.ct-grid {\r\n stroke: rgba(255, 255, 255, 0.1);\r\n}\r\n.ct-chart {\r\n max-height: 300px;\r\n}\r\n.ct-chart .ct-label {\r\n fill: #a3afb7;\r\n color: #a3afb7;\r\n font-size: 12px;\r\n line-height: 1;\r\n}\r\n.ct-chart.simple-pie-chart-chartist .ct-label {\r\n color: #ffffff;\r\n fill: #ffffff;\r\n font-size: 16px;\r\n}\r\n.ct-chart .ct-series.ct-series-a .ct-bar,\r\n.ct-chart .ct-series.ct-series-a .ct-line,\r\n.ct-chart .ct-series.ct-series-a .ct-point,\r\n.ct-chart .ct-series.ct-series-a .ct-slice-donut {\r\n stroke: #3bafda;\r\n}\r\n.ct-chart .ct-series.ct-series-b .ct-bar,\r\n.ct-chart .ct-series.ct-series-b .ct-line,\r\n.ct-chart .ct-series.ct-series-b .ct-point,\r\n.ct-chart .ct-series.ct-series-b .ct-slice-donut {\r\n stroke: #f76397;\r\n}\r\n.ct-chart .ct-series.ct-series-c .ct-bar,\r\n.ct-chart .ct-series.ct-series-c .ct-line,\r\n.ct-chart .ct-series.ct-series-c .ct-point,\r\n.ct-chart .ct-series.ct-series-c .ct-slice-donut {\r\n stroke: #00b19d;\r\n}\r\n.ct-chart .ct-series.ct-series-d .ct-bar,\r\n.ct-chart .ct-series.ct-series-d .ct-line,\r\n.ct-chart .ct-series.ct-series-d .ct-point,\r\n.ct-chart .ct-series.ct-series-d .ct-slice-donut {\r\n stroke: #3ddcf7;\r\n}\r\n.ct-chart .ct-series.ct-series-e .ct-bar,\r\n.ct-chart .ct-series.ct-series-e .ct-line,\r\n.ct-chart .ct-series.ct-series-e .ct-point,\r\n.ct-chart .ct-series.ct-series-e .ct-slice-donut {\r\n stroke: #797979;\r\n}\r\n.ct-chart .ct-series.ct-series-f .ct-bar,\r\n.ct-chart .ct-series.ct-series-f .ct-line,\r\n.ct-chart .ct-series.ct-series-f .ct-point,\r\n.ct-chart .ct-series.ct-series-f .ct-slice-donut {\r\n stroke: #7266ba;\r\n}\r\n.ct-chart .ct-series.ct-series-g .ct-bar,\r\n.ct-chart .ct-series.ct-series-g .ct-line,\r\n.ct-chart .ct-series.ct-series-g .ct-point,\r\n.ct-chart .ct-series.ct-series-g .ct-slice-donut {\r\n stroke: #ffaa00;\r\n}\r\n.ct-series-a .ct-area,\r\n.ct-series-a .ct-slice-pie {\r\n fill: #3bafda;\r\n}\r\n.ct-series-b .ct-area,\r\n.ct-series-b .ct-slice-pie {\r\n fill: #f76397;\r\n}\r\n.ct-series-c .ct-area,\r\n.ct-series-c .ct-slice-pie {\r\n fill: #00b19d;\r\n}\r\n.ct-series-d .ct-area,\r\n.ct-series-d .ct-slice-pie {\r\n fill: #3ddcf7;\r\n}\r\n/* Sparkline chart */\r\n.jqstooltip {\r\n background-color: #36404a !important;\r\n padding: 5px 10px !important;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n -moz-border-radius: 3px;\r\n background-clip: padding-box;\r\n border-color: #36404a !important;\r\n}\r\n.jqsfield {\r\n font-size: 12px !important;\r\n line-height: 18px !important;\r\n}\r\n/* Circliful charts */\r\n.circliful-chart {\r\n margin: 0px auto;\r\n}\r\n.circle-text,\r\n.circle-info,\r\n.circle-text-half,\r\n.circle-info-half {\r\n font-size: 12px;\r\n font-weight: 600;\r\n}\r\n/* Nvd3 Chart */\r\n.nvd3 text {\r\n fill: #98a6ad;\r\n}\r\n.nvd3 .nv-axis line,\r\n.nvd3 .nv-axis path {\r\n stroke: #2c333b;\r\n}\r\n.nvd3 .nv-discretebar .nv-groups text,\r\n.nvd3 .nv-multibarHorizontal .nv-groups text {\r\n fill: rgba(255, 255, 255, 0.8);\r\n}\r\n.multi-chart .nv-legend-symbol {\r\n fill: #ffffff !important;\r\n fill-opacity: 0;\r\n stroke: #ffffff !important;\r\n}\r\n/* ===========\r\n Count Down\r\n =============*/\r\n.home-wrapper {\r\n margin: 10% 0px;\r\n}\r\n.app-countdown {\r\n margin-top: 40px;\r\n text-align: center;\r\n}\r\n.app-countdown div {\r\n display: inline-block;\r\n}\r\n.app-countdown div span {\r\n display: block;\r\n width: 150px;\r\n}\r\n.app-countdown div span:first-child {\r\n font-size: 3em;\r\n font-weight: 700;\r\n height: 48px;\r\n line-height: 48px;\r\n}\r\n.app-countdown div span:last-child {\r\n color: #333333;\r\n font-size: 0.9em;\r\n height: 25px;\r\n line-height: 25px;\r\n}\r\n.app-countdown > * {\r\n text-align: center;\r\n}\r\n/* ===========\r\n Gallery\r\n =============*/\r\n.portfolioFilter a {\r\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -moz-transition: all 0.3s ease-out;\r\n -ms-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n -webkit-transition: all 0.3s ease-out;\r\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);\r\n color: #98a6ad;\r\n padding: 5px 10px;\r\n display: inline-block;\r\n transition: all 0.3s ease-out;\r\n}\r\n.portfolioFilter a:hover {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.portfolioFilter a.current {\r\n background-color: #3bafda;\r\n color: #ffffff;\r\n}\r\n.thumb {\r\n background-color: #272e35;\r\n border-radius: 3px;\r\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n margin-top: 30px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n width: 100%;\r\n}\r\n.thumb-img {\r\n border-radius: 2px;\r\n overflow: hidden;\r\n width: 100%;\r\n}\r\n.gal-detail h4 {\r\n margin: 16px auto 10px auto;\r\n width: 80%;\r\n white-space: nowrap;\r\n display: block;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n.gal-detail .ga-border {\r\n height: 3px;\r\n width: 40px;\r\n background-color: #3bafda;\r\n margin: 10px auto;\r\n}\r\n/* ===========\r\n Maintenance\r\n =============*/\r\n.icon-main {\r\n font-size: 60px;\r\n}\r\n.maintenance-page {\r\n margin: 10% 0%;\r\n}\r\n.home-text {\r\n letter-spacing: 1px;\r\n}\r\n/* ===========\r\n Accounts\r\n =============*/\r\n.wrapper-page {\r\n margin: 7.5% auto;\r\n width: 360px;\r\n}\r\n.wrapper-page .form-control {\r\n height: 40px;\r\n padding-left: 40px;\r\n}\r\n.wrapper-page .form-control-feedback {\r\n left: 15px;\r\n top: 3px;\r\n color: rgba(255, 255, 255, 0.4);\r\n font-size: 20px;\r\n}\r\n.wrapper-page .btn-email {\r\n padding: 9px 20px;\r\n}\r\n.logo-lg {\r\n font-size: 28px !important;\r\n color: #ffffff !important;\r\n}\r\n.user-thumb img {\r\n height: 88px;\r\n margin: 0px auto;\r\n width: 88px;\r\n}\r\n.ex-page-content .svg-box {\r\n float: right;\r\n}\r\n.message-box {\r\n margin-top: 120px;\r\n margin-left: 50px;\r\n font-weight: 300;\r\n}\r\n.message-box h1 {\r\n color: #ffffff;\r\n font-size: 98px;\r\n font-weight: 700;\r\n line-height: 98px;\r\n text-shadow: rgba(255, 255, 255, 0.3) 1px 1px, rgba(255, 255, 255, 0.2) 2px 2px, rgba(255, 255, 255, 0.3) 3px 3px;\r\n}\r\n#Polygon-1,\r\n#Polygon-2,\r\n#Polygon-3,\r\n#Polygon-4,\r\n#Polygon-4,\r\n#Polygon-5 {\r\n animation: float 1s infinite ease-in-out alternate;\r\n}\r\n#Polygon-2 {\r\n animation-delay: .2s;\r\n}\r\n#Polygon-3 {\r\n animation-delay: .4s;\r\n}\r\n#Polygon-4 {\r\n animation-delay: .6s;\r\n}\r\n#Polygon-5 {\r\n animation-delay: .8s;\r\n}\r\n@keyframes float {\r\n 100% {\r\n transform: translateY(20px);\r\n }\r\n}\r\n/* =============\r\n Tree view page\r\n============= */\r\n.jstree-default .jstree-clicked,\r\n.jstree-default .jstree-wholerow-clicked {\r\n background: rgba(59, 175, 218, 0.4);\r\n box-shadow: none;\r\n}\r\n.jstree-default .jstree-hovered,\r\n.jstree-default .jstree-wholerow-hovered {\r\n background: rgba(59, 175, 218, 0.2);\r\n box-shadow: none;\r\n}\r\n.jstree-default .zmdi {\r\n font-size: 16px;\r\n}\r\n/* =============\r\n Pricing\r\n============= */\r\n.pricing-column {\r\n position: relative;\r\n margin-bottom: 40px;\r\n}\r\n.pricing-column .inner-box {\r\n position: relative;\r\n padding: 0 0 50px;\r\n}\r\n.pricing-column .plan-header {\r\n position: relative;\r\n padding: 30px 20px 25px;\r\n}\r\n.pricing-column .plan-title {\r\n font-size: 16px;\r\n margin-bottom: 10px;\r\n color: #00b19d;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n font-weight: 400;\r\n}\r\n.pricing-column .plan-price {\r\n font-size: 48px;\r\n margin-bottom: 10px;\r\n color: #ffffff;\r\n}\r\n.pricing-column .plan-duration {\r\n font-size: 13px;\r\n color: #98a6ad;\r\n}\r\n.pricing-column .plan-stats {\r\n position: relative;\r\n padding: 30px 20px 15px;\r\n}\r\n.pricing-column .plan-stats li {\r\n margin-bottom: 15px;\r\n line-height: 24px;\r\n}\r\n.pricing-column .plan-stats li i {\r\n font-size: 16px;\r\n vertical-align: middle;\r\n margin-right: 5px;\r\n}\r\n.ribbon {\r\n position: absolute;\r\n left: 5px;\r\n top: -5px;\r\n z-index: 1;\r\n overflow: hidden;\r\n width: 75px;\r\n height: 75px;\r\n text-align: right;\r\n}\r\n.ribbon span {\r\n font-size: 10px;\r\n font-weight: bold;\r\n color: #ffffff;\r\n text-transform: uppercase;\r\n text-align: center;\r\n line-height: 20px;\r\n transform: rotate(-45deg);\r\n -webkit-transform: rotate(-45deg);\r\n width: 100px;\r\n display: block;\r\n box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);\r\n background: #00b19d;\r\n background: linear-gradient(#00b19d 0%, #00b19d 100%);\r\n position: absolute;\r\n top: 19px;\r\n letter-spacing: 1px;\r\n left: -21px;\r\n}\r\n.ribbon span:before {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n top: 100%;\r\n z-index: -1;\r\n border-left: 3px solid #007e70;\r\n border-right: 3px solid transparent;\r\n border-bottom: 3px solid transparent;\r\n border-top: 3px solid #007e70;\r\n}\r\n.ribbon span:after {\r\n content: \"\";\r\n position: absolute;\r\n right: 0;\r\n top: 100%;\r\n z-index: -1;\r\n border-left: 3px solid transparent;\r\n border-right: 3px solid #007e70;\r\n border-bottom: 3px solid transparent;\r\n border-top: 3px solid #007e70;\r\n}\r\n/* =============\r\n FAQ\r\n============= */\r\n.question-q-box {\r\n height: 30px;\r\n width: 30px;\r\n color: #ffffff;\r\n background-color: #ef5350;\r\n text-align: center;\r\n border-radius: 50%;\r\n float: left;\r\n line-height: 30px;\r\n font-weight: 700;\r\n}\r\n.question {\r\n margin-top: 0;\r\n margin-left: 50px;\r\n font-weight: 400;\r\n font-size: 16px;\r\n}\r\n.answer {\r\n margin-left: 50px;\r\n color: #98a6ad;\r\n margin-bottom: 40px;\r\n line-height: 26px;\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n/*\r\nTemplate Name: Minton Dashboard\r\nAuthor: CoderThemes\r\nEmail: coderthemes@gmail.com\r\nFile: Responsive\r\n*/\r\n@media only screen and (max-width: 6000px) and (min-width: 700px) {\r\n .wrapper.right-bar-enabled .right-bar {\r\n right: 0;\r\n z-index: 99;\r\n }\r\n}\r\n@media (min-width: 768px) and (max-width: 991px) {\r\n body {\r\n overflow-x: hidden;\r\n }\r\n}\r\n@media (max-width: 767px) {\r\n body {\r\n overflow-x: hidden;\r\n }\r\n .mobile-sidebar {\r\n left: 0px;\r\n }\r\n .mobile-content {\r\n left: 250px;\r\n right: -250px;\r\n }\r\n .wrapper-page {\r\n width: 90%;\r\n }\r\n .navbar-nav .open .dropdown-menu {\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n left: auto;\r\n position: absolute;\r\n right: 0;\r\n }\r\n .todo-send {\r\n margin-top: 10px;\r\n padding-left: 15px;\r\n }\r\n .chat-inputbar {\r\n padding-left: 15px;\r\n }\r\n .chat-send {\r\n margin-top: 10px;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n }\r\n .fixedHeader-floating {\r\n top: 60px !important;\r\n }\r\n div#datatable-buttons_info {\r\n float: none;\r\n }\r\n}\r\n@media (max-width: 480px) {\r\n .side-menu {\r\n z-index: 10 !important;\r\n }\r\n .button-menu-mobile {\r\n display: block;\r\n }\r\n .search-bar {\r\n display: none !important;\r\n }\r\n}\r\n@media (max-width: 420px) {\r\n .hide-phone {\r\n display: none !important;\r\n }\r\n}\r\n/* Container-alt */\r\n@media (min-width: 768px) {\r\n .container-alt {\r\n width: 750px;\r\n }\r\n}\r\n@media (min-width: 992px) {\r\n .container-alt {\r\n width: 970px;\r\n }\r\n}\r\n@media (min-width: 1200px) {\r\n .container-alt {\r\n width: 1170px;\r\n }\r\n}\r\n","@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);\r\n@import url(https://fonts.googleapis.com/css?family=Poppins:500,600);\r\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,700);\r\n"],"sourceRoot":"../src"} \ No newline at end of file diff --git a/scripts/vendor-bundle.js b/scripts/vendor-bundle.js index e8d747d..b0451b9 100644 --- a/scripts/vendor-bundle.js +++ b/scripts/vendor-bundle.js @@ -6340,7146 +6340,7299 @@ var requirejs, require, define; }(this, (typeof setTimeout === 'undefined' ? undefined : setTimeout))); _aureliaConfigureModuleLoader(); -define('aurelia-binding',['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aurelia-metadata'], function (exports, _aureliaLogging, _aureliaPal, _aureliaTaskQueue, _aureliaMetadata) { +define('aurelia-dependency-injection',['exports', 'aurelia-metadata', 'aurelia-pal'], function (exports, _aureliaMetadata, _aureliaPal) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSetObserver = exports.BindingEngine = exports.NameExpression = exports.Listener = exports.ListenerExpression = exports.BindingBehaviorResource = exports.ValueConverterResource = exports.Call = exports.CallExpression = exports.Binding = exports.BindingExpression = exports.ObjectObservationAdapter = exports.ObserverLocator = exports.SVGAnalyzer = exports.presentationAttributes = exports.presentationElements = exports.elements = exports.ComputedExpression = exports.ClassObserver = exports.SelectValueObserver = exports.CheckedObserver = exports.ValueAttributeObserver = exports.StyleObserver = exports.DataAttributeObserver = exports.dataAttributeAccessor = exports.XLinkAttributeObserver = exports.SetterObserver = exports.PrimitiveObserver = exports.propertyAccessor = exports.DirtyCheckProperty = exports.DirtyChecker = exports.EventManager = exports.delegationStrategy = exports.getMapObserver = exports.ParserImplementation = exports.Parser = exports.Scanner = exports.Lexer = exports.Token = exports.bindingMode = exports.ExpressionCloner = exports.Unparser = exports.LiteralObject = exports.LiteralArray = exports.LiteralString = exports.LiteralPrimitive = exports.PrefixNot = exports.Binary = exports.CallFunction = exports.CallMember = exports.CallScope = exports.AccessKeyed = exports.AccessMember = exports.AccessScope = exports.AccessThis = exports.Conditional = exports.Assign = exports.ValueConverter = exports.BindingBehavior = exports.Chain = exports.Expression = exports.getArrayObserver = exports.CollectionLengthObserver = exports.ModifyCollectionObserver = exports.ExpressionObserver = exports.sourceContext = undefined; - exports.camelCase = camelCase; - exports.createOverrideContext = createOverrideContext; - exports.getContextFor = getContextFor; - exports.createScopeForTest = createScopeForTest; - exports.connectable = connectable; - exports.enqueueBindingConnect = enqueueBindingConnect; - exports.subscriberCollection = subscriberCollection; - exports.calcSplices = calcSplices; - exports.mergeSplice = mergeSplice; - exports.projectArraySplices = projectArraySplices; - exports.getChangeRecords = getChangeRecords; - exports.cloneExpression = cloneExpression; - exports.hasDeclaredDependencies = hasDeclaredDependencies; - exports.declarePropertyDependencies = declarePropertyDependencies; - exports.computedFrom = computedFrom; - exports.createComputedObserver = createComputedObserver; - exports.valueConverter = valueConverter; - exports.bindingBehavior = bindingBehavior; - exports.observable = observable; - - var LogManager = _interopRequireWildcard(_aureliaLogging); + exports.Container = exports.InvocationHandler = exports._emptyParameters = exports.SingletonRegistration = exports.TransientRegistration = exports.FactoryInvoker = exports.NewInstance = exports.Factory = exports.StrategyResolver = exports.Parent = exports.Optional = exports.All = exports.Lazy = exports.resolver = undefined; + exports.getDecoratorDependencies = getDecoratorDependencies; + exports.lazy = lazy; + exports.all = all; + exports.optional = optional; + exports.parent = parent; + exports.factory = factory; + exports.newInstance = newInstance; + exports.invoker = invoker; + exports.invokeAsFactory = invokeAsFactory; + exports.registration = registration; + exports.transient = transient; + exports.singleton = singleton; + exports.autoinject = autoinject; + exports.inject = inject; - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; + - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } - } + var _dec, _class, _dec2, _class3, _dec3, _class5, _dec4, _class7, _dec5, _class9, _dec6, _class11, _dec7, _class13, _classInvokers; - newObj.default = obj; - return newObj; + var resolver = exports.resolver = _aureliaMetadata.protocol.create('aurelia:resolver', function (target) { + if (!(typeof target.get === 'function')) { + return 'Resolvers must implement: get(container: Container, key: any): any'; } - } - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; - }; + return true; + }); - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } + var Lazy = exports.Lazy = (_dec = resolver(), _dec(_class = function () { + function Lazy(key) { + + + this._key = key; } - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; + Lazy.prototype.get = function get(container) { + var _this = this; + + return function () { + return container.get(_this._key); + }; }; - }(); - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } + Lazy.of = function of(key) { + return new Lazy(key); + }; - return call && (typeof call === "object" || typeof call === "function") ? call : self; - } + return Lazy; + }()) || _class); + var All = exports.All = (_dec2 = resolver(), _dec2(_class3 = function () { + function All(key) { + - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + this._key = key; } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } + All.prototype.get = function get(container) { + return container.getAll(this._key); + }; - + All.of = function of(key) { + return new All(key); + }; - var _dec, _dec2, _class, _dec3, _class2, _dec4, _class3, _dec5, _class5, _dec6, _class7, _dec7, _class8, _dec8, _class9, _dec9, _class10, _class11, _temp, _dec10, _class12, _class13, _temp2; + return All; + }()) || _class3); + var Optional = exports.Optional = (_dec3 = resolver(), _dec3(_class5 = function () { + function Optional(key) { + var checkParent = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; - var map = Object.create(null); + - function camelCase(name) { - if (name in map) { - return map[name]; + this._key = key; + this._checkParent = checkParent; } - var result = name.charAt(0).toLowerCase() + name.slice(1).replace(/[_.-](\w|$)/g, function (_, x) { - return x.toUpperCase(); - }); - map[name] = result; - return result; - } - function createOverrideContext(bindingContext, parentOverrideContext) { - return { - bindingContext: bindingContext, - parentOverrideContext: parentOverrideContext || null - }; - } + Optional.prototype.get = function get(container) { + if (container.hasResolver(this._key, this._checkParent)) { + return container.get(this._key); + } - function getContextFor(name, scope, ancestor) { - var oc = scope.overrideContext; + return null; + }; - if (ancestor) { - while (ancestor && oc) { - ancestor--; - oc = oc.parentOverrideContext; - } - if (ancestor || !oc) { - return undefined; - } - return name in oc ? oc : oc.bindingContext; - } + Optional.of = function of(key) { + var checkParent = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; - while (oc && !(name in oc) && !(oc.bindingContext && name in oc.bindingContext)) { - oc = oc.parentOverrideContext; - } - if (oc) { - return name in oc ? oc : oc.bindingContext; - } + return new Optional(key, checkParent); + }; - return scope.bindingContext || scope.overrideContext; - } + return Optional; + }()) || _class5); + var Parent = exports.Parent = (_dec4 = resolver(), _dec4(_class7 = function () { + function Parent(key) { + - function createScopeForTest(bindingContext, parentBindingContext) { - if (parentBindingContext) { - return { - bindingContext: bindingContext, - overrideContext: createOverrideContext(bindingContext, createOverrideContext(parentBindingContext)) - }; + this._key = key; } - return { - bindingContext: bindingContext, - overrideContext: createOverrideContext(bindingContext) + + Parent.prototype.get = function get(container) { + return container.parent ? container.parent.get(this._key) : null; }; - } - var sourceContext = exports.sourceContext = 'Binding:source'; - var slotNames = []; - var versionSlotNames = []; + Parent.of = function of(key) { + return new Parent(key); + }; - for (var i = 0; i < 100; i++) { - slotNames.push('_observer' + i); - versionSlotNames.push('_observerVersion' + i); - } + return Parent; + }()) || _class7); + var StrategyResolver = exports.StrategyResolver = (_dec5 = resolver(), _dec5(_class9 = function () { + function StrategyResolver(strategy, state) { + - function addObserver(observer) { - var observerSlots = this._observerSlots === undefined ? 0 : this._observerSlots; - var i = observerSlots; - while (i-- && this[slotNames[i]] !== observer) {} + this.strategy = strategy; + this.state = state; + } - if (i === -1) { - i = 0; - while (this[slotNames[i]]) { - i++; + StrategyResolver.prototype.get = function get(container, key) { + switch (this.strategy) { + case 0: + return this.state; + case 1: + var singleton = container.invoke(this.state); + this.state = singleton; + this.strategy = 0; + return singleton; + case 2: + return container.invoke(this.state); + case 3: + return this.state(container, key, this); + case 4: + return this.state[0].get(container, key); + case 5: + return container.get(this.state); + default: + throw new Error('Invalid strategy: ' + this.strategy); } - this[slotNames[i]] = observer; - observer.subscribe(sourceContext, this); + }; - if (i === observerSlots) { - this._observerSlots = i + 1; - } + return StrategyResolver; + }()) || _class9); + var Factory = exports.Factory = (_dec6 = resolver(), _dec6(_class11 = function () { + function Factory(key) { + + + this._key = key; } - if (this._version === undefined) { - this._version = 0; - } - this[versionSlotNames[i]] = this._version; - } - - function observeProperty(obj, propertyName) { - var observer = this.observerLocator.getObserver(obj, propertyName); - addObserver.call(this, observer); - } - - function observeArray(array) { - var observer = this.observerLocator.getArrayObserver(array); - addObserver.call(this, observer); - } + Factory.prototype.get = function get(container) { + var _this2 = this; - function unobserve(all) { - var i = this._observerSlots; - while (i--) { - if (all || this[versionSlotNames[i]] !== this._version) { - var observer = this[slotNames[i]]; - this[slotNames[i]] = null; - if (observer) { - observer.unsubscribe(sourceContext, this); + return function () { + for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) { + rest[_key] = arguments[_key]; } - } - } - } - function connectable() { - return function (target) { - target.prototype.observeProperty = observeProperty; - target.prototype.observeArray = observeArray; - target.prototype.unobserve = unobserve; - target.prototype.addObserver = addObserver; + return container.invoke(_this2._key, rest); + }; }; - } - var queue = []; - var queued = {}; - var nextId = 0; - var minimumImmediate = 100; - var frameBudget = 15; + Factory.of = function of(key) { + return new Factory(key); + }; - var isFlushRequested = false; - var immediate = 0; + return Factory; + }()) || _class11); + var NewInstance = exports.NewInstance = (_dec7 = resolver(), _dec7(_class13 = function () { + function NewInstance(key) { + - function flush(animationFrameStart) { - var length = queue.length; - var i = 0; - while (i < length) { - var binding = queue[i]; - queued[binding.__connectQueueId] = false; - binding.connect(true); - i++; + this.key = key; + this.asKey = key; - if (i % 100 === 0 && _aureliaPal.PLATFORM.performance.now() - animationFrameStart > frameBudget) { - break; + for (var _len2 = arguments.length, dynamicDependencies = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + dynamicDependencies[_key2 - 1] = arguments[_key2]; } - } - queue.splice(0, i); - if (queue.length) { - _aureliaPal.PLATFORM.requestAnimationFrame(flush); - } else { - isFlushRequested = false; - immediate = 0; + this.dynamicDependencies = dynamicDependencies; } - } - function enqueueBindingConnect(binding) { - if (immediate < minimumImmediate) { - immediate++; - binding.connect(false); - } else { - var id = binding.__connectQueueId; - if (id === undefined) { - id = nextId; - nextId++; - binding.__connectQueueId = id; - } + NewInstance.prototype.get = function get(container) { + var dynamicDependencies = this.dynamicDependencies.length > 0 ? this.dynamicDependencies.map(function (dependency) { + return dependency['protocol:aurelia:resolver'] ? dependency.get(container) : container.get(dependency); + }) : undefined; + var instance = container.invoke(this.key, dynamicDependencies); + container.registerInstance(this.asKey, instance); + return instance; + }; - if (!queued[id]) { - queue.push(binding); - queued[id] = true; + NewInstance.prototype.as = function as(key) { + this.asKey = key; + return this; + }; + + NewInstance.of = function of(key) { + for (var _len3 = arguments.length, dynamicDependencies = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { + dynamicDependencies[_key3 - 1] = arguments[_key3]; } + + return new (Function.prototype.bind.apply(NewInstance, [null].concat([key], dynamicDependencies)))(); + }; + + return NewInstance; + }()) || _class13); + function getDecoratorDependencies(target, name) { + var dependencies = target.inject; + if (typeof dependencies === 'function') { + throw new Error('Decorator ' + name + ' cannot be used with "inject()". Please use an array instead.'); } - if (!isFlushRequested) { - isFlushRequested = true; - _aureliaPal.PLATFORM.requestAnimationFrame(flush); + if (!dependencies) { + dependencies = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, target).slice(); + target.inject = dependencies; } + + return dependencies; } - function addSubscriber(context, callable) { - if (this.hasSubscriber(context, callable)) { - return false; - } - if (!this._context0) { - this._context0 = context; - this._callable0 = callable; - return true; - } - if (!this._context1) { - this._context1 = context; - this._callable1 = callable; - return true; - } - if (!this._context2) { - this._context2 = context; - this._callable2 = callable; - return true; - } - if (!this._contextsRest) { - this._contextsRest = [context]; - this._callablesRest = [callable]; - return true; - } - this._contextsRest.push(context); - this._callablesRest.push(callable); - return true; + function lazy(keyValue) { + return function (target, key, index) { + var params = getDecoratorDependencies(target, 'lazy'); + params[index] = Lazy.of(keyValue); + }; } - function removeSubscriber(context, callable) { - if (this._context0 === context && this._callable0 === callable) { - this._context0 = null; - this._callable0 = null; - return true; - } - if (this._context1 === context && this._callable1 === callable) { - this._context1 = null; - this._callable1 = null; - return true; - } - if (this._context2 === context && this._callable2 === callable) { - this._context2 = null; - this._callable2 = null; - return true; - } - var rest = this._contextsRest; - var index = void 0; - if (!rest || !rest.length || (index = rest.indexOf(context)) === -1 || this._callablesRest[index] !== callable) { - return false; + function all(keyValue) { + return function (target, key, index) { + var params = getDecoratorDependencies(target, 'all'); + params[index] = All.of(keyValue); + }; + } + + function optional() { + var checkParentOrTarget = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + + var deco = function deco(checkParent) { + return function (target, key, index) { + var params = getDecoratorDependencies(target, 'optional'); + params[index] = Optional.of(params[index], checkParent); + }; + }; + if (typeof checkParentOrTarget === 'boolean') { + return deco(checkParentOrTarget); } - rest.splice(index, 1); - this._callablesRest.splice(index, 1); - return true; + return deco(true); } - var arrayPool1 = []; - var arrayPool2 = []; - var poolUtilization = []; + function parent(target, key, index) { + var params = getDecoratorDependencies(target, 'parent'); + params[index] = Parent.of(params[index]); + } - function callSubscribers(newValue, oldValue) { - var context0 = this._context0; - var callable0 = this._callable0; - var context1 = this._context1; - var callable1 = this._callable1; - var context2 = this._context2; - var callable2 = this._callable2; - var length = this._contextsRest ? this._contextsRest.length : 0; - var contextsRest = void 0; - var callablesRest = void 0; - var poolIndex = void 0; - var i = void 0; - if (length) { - poolIndex = poolUtilization.length; - while (poolIndex-- && poolUtilization[poolIndex]) {} - if (poolIndex < 0) { - poolIndex = poolUtilization.length; - contextsRest = []; - callablesRest = []; - poolUtilization.push(true); - arrayPool1.push(contextsRest); - arrayPool2.push(callablesRest); - } else { - poolUtilization[poolIndex] = true; - contextsRest = arrayPool1[poolIndex]; - callablesRest = arrayPool2[poolIndex]; - } + function factory(keyValue, asValue) { + return function (target, key, index) { + var params = getDecoratorDependencies(target, 'factory'); + var factory = Factory.of(keyValue); + params[index] = asValue ? factory.as(asValue) : factory; + }; + } - i = length; - while (i--) { - contextsRest[i] = this._contextsRest[i]; - callablesRest[i] = this._callablesRest[i]; - } + function newInstance(asKeyOrTarget) { + for (var _len4 = arguments.length, dynamicDependencies = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + dynamicDependencies[_key4 - 1] = arguments[_key4]; } - if (context0) { - if (callable0) { - callable0.call(context0, newValue, oldValue); - } else { - context0(newValue, oldValue); - } - } - if (context1) { - if (callable1) { - callable1.call(context1, newValue, oldValue); - } else { - context1(newValue, oldValue); - } - } - if (context2) { - if (callable2) { - callable2.call(context2, newValue, oldValue); - } else { - context2(newValue, oldValue); - } - } - if (length) { - for (i = 0; i < length; i++) { - var callable = callablesRest[i]; - var context = contextsRest[i]; - if (callable) { - callable.call(context, newValue, oldValue); - } else { - context(newValue, oldValue); + var deco = function deco(asKey) { + return function (target, key, index) { + var params = getDecoratorDependencies(target, 'newInstance'); + params[index] = NewInstance.of.apply(NewInstance, [params[index]].concat(dynamicDependencies)); + if (!!asKey) { + params[index].as(asKey); } - contextsRest[i] = null; - callablesRest[i] = null; - } - poolUtilization[poolIndex] = false; + }; + }; + if (arguments.length >= 1) { + return deco(asKeyOrTarget); } + return deco(); } - function hasSubscribers() { - return !!(this._context0 || this._context1 || this._context2 || this._contextsRest && this._contextsRest.length); - } - - function hasSubscriber(context, callable) { - var has = this._context0 === context && this._callable0 === callable || this._context1 === context && this._callable1 === callable || this._context2 === context && this._callable2 === callable; - if (has) { - return true; - } - var index = void 0; - var contexts = this._contextsRest; - if (!contexts || (index = contexts.length) === 0) { - return false; - } - var callables = this._callablesRest; - while (index--) { - if (contexts[index] === context && callables[index] === callable) { - return true; - } - } - return false; + function invoker(value) { + return function (target) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.invoker, value, target); + }; } - function subscriberCollection() { - return function (target) { - target.prototype.addSubscriber = addSubscriber; - target.prototype.removeSubscriber = removeSubscriber; - target.prototype.callSubscribers = callSubscribers; - target.prototype.hasSubscribers = hasSubscribers; - target.prototype.hasSubscriber = hasSubscriber; + function invokeAsFactory(potentialTarget) { + var deco = function deco(target) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.invoker, FactoryInvoker.instance, target); }; + + return potentialTarget ? deco(potentialTarget) : deco; } - var ExpressionObserver = exports.ExpressionObserver = (_dec = connectable(), _dec2 = subscriberCollection(), _dec(_class = _dec2(_class = function () { - function ExpressionObserver(scope, expression, observerLocator, lookupFunctions) { + var FactoryInvoker = exports.FactoryInvoker = function () { + function FactoryInvoker() { - - this.scope = scope; - this.expression = expression; - this.observerLocator = observerLocator; - this.lookupFunctions = lookupFunctions; } - ExpressionObserver.prototype.getValue = function getValue() { - return this.expression.evaluate(this.scope, this.lookupFunctions); - }; + FactoryInvoker.prototype.invoke = function invoke(container, fn, dependencies) { + var i = dependencies.length; + var args = new Array(i); - ExpressionObserver.prototype.setValue = function setValue(newValue) { - this.expression.assign(this.scope, newValue); + while (i--) { + args[i] = container.get(dependencies[i]); + } + + return fn.apply(undefined, args); }; - ExpressionObserver.prototype.subscribe = function subscribe(context, callable) { - var _this = this; + FactoryInvoker.prototype.invokeWithDynamicDependencies = function invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) { + var i = staticDependencies.length; + var args = new Array(i); - if (!this.hasSubscribers()) { - this.oldValue = this.expression.evaluate(this.scope, this.lookupFunctions); - this.expression.connect(this, this.scope); - } - this.addSubscriber(context, callable); - if (arguments.length === 1 && context instanceof Function) { - return { - dispose: function dispose() { - _this.unsubscribe(context, callable); - } - }; + while (i--) { + args[i] = container.get(staticDependencies[i]); } - }; - ExpressionObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { - this.unobserve(true); - this.oldValue = undefined; + if (dynamicDependencies !== undefined) { + args = args.concat(dynamicDependencies); } - }; - ExpressionObserver.prototype.call = function call() { - var newValue = this.expression.evaluate(this.scope, this.lookupFunctions); - var oldValue = this.oldValue; - if (newValue !== oldValue) { - this.oldValue = newValue; - this.callSubscribers(newValue, oldValue); - } - this._version++; - this.expression.connect(this, this.scope); - this.unobserve(false); + return fn.apply(undefined, args); }; - return ExpressionObserver; - }()) || _class) || _class); + return FactoryInvoker; + }(); + FactoryInvoker.instance = new FactoryInvoker(); - function isIndex(s) { - return +s === s >>> 0; + function registration(value) { + return function (target) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.registration, value, target); + }; } - function toNumber(s) { - return +s; + function transient(key) { + return registration(new TransientRegistration(key)); } - function newSplice(index, removed, addedCount) { - return { - index: index, - removed: removed, - addedCount: addedCount - }; + function singleton(keyOrRegisterInChild) { + var registerInChild = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + + return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild)); } - var EDIT_LEAVE = 0; - var EDIT_UPDATE = 1; - var EDIT_ADD = 2; - var EDIT_DELETE = 3; + var TransientRegistration = exports.TransientRegistration = function () { + function TransientRegistration(key) { + - function ArraySplice() {} + this._key = key; + } - ArraySplice.prototype = { - calcEditDistances: function calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) { - var rowCount = oldEnd - oldStart + 1; - var columnCount = currentEnd - currentStart + 1; - var distances = new Array(rowCount); - var north = void 0; - var west = void 0; + TransientRegistration.prototype.registerResolver = function registerResolver(container, key, fn) { + var existingResolver = container.getResolver(this._key || key); + return existingResolver === undefined ? container.registerTransient(this._key || key, fn) : existingResolver; + }; - for (var _i = 0; _i < rowCount; ++_i) { - distances[_i] = new Array(columnCount); - distances[_i][0] = _i; - } + return TransientRegistration; + }(); - for (var j = 0; j < columnCount; ++j) { - distances[0][j] = j; - } + var SingletonRegistration = exports.SingletonRegistration = function () { + function SingletonRegistration(keyOrRegisterInChild) { + var registerInChild = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; - for (var _i2 = 1; _i2 < rowCount; ++_i2) { - for (var _j = 1; _j < columnCount; ++_j) { - if (this.equals(current[currentStart + _j - 1], old[oldStart + _i2 - 1])) { - distances[_i2][_j] = distances[_i2 - 1][_j - 1]; - } else { - north = distances[_i2 - 1][_j] + 1; - west = distances[_i2][_j - 1] + 1; - distances[_i2][_j] = north < west ? north : west; - } - } + + + if (typeof keyOrRegisterInChild === 'boolean') { + this._registerInChild = keyOrRegisterInChild; + } else { + this._key = keyOrRegisterInChild; + this._registerInChild = registerInChild; } + } - return distances; - }, + SingletonRegistration.prototype.registerResolver = function registerResolver(container, key, fn) { + var targetContainer = this._registerInChild ? container : container.root; + var existingResolver = targetContainer.getResolver(this._key || key); + return existingResolver === undefined ? targetContainer.registerSingleton(this._key || key, fn) : existingResolver; + }; - spliceOperationsFromEditDistances: function spliceOperationsFromEditDistances(distances) { - var i = distances.length - 1; - var j = distances[0].length - 1; - var current = distances[i][j]; - var edits = []; - while (i > 0 || j > 0) { - if (i === 0) { - edits.push(EDIT_ADD); - j--; - continue; - } - if (j === 0) { - edits.push(EDIT_DELETE); - i--; - continue; - } - var northWest = distances[i - 1][j - 1]; - var west = distances[i - 1][j]; - var north = distances[i][j - 1]; + return SingletonRegistration; + }(); - var min = void 0; - if (west < north) { - min = west < northWest ? west : northWest; - } else { - min = north < northWest ? north : northWest; - } + function validateKey(key) { + if (key === null || key === undefined) { + throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\'t exist with DI?'); + } + } + var _emptyParameters = exports._emptyParameters = Object.freeze([]); - if (min === northWest) { - if (northWest === current) { - edits.push(EDIT_LEAVE); - } else { - edits.push(EDIT_UPDATE); - current = northWest; - } - i--; - j--; - } else if (min === west) { - edits.push(EDIT_DELETE); - i--; - current = west; - } else { - edits.push(EDIT_ADD); - j--; - current = north; - } - } - - edits.reverse(); - return edits; - }, - - calcSplices: function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) { - var prefixCount = 0; - var suffixCount = 0; - - var minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart); - if (currentStart === 0 && oldStart === 0) { - prefixCount = this.sharedPrefix(current, old, minLength); - } - - if (currentEnd === current.length && oldEnd === old.length) { - suffixCount = this.sharedSuffix(current, old, minLength - prefixCount); - } - - currentStart += prefixCount; - oldStart += prefixCount; - currentEnd -= suffixCount; - oldEnd -= suffixCount; - - if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) { - return []; - } + _aureliaMetadata.metadata.registration = 'aurelia:registration'; + _aureliaMetadata.metadata.invoker = 'aurelia:invoker'; - if (currentStart === currentEnd) { - var _splice = newSplice(currentStart, [], 0); - while (oldStart < oldEnd) { - _splice.removed.push(old[oldStart++]); - } + var resolverDecorates = resolver.decorates; - return [_splice]; - } else if (oldStart === oldEnd) { - return [newSplice(currentStart, [], currentEnd - currentStart)]; - } + var InvocationHandler = exports.InvocationHandler = function () { + function InvocationHandler(fn, invoker, dependencies) { + - var ops = this.spliceOperationsFromEditDistances(this.calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd)); + this.fn = fn; + this.invoker = invoker; + this.dependencies = dependencies; + } - var splice = undefined; - var splices = []; - var index = currentStart; - var oldIndex = oldStart; - for (var _i3 = 0; _i3 < ops.length; ++_i3) { - switch (ops[_i3]) { - case EDIT_LEAVE: - if (splice) { - splices.push(splice); - splice = undefined; - } + InvocationHandler.prototype.invoke = function invoke(container, dynamicDependencies) { + return dynamicDependencies !== undefined ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies) : this.invoker.invoke(container, this.fn, this.dependencies); + }; - index++; - oldIndex++; - break; - case EDIT_UPDATE: - if (!splice) { - splice = newSplice(index, [], 0); - } + return InvocationHandler; + }(); - splice.addedCount++; - index++; + function invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) { + var i = staticDependencies.length; + var args = new Array(i); - splice.removed.push(old[oldIndex]); - oldIndex++; - break; - case EDIT_ADD: - if (!splice) { - splice = newSplice(index, [], 0); - } + while (i--) { + args[i] = container.get(staticDependencies[i]); + } - splice.addedCount++; - index++; - break; - case EDIT_DELETE: - if (!splice) { - splice = newSplice(index, [], 0); - } + if (dynamicDependencies !== undefined) { + args = args.concat(dynamicDependencies); + } - splice.removed.push(old[oldIndex]); - oldIndex++; - break; - } - } + return Reflect.construct(fn, args); + } - if (splice) { - splices.push(splice); - } - return splices; + var classInvokers = (_classInvokers = {}, _classInvokers[0] = { + invoke: function invoke(container, Type) { + return new Type(); }, - sharedPrefix: function sharedPrefix(current, old, searchLength) { - for (var _i4 = 0; _i4 < searchLength; ++_i4) { - if (!this.equals(current[_i4], old[_i4])) { - return _i4; - } - } + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers[1] = { + invoke: function invoke(container, Type, deps) { + return new Type(container.get(deps[0])); + }, - return searchLength; + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers[2] = { + invoke: function invoke(container, Type, deps) { + return new Type(container.get(deps[0]), container.get(deps[1])); }, - sharedSuffix: function sharedSuffix(current, old, searchLength) { - var index1 = current.length; - var index2 = old.length; - var count = 0; - while (count < searchLength && this.equals(current[--index1], old[--index2])) { - count++; - } + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers[3] = { + invoke: function invoke(container, Type, deps) { + return new Type(container.get(deps[0]), container.get(deps[1]), container.get(deps[2])); + }, - return count; + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers[4] = { + invoke: function invoke(container, Type, deps) { + return new Type(container.get(deps[0]), container.get(deps[1]), container.get(deps[2]), container.get(deps[3])); }, - calculateSplices: function calculateSplices(current, previous) { - return this.calcSplices(current, 0, current.length, previous, 0, previous.length); + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers[5] = { + invoke: function invoke(container, Type, deps) { + return new Type(container.get(deps[0]), container.get(deps[1]), container.get(deps[2]), container.get(deps[3]), container.get(deps[4])); }, - equals: function equals(currentValue, previousValue) { - return currentValue === previousValue; + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers.fallback = { + invoke: invokeWithDynamicDependencies, + invokeWithDynamicDependencies: invokeWithDynamicDependencies + }, _classInvokers); + + function getDependencies(f) { + if (!f.hasOwnProperty('inject')) { + return []; } - }; - var arraySplice = new ArraySplice(); + if (typeof f.inject === 'function') { + return f.inject(); + } - function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) { - return arraySplice.calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd); + return f.inject; } - function intersect(start1, end1, start2, end2) { - if (end1 < start2 || end2 < start1) { - return -1; - } - - if (end1 === start2 || end2 === start1) { - return 0; - } + var Container = exports.Container = function () { + function Container(configuration) { + - if (start1 < start2) { - if (end1 < end2) { - return end1 - start2; + if (configuration === undefined) { + configuration = {}; } - return end2 - start2; + this._configuration = configuration; + this._onHandlerCreated = configuration.onHandlerCreated; + this._handlers = configuration.handlers || (configuration.handlers = new Map()); + this._resolvers = new Map(); + this.root = this; + this.parent = null; } - if (end2 < end1) { - return end2 - start1; - } + Container.prototype.makeGlobal = function makeGlobal() { + Container.instance = this; + return this; + }; - return end1 - start1; - } + Container.prototype.setHandlerCreatedCallback = function setHandlerCreatedCallback(onHandlerCreated) { + this._onHandlerCreated = onHandlerCreated; + this._configuration.onHandlerCreated = onHandlerCreated; + }; - function mergeSplice(splices, index, removed, addedCount) { - var splice = newSplice(index, removed, addedCount); + Container.prototype.registerInstance = function registerInstance(key, instance) { + return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance)); + }; - var inserted = false; - var insertionOffset = 0; + Container.prototype.registerSingleton = function registerSingleton(key, fn) { + return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn)); + }; - for (var _i5 = 0; _i5 < splices.length; _i5++) { - var current = splices[_i5]; - current.index += insertionOffset; + Container.prototype.registerTransient = function registerTransient(key, fn) { + return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn)); + }; - if (inserted) { - continue; - } + Container.prototype.registerHandler = function registerHandler(key, handler) { + return this.registerResolver(key, new StrategyResolver(3, handler)); + }; - var intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount); + Container.prototype.registerAlias = function registerAlias(originalKey, aliasKey) { + return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey)); + }; - if (intersectCount >= 0) { + Container.prototype.registerResolver = function registerResolver(key, resolver) { + validateKey(key); - splices.splice(_i5, 1); - _i5--; + var allResolvers = this._resolvers; + var result = allResolvers.get(key); - insertionOffset -= current.addedCount - current.removed.length; + if (result === undefined) { + allResolvers.set(key, resolver); + } else if (result.strategy === 4) { + result.state.push(resolver); + } else { + allResolvers.set(key, new StrategyResolver(4, [result, resolver])); + } - splice.addedCount += current.addedCount - intersectCount; - var deleteCount = splice.removed.length + current.removed.length - intersectCount; - - if (!splice.addedCount && !deleteCount) { - inserted = true; - } else { - var currentRemoved = current.removed; + return resolver; + }; - if (splice.index < current.index) { - var prepend = splice.removed.slice(0, current.index - splice.index); - Array.prototype.push.apply(prepend, currentRemoved); - currentRemoved = prepend; - } + Container.prototype.autoRegister = function autoRegister(key, fn) { + fn = fn === undefined ? key : fn; - if (splice.index + splice.removed.length > current.index + current.addedCount) { - var append = splice.removed.slice(current.index + current.addedCount - splice.index); - Array.prototype.push.apply(currentRemoved, append); - } + if (typeof fn === 'function') { + var _registration = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.registration, fn); - splice.removed = currentRemoved; - if (current.index < splice.index) { - splice.index = current.index; - } + if (_registration === undefined) { + return this.registerResolver(key, new StrategyResolver(1, fn)); } - } else if (splice.index < current.index) { - inserted = true; + return _registration.registerResolver(this, key, fn); + } - splices.splice(_i5, 0, splice); - _i5++; + return this.registerResolver(key, new StrategyResolver(0, fn)); + }; - var offset = splice.addedCount - splice.removed.length; - current.index += offset; - insertionOffset += offset; + Container.prototype.autoRegisterAll = function autoRegisterAll(fns) { + var i = fns.length; + while (i--) { + this.autoRegister(fns[i]); } - } - - if (!inserted) { - splices.push(splice); - } - } + }; - function createInitialSplices(array, changeRecords) { - var splices = []; + Container.prototype.unregister = function unregister(key) { + this._resolvers.delete(key); + }; - for (var _i6 = 0; _i6 < changeRecords.length; _i6++) { - var record = changeRecords[_i6]; - switch (record.type) { - case 'splice': - mergeSplice(splices, record.index, record.removed.slice(), record.addedCount); - break; - case 'add': - case 'update': - case 'delete': - if (!isIndex(record.name)) { - continue; - } + Container.prototype.hasResolver = function hasResolver(key) { + var checkParent = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; - var index = toNumber(record.name); - if (index < 0) { - continue; - } + validateKey(key); - mergeSplice(splices, index, [record.oldValue], record.type === 'delete' ? 0 : 1); - break; - default: - console.error('Unexpected record type: ' + JSON.stringify(record)); - break; - } - } + return this._resolvers.has(key) || checkParent && this.parent !== null && this.parent.hasResolver(key, checkParent); + }; - return splices; - } + Container.prototype.getResolver = function getResolver(key) { + return this._resolvers.get(key); + }; - function projectArraySplices(array, changeRecords) { - var splices = []; + Container.prototype.get = function get(key) { + validateKey(key); - createInitialSplices(array, changeRecords).forEach(function (splice) { - if (splice.addedCount === 1 && splice.removed.length === 1) { - if (splice.removed[0] !== array[splice.index]) { - splices.push(splice); - } + if (key === Container) { + return this; + } - return; + if (resolverDecorates(key)) { + return key.get(this, key); } - splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length)); - }); + var resolver = this._resolvers.get(key); - return splices; - } + if (resolver === undefined) { + if (this.parent === null) { + return this.autoRegister(key).get(this, key); + } - function newRecord(type, object, key, oldValue) { - return { - type: type, - object: object, - key: key, - oldValue: oldValue - }; - } + var _registration2 = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.registration, key); - function getChangeRecords(map) { - var entries = new Array(map.size); - var keys = map.keys(); - var i = 0; - var item = void 0; + if (_registration2 === undefined) { + return this.parent._get(key); + } - while (item = keys.next()) { - if (item.done) { - break; + return _registration2.registerResolver(this, key, key).get(this, key); } - entries[i] = newRecord('added', map, item.value); - i++; - } + return resolver.get(this, key); + }; - return entries; - } + Container.prototype._get = function _get(key) { + var resolver = this._resolvers.get(key); - var ModifyCollectionObserver = exports.ModifyCollectionObserver = (_dec3 = subscriberCollection(), _dec3(_class2 = function () { - function ModifyCollectionObserver(taskQueue, collection) { - + if (resolver === undefined) { + if (this.parent === null) { + return this.autoRegister(key).get(this, key); + } - this.taskQueue = taskQueue; - this.queued = false; - this.changeRecords = null; - this.oldCollection = null; - this.collection = collection; - this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length'; - } + return this.parent._get(key); + } - ModifyCollectionObserver.prototype.subscribe = function subscribe(context, callable) { - this.addSubscriber(context, callable); + return resolver.get(this, key); }; - ModifyCollectionObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - this.removeSubscriber(context, callable); - }; + Container.prototype.getAll = function getAll(key) { + validateKey(key); - ModifyCollectionObserver.prototype.addChangeRecord = function addChangeRecord(changeRecord) { - if (!this.hasSubscribers() && !this.lengthObserver) { - return; - } + var resolver = this._resolvers.get(key); - if (changeRecord.type === 'splice') { - var index = changeRecord.index; - var arrayLength = changeRecord.object.length; - if (index > arrayLength) { - index = arrayLength - changeRecord.addedCount; - } else if (index < 0) { - index = arrayLength + changeRecord.removed.length + index - changeRecord.addedCount; - } - if (index < 0) { - index = 0; + if (resolver === undefined) { + if (this.parent === null) { + return _emptyParameters; } - changeRecord.index = index; - } - - if (this.changeRecords === null) { - this.changeRecords = [changeRecord]; - } else { - this.changeRecords.push(changeRecord); - } - if (!this.queued) { - this.queued = true; - this.taskQueue.queueMicroTask(this); + return this.parent.getAll(key); } - }; - ModifyCollectionObserver.prototype.flushChangeRecords = function flushChangeRecords() { - if (this.changeRecords && this.changeRecords.length || this.oldCollection) { - this.call(); - } - }; + if (resolver.strategy === 4) { + var state = resolver.state; + var i = state.length; + var results = new Array(i); - ModifyCollectionObserver.prototype.reset = function reset(oldCollection) { - this.oldCollection = oldCollection; + while (i--) { + results[i] = state[i].get(this, key); + } - if (this.hasSubscribers() && !this.queued) { - this.queued = true; - this.taskQueue.queueMicroTask(this); + return results; } - }; - ModifyCollectionObserver.prototype.getLengthObserver = function getLengthObserver() { - return this.lengthObserver || (this.lengthObserver = new CollectionLengthObserver(this.collection)); + return [resolver.get(this, key)]; }; - ModifyCollectionObserver.prototype.call = function call() { - var changeRecords = this.changeRecords; - var oldCollection = this.oldCollection; - var records = void 0; + Container.prototype.createChild = function createChild() { + var child = new Container(this._configuration); + child.root = this.root; + child.parent = this; + return child; + }; - this.queued = false; - this.changeRecords = []; - this.oldCollection = null; + Container.prototype.invoke = function invoke(fn, dynamicDependencies) { + try { + var _handler = this._handlers.get(fn); - if (this.hasSubscribers()) { - if (oldCollection) { - if (this.collection instanceof Map || this.collection instanceof Set) { - records = getChangeRecords(oldCollection); - } else { - records = calcSplices(this.collection, 0, this.collection.length, oldCollection, 0, oldCollection.length); - } - } else { - if (this.collection instanceof Map || this.collection instanceof Set) { - records = changeRecords; - } else { - records = projectArraySplices(this.collection, changeRecords); - } + if (_handler === undefined) { + _handler = this._createInvocationHandler(fn); + this._handlers.set(fn, _handler); } - this.callSubscribers(records); + return _handler.invoke(this, dynamicDependencies); + } catch (e) { + throw new _aureliaPal.AggregateError('Error invoking ' + fn.name + '. Check the inner error for details.', e, true); } + }; - if (this.lengthObserver) { - this.lengthObserver.call(this.collection[this.lengthPropertyName]); - } - }; - - return ModifyCollectionObserver; - }()) || _class2); - var CollectionLengthObserver = exports.CollectionLengthObserver = (_dec4 = subscriberCollection(), _dec4(_class3 = function () { - function CollectionLengthObserver(collection) { - + Container.prototype._createInvocationHandler = function _createInvocationHandler(fn) { + var dependencies = void 0; - this.collection = collection; - this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length'; - this.currentValue = collection[this.lengthPropertyName]; - } + if (fn.inject === undefined) { + dependencies = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, fn) || _emptyParameters; + } else { + dependencies = []; + var ctor = fn; + while (typeof ctor === 'function') { + var _dependencies; - CollectionLengthObserver.prototype.getValue = function getValue() { - return this.collection[this.lengthPropertyName]; - }; + (_dependencies = dependencies).push.apply(_dependencies, getDependencies(ctor)); + ctor = Object.getPrototypeOf(ctor); + } + } - CollectionLengthObserver.prototype.setValue = function setValue(newValue) { - this.collection[this.lengthPropertyName] = newValue; - }; + var invoker = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.invoker, fn) || classInvokers[dependencies.length] || classInvokers.fallback; - CollectionLengthObserver.prototype.subscribe = function subscribe(context, callable) { - this.addSubscriber(context, callable); + var handler = new InvocationHandler(fn, invoker, dependencies); + return this._onHandlerCreated !== undefined ? this._onHandlerCreated(handler) : handler; }; - CollectionLengthObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - this.removeSubscriber(context, callable); - }; + return Container; + }(); - CollectionLengthObserver.prototype.call = function call(newValue) { - var oldValue = this.currentValue; - this.callSubscribers(newValue, oldValue); - this.currentValue = newValue; + function autoinject(potentialTarget) { + var deco = function deco(target) { + var previousInject = target.inject ? target.inject.slice() : null; + var autoInject = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, target) || _emptyParameters; + if (!previousInject) { + target.inject = autoInject; + } else { + for (var i = 0; i < autoInject.length; i++) { + if (previousInject[i] && previousInject[i] !== autoInject[i]) { + var prevIndex = previousInject.indexOf(autoInject[i]); + if (prevIndex > -1) { + previousInject.splice(prevIndex, 1); + } + previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) { + previousInject[i] = autoInject[i]; + } + } + target.inject = previousInject; + } }; - return CollectionLengthObserver; - }()) || _class3); - - var pop = Array.prototype.pop; - var push = Array.prototype.push; - var reverse = Array.prototype.reverse; - var shift = Array.prototype.shift; - var sort = Array.prototype.sort; - var splice = Array.prototype.splice; - var unshift = Array.prototype.unshift; + return potentialTarget ? deco(potentialTarget) : deco; + } - Array.prototype.pop = function () { - var notEmpty = this.length > 0; - var methodCallResult = pop.apply(this, arguments); - if (notEmpty && this.__array_observer__ !== undefined) { - this.__array_observer__.addChangeRecord({ - type: 'delete', - object: this, - name: this.length, - oldValue: methodCallResult - }); + function inject() { + for (var _len5 = arguments.length, rest = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { + rest[_key5] = arguments[_key5]; } - return methodCallResult; - }; - Array.prototype.push = function () { - var methodCallResult = push.apply(this, arguments); - if (this.__array_observer__ !== undefined) { - this.__array_observer__.addChangeRecord({ - type: 'splice', - object: this, - index: this.length - arguments.length, - removed: [], - addedCount: arguments.length - }); - } - return methodCallResult; - }; + return function (target, key, descriptor) { + if (typeof descriptor === 'number' && rest.length === 1) { + var params = target.inject; + if (typeof params === 'function') { + throw new Error('Decorator inject cannot be used with "inject()". Please use an array instead.'); + } + if (!params) { + params = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, target).slice(); + target.inject = params; + } + params[descriptor] = rest[0]; + return; + } - Array.prototype.reverse = function () { - var oldArray = void 0; - if (this.__array_observer__ !== undefined) { - this.__array_observer__.flushChangeRecords(); - oldArray = this.slice(); - } - var methodCallResult = reverse.apply(this, arguments); - if (this.__array_observer__ !== undefined) { - this.__array_observer__.reset(oldArray); - } - return methodCallResult; - }; + if (descriptor) { + var _fn = descriptor.value; + _fn.inject = rest; + } else { + target.inject = rest; + } + }; + } +}); +define('aurelia-event-aggregator',['exports', 'aurelia-logging'], function (exports, _aureliaLogging) { + 'use strict'; - Array.prototype.shift = function () { - var notEmpty = this.length > 0; - var methodCallResult = shift.apply(this, arguments); - if (notEmpty && this.__array_observer__ !== undefined) { - this.__array_observer__.addChangeRecord({ - type: 'delete', - object: this, - name: 0, - oldValue: methodCallResult - }); - } - return methodCallResult; - }; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.EventAggregator = undefined; + exports.includeEventsIn = includeEventsIn; + exports.configure = configure; - Array.prototype.sort = function () { - var oldArray = void 0; - if (this.__array_observer__ !== undefined) { - this.__array_observer__.flushChangeRecords(); - oldArray = this.slice(); - } - var methodCallResult = sort.apply(this, arguments); - if (this.__array_observer__ !== undefined) { - this.__array_observer__.reset(oldArray); - } - return methodCallResult; - }; + var LogManager = _interopRequireWildcard(_aureliaLogging); - Array.prototype.splice = function () { - var methodCallResult = splice.apply(this, arguments); - if (this.__array_observer__ !== undefined) { - this.__array_observer__.addChangeRecord({ - type: 'splice', - object: this, - index: +arguments[0], - removed: methodCallResult, - addedCount: arguments.length > 2 ? arguments.length - 2 : 0 - }); - } - return methodCallResult; - }; + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; - Array.prototype.unshift = function () { - var methodCallResult = unshift.apply(this, arguments); - if (this.__array_observer__ !== undefined) { - this.__array_observer__.addChangeRecord({ - type: 'splice', - object: this, - index: 0, - removed: [], - addedCount: arguments.length - }); - } - return methodCallResult; - }; + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + } - function _getArrayObserver(taskQueue, array) { - return ModifyArrayObserver.for(taskQueue, array); + newObj.default = obj; + return newObj; + } } - exports.getArrayObserver = _getArrayObserver; + - var ModifyArrayObserver = function (_ModifyCollectionObse) { - _inherits(ModifyArrayObserver, _ModifyCollectionObse); + var logger = LogManager.getLogger('event-aggregator'); - function ModifyArrayObserver(taskQueue, array) { + var Handler = function () { + function Handler(messageType, callback) { - return _possibleConstructorReturn(this, _ModifyCollectionObse.call(this, taskQueue, array)); + this.messageType = messageType; + this.callback = callback; } - ModifyArrayObserver.for = function _for(taskQueue, array) { - if (!('__array_observer__' in array)) { - Reflect.defineProperty(array, '__array_observer__', { - value: ModifyArrayObserver.create(taskQueue, array), - enumerable: false, configurable: false - }); + Handler.prototype.handle = function handle(message) { + if (message instanceof this.messageType) { + this.callback.call(null, message); } - return array.__array_observer__; - }; - - ModifyArrayObserver.create = function create(taskQueue, array) { - return new ModifyArrayObserver(taskQueue, array); }; - return ModifyArrayObserver; - }(ModifyCollectionObserver); - - var Expression = exports.Expression = function () { - function Expression() { - + return Handler; + }(); - this.isChain = false; - this.isAssignable = false; + function invokeCallback(callback, data, event) { + try { + callback(data, event); + } catch (e) { + logger.error(e); } + } - Expression.prototype.evaluate = function evaluate(scope, lookupFunctions, args) { - throw new Error('Binding expression "' + this + '" cannot be evaluated.'); - }; - - Expression.prototype.assign = function assign(scope, value, lookupFunctions) { - throw new Error('Binding expression "' + this + '" cannot be assigned to.'); - }; - - Expression.prototype.toString = function toString() { - return Unparser.unparse(this); - }; - - return Expression; - }(); - - var Chain = exports.Chain = function (_Expression) { - _inherits(Chain, _Expression); + function invokeHandler(handler, data) { + try { + handler.handle(data); + } catch (e) { + logger.error(e); + } + } - function Chain(expressions) { + var EventAggregator = exports.EventAggregator = function () { + function EventAggregator() { - var _this3 = _possibleConstructorReturn(this, _Expression.call(this)); - - _this3.expressions = expressions; - _this3.isChain = true; - return _this3; + this.eventLookup = {}; + this.messageHandlers = []; } - Chain.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var result = void 0; - var expressions = this.expressions; - var last = void 0; + EventAggregator.prototype.publish = function publish(event, data) { + var subscribers = void 0; + var i = void 0; - for (var _i7 = 0, length = expressions.length; _i7 < length; ++_i7) { - last = expressions[_i7].evaluate(scope, lookupFunctions); + if (!event) { + throw new Error('Event was invalid.'); + } - if (last !== null) { - result = last; + if (typeof event === 'string') { + subscribers = this.eventLookup[event]; + if (subscribers) { + subscribers = subscribers.slice(); + i = subscribers.length; + + while (i--) { + invokeCallback(subscribers[i], data, event); + } } - } + } else { + subscribers = this.messageHandlers.slice(); + i = subscribers.length; - return result; + while (i--) { + invokeHandler(subscribers[i], event); + } + } }; - Chain.prototype.accept = function accept(visitor) { - return visitor.visitChain(this); - }; + EventAggregator.prototype.subscribe = function subscribe(event, callback) { + var handler = void 0; + var subscribers = void 0; - return Chain; - }(Expression); + if (!event) { + throw new Error('Event channel/type was invalid.'); + } - var BindingBehavior = exports.BindingBehavior = function (_Expression2) { - _inherits(BindingBehavior, _Expression2); + if (typeof event === 'string') { + handler = callback; + subscribers = this.eventLookup[event] || (this.eventLookup[event] = []); + } else { + handler = new Handler(event, callback); + subscribers = this.messageHandlers; + } - function BindingBehavior(expression, name, args) { - + subscribers.push(handler); - var _this4 = _possibleConstructorReturn(this, _Expression2.call(this)); + return { + dispose: function dispose() { + var idx = subscribers.indexOf(handler); + if (idx !== -1) { + subscribers.splice(idx, 1); + } + } + }; + }; - _this4.expression = expression; - _this4.name = name; - _this4.args = args; - return _this4; - } + EventAggregator.prototype.subscribeOnce = function subscribeOnce(event, callback) { + var sub = this.subscribe(event, function (a, b) { + sub.dispose(); + return callback(a, b); + }); - BindingBehavior.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return this.expression.evaluate(scope, lookupFunctions); + return sub; }; - BindingBehavior.prototype.assign = function assign(scope, value, lookupFunctions) { - return this.expression.assign(scope, value, lookupFunctions); - }; + return EventAggregator; + }(); - BindingBehavior.prototype.accept = function accept(visitor) { - return visitor.visitBindingBehavior(this); - }; + function includeEventsIn(obj) { + var ea = new EventAggregator(); - BindingBehavior.prototype.connect = function connect(binding, scope) { - this.expression.connect(binding, scope); + obj.subscribeOnce = function (event, callback) { + return ea.subscribeOnce(event, callback); }; - BindingBehavior.prototype.bind = function bind(binding, scope, lookupFunctions) { - if (this.expression.expression && this.expression.bind) { - this.expression.bind(binding, scope, lookupFunctions); - } - var behavior = lookupFunctions.bindingBehaviors(this.name); - if (!behavior) { - throw new Error('No BindingBehavior named "' + this.name + '" was found!'); - } - var behaviorKey = 'behavior-' + this.name; - if (binding[behaviorKey]) { - throw new Error('A binding behavior named "' + this.name + '" has already been applied to "' + this.expression + '"'); - } - binding[behaviorKey] = behavior; - behavior.bind.apply(behavior, [binding, scope].concat(evalList(scope, this.args, binding.lookupFunctions))); + obj.subscribe = function (event, callback) { + return ea.subscribe(event, callback); }; - BindingBehavior.prototype.unbind = function unbind(binding, scope) { - var behaviorKey = 'behavior-' + this.name; - binding[behaviorKey].unbind(binding, scope); - binding[behaviorKey] = null; - if (this.expression.expression && this.expression.unbind) { - this.expression.unbind(binding, scope); - } + obj.publish = function (event, data) { + ea.publish(event, data); }; - return BindingBehavior; - }(Expression); - - var ValueConverter = exports.ValueConverter = function (_Expression3) { - _inherits(ValueConverter, _Expression3); + return ea; + } - function ValueConverter(expression, name, args, allArgs) { - + function configure(config) { + config.instance(EventAggregator, includeEventsIn(config.aurelia)); + } +}); +define('aurelia-binding',['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aurelia-metadata'], function (exports, _aureliaLogging, _aureliaPal, _aureliaTaskQueue, _aureliaMetadata) { + 'use strict'; - var _this5 = _possibleConstructorReturn(this, _Expression3.call(this)); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.getSetObserver = exports.BindingEngine = exports.NameExpression = exports.Listener = exports.ListenerExpression = exports.BindingBehaviorResource = exports.ValueConverterResource = exports.Call = exports.CallExpression = exports.Binding = exports.BindingExpression = exports.ObjectObservationAdapter = exports.ObserverLocator = exports.SVGAnalyzer = exports.presentationAttributes = exports.presentationElements = exports.elements = exports.ComputedExpression = exports.ClassObserver = exports.SelectValueObserver = exports.CheckedObserver = exports.ValueAttributeObserver = exports.StyleObserver = exports.DataAttributeObserver = exports.dataAttributeAccessor = exports.XLinkAttributeObserver = exports.SetterObserver = exports.PrimitiveObserver = exports.propertyAccessor = exports.DirtyCheckProperty = exports.DirtyChecker = exports.EventManager = exports.delegationStrategy = exports.getMapObserver = exports.ParserImplementation = exports.Parser = exports.Scanner = exports.Lexer = exports.Token = exports.bindingMode = exports.ExpressionCloner = exports.Unparser = exports.LiteralObject = exports.LiteralArray = exports.LiteralString = exports.LiteralPrimitive = exports.PrefixNot = exports.Binary = exports.CallFunction = exports.CallMember = exports.CallScope = exports.AccessKeyed = exports.AccessMember = exports.AccessScope = exports.AccessThis = exports.Conditional = exports.Assign = exports.ValueConverter = exports.BindingBehavior = exports.Chain = exports.Expression = exports.getArrayObserver = exports.CollectionLengthObserver = exports.ModifyCollectionObserver = exports.ExpressionObserver = exports.sourceContext = undefined; + exports.camelCase = camelCase; + exports.createOverrideContext = createOverrideContext; + exports.getContextFor = getContextFor; + exports.createScopeForTest = createScopeForTest; + exports.connectable = connectable; + exports.enqueueBindingConnect = enqueueBindingConnect; + exports.subscriberCollection = subscriberCollection; + exports.calcSplices = calcSplices; + exports.mergeSplice = mergeSplice; + exports.projectArraySplices = projectArraySplices; + exports.getChangeRecords = getChangeRecords; + exports.cloneExpression = cloneExpression; + exports.hasDeclaredDependencies = hasDeclaredDependencies; + exports.declarePropertyDependencies = declarePropertyDependencies; + exports.computedFrom = computedFrom; + exports.createComputedObserver = createComputedObserver; + exports.valueConverter = valueConverter; + exports.bindingBehavior = bindingBehavior; + exports.observable = observable; - _this5.expression = expression; - _this5.name = name; - _this5.args = args; - _this5.allArgs = allArgs; - return _this5; - } + var LogManager = _interopRequireWildcard(_aureliaLogging); - ValueConverter.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var converter = lookupFunctions.valueConverters(this.name); - if (!converter) { - throw new Error('No ValueConverter named "' + this.name + '" was found!'); - } + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; - if ('toView' in converter) { - return converter.toView.apply(converter, evalList(scope, this.allArgs, lookupFunctions)); + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } } - return this.allArgs[0].evaluate(scope, lookupFunctions); - }; + newObj.default = obj; + return newObj; + } + } - ValueConverter.prototype.assign = function assign(scope, value, lookupFunctions) { - var converter = lookupFunctions.valueConverters(this.name); - if (!converter) { - throw new Error('No ValueConverter named "' + this.name + '" was found!'); - } + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + }; - if ('fromView' in converter) { - value = converter.fromView.apply(converter, [value].concat(evalList(scope, this.args, lookupFunctions))); + var _createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); } + } - return this.allArgs[0].assign(scope, value, lookupFunctions); + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; }; + }(); - ValueConverter.prototype.accept = function accept(visitor) { - return visitor.visitValueConverter(this); - }; + function _possibleConstructorReturn(self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } - ValueConverter.prototype.connect = function connect(binding, scope) { - var expressions = this.allArgs; - var i = expressions.length; - while (i--) { - expressions[i].connect(binding, scope); - } - }; - - return ValueConverter; - }(Expression); - - var Assign = exports.Assign = function (_Expression4) { - _inherits(Assign, _Expression4); - - function Assign(target, value) { - - - var _this6 = _possibleConstructorReturn(this, _Expression4.call(this)); + return call && (typeof call === "object" || typeof call === "function") ? call : self; + } - _this6.target = target; - _this6.value = value; - return _this6; + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } - Assign.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return this.target.assign(scope, this.value.evaluate(scope, lookupFunctions)); - }; - - Assign.prototype.accept = function accept(vistor) { - vistor.visitAssign(this); - }; - - Assign.prototype.connect = function connect(binding, scope) {}; - - return Assign; - }(Expression); + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + } - var Conditional = exports.Conditional = function (_Expression5) { - _inherits(Conditional, _Expression5); + - function Conditional(condition, yes, no) { - + var _dec, _dec2, _class, _dec3, _class2, _dec4, _class3, _dec5, _class5, _dec6, _class7, _dec7, _class8, _dec8, _class9, _dec9, _class10, _class11, _temp, _dec10, _class12, _class13, _temp2; - var _this7 = _possibleConstructorReturn(this, _Expression5.call(this)); + var map = Object.create(null); - _this7.condition = condition; - _this7.yes = yes; - _this7.no = no; - return _this7; + function camelCase(name) { + if (name in map) { + return map[name]; } + var result = name.charAt(0).toLowerCase() + name.slice(1).replace(/[_.-](\w|$)/g, function (_, x) { + return x.toUpperCase(); + }); + map[name] = result; + return result; + } - Conditional.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return !!this.condition.evaluate(scope) ? this.yes.evaluate(scope) : this.no.evaluate(scope); + function createOverrideContext(bindingContext, parentOverrideContext) { + return { + bindingContext: bindingContext, + parentOverrideContext: parentOverrideContext || null }; + } - Conditional.prototype.accept = function accept(visitor) { - return visitor.visitConditional(this); - }; + function getContextFor(name, scope, ancestor) { + var oc = scope.overrideContext; - Conditional.prototype.connect = function connect(binding, scope) { - this.condition.connect(binding, scope); - if (this.condition.evaluate(scope)) { - this.yes.connect(binding, scope); - } else { - this.no.connect(binding, scope); + if (ancestor) { + while (ancestor && oc) { + ancestor--; + oc = oc.parentOverrideContext; } - }; - - return Conditional; - }(Expression); - - var AccessThis = exports.AccessThis = function (_Expression6) { - _inherits(AccessThis, _Expression6); - - function AccessThis(ancestor) { - - - var _this8 = _possibleConstructorReturn(this, _Expression6.call(this)); + if (ancestor || !oc) { + return undefined; + } + return name in oc ? oc : oc.bindingContext; + } - _this8.ancestor = ancestor; - return _this8; + while (oc && !(name in oc) && !(oc.bindingContext && name in oc.bindingContext)) { + oc = oc.parentOverrideContext; + } + if (oc) { + return name in oc ? oc : oc.bindingContext; } - AccessThis.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var oc = scope.overrideContext; - var i = this.ancestor; - while (i-- && oc) { - oc = oc.parentOverrideContext; - } - return i < 1 && oc ? oc.bindingContext : undefined; - }; + return scope.bindingContext || scope.overrideContext; + } - AccessThis.prototype.accept = function accept(visitor) { - return visitor.visitAccessThis(this); + function createScopeForTest(bindingContext, parentBindingContext) { + if (parentBindingContext) { + return { + bindingContext: bindingContext, + overrideContext: createOverrideContext(bindingContext, createOverrideContext(parentBindingContext)) + }; + } + return { + bindingContext: bindingContext, + overrideContext: createOverrideContext(bindingContext) }; + } - AccessThis.prototype.connect = function connect(binding, scope) {}; + var sourceContext = exports.sourceContext = 'Binding:source'; + var slotNames = []; + var versionSlotNames = []; - return AccessThis; - }(Expression); + for (var i = 0; i < 100; i++) { + slotNames.push('_observer' + i); + versionSlotNames.push('_observerVersion' + i); + } - var AccessScope = exports.AccessScope = function (_Expression7) { - _inherits(AccessScope, _Expression7); + function addObserver(observer) { + var observerSlots = this._observerSlots === undefined ? 0 : this._observerSlots; + var i = observerSlots; + while (i-- && this[slotNames[i]] !== observer) {} - function AccessScope(name, ancestor) { - + if (i === -1) { + i = 0; + while (this[slotNames[i]]) { + i++; + } + this[slotNames[i]] = observer; + observer.subscribe(sourceContext, this); - var _this9 = _possibleConstructorReturn(this, _Expression7.call(this)); + if (i === observerSlots) { + this._observerSlots = i + 1; + } + } - _this9.name = name; - _this9.ancestor = ancestor; - _this9.isAssignable = true; - return _this9; + if (this._version === undefined) { + this._version = 0; } + this[versionSlotNames[i]] = this._version; + } - AccessScope.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var context = getContextFor(this.name, scope, this.ancestor); - return context[this.name]; - }; + function observeProperty(obj, propertyName) { + var observer = this.observerLocator.getObserver(obj, propertyName); + addObserver.call(this, observer); + } - AccessScope.prototype.assign = function assign(scope, value) { - var context = getContextFor(this.name, scope, this.ancestor); - return context ? context[this.name] = value : undefined; - }; + function observeArray(array) { + var observer = this.observerLocator.getArrayObserver(array); + addObserver.call(this, observer); + } - AccessScope.prototype.accept = function accept(visitor) { - return visitor.visitAccessScope(this); - }; + function unobserve(all) { + var i = this._observerSlots; + while (i--) { + if (all || this[versionSlotNames[i]] !== this._version) { + var observer = this[slotNames[i]]; + this[slotNames[i]] = null; + if (observer) { + observer.unsubscribe(sourceContext, this); + } + } + } + } - AccessScope.prototype.connect = function connect(binding, scope) { - var context = getContextFor(this.name, scope, this.ancestor); - binding.observeProperty(context, this.name); + function connectable() { + return function (target) { + target.prototype.observeProperty = observeProperty; + target.prototype.observeArray = observeArray; + target.prototype.unobserve = unobserve; + target.prototype.addObserver = addObserver; }; + } - return AccessScope; - }(Expression); - - var AccessMember = exports.AccessMember = function (_Expression8) { - _inherits(AccessMember, _Expression8); + var queue = []; + var queued = {}; + var nextId = 0; + var minimumImmediate = 100; + var frameBudget = 15; - function AccessMember(object, name) { - + var isFlushRequested = false; + var immediate = 0; - var _this10 = _possibleConstructorReturn(this, _Expression8.call(this)); + function flush(animationFrameStart) { + var length = queue.length; + var i = 0; + while (i < length) { + var binding = queue[i]; + queued[binding.__connectQueueId] = false; + binding.connect(true); + i++; - _this10.object = object; - _this10.name = name; - _this10.isAssignable = true; - return _this10; + if (i % 100 === 0 && _aureliaPal.PLATFORM.performance.now() - animationFrameStart > frameBudget) { + break; + } } + queue.splice(0, i); - AccessMember.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var instance = this.object.evaluate(scope, lookupFunctions); - return instance === null || instance === undefined ? instance : instance[this.name]; - }; + if (queue.length) { + _aureliaPal.PLATFORM.requestAnimationFrame(flush); + } else { + isFlushRequested = false; + immediate = 0; + } + } - AccessMember.prototype.assign = function assign(scope, value) { - var instance = this.object.evaluate(scope); + function enqueueBindingConnect(binding) { + if (immediate < minimumImmediate) { + immediate++; + binding.connect(false); + } else { + var id = binding.__connectQueueId; + if (id === undefined) { + id = nextId; + nextId++; + binding.__connectQueueId = id; + } - if (instance === null || instance === undefined) { - instance = {}; - this.object.assign(scope, instance); + if (!queued[id]) { + queue.push(binding); + queued[id] = true; } + } + if (!isFlushRequested) { + isFlushRequested = true; + _aureliaPal.PLATFORM.requestAnimationFrame(flush); + } + } - instance[this.name] = value; - return value; - }; + function addSubscriber(context, callable) { + if (this.hasSubscriber(context, callable)) { + return false; + } + if (!this._context0) { + this._context0 = context; + this._callable0 = callable; + return true; + } + if (!this._context1) { + this._context1 = context; + this._callable1 = callable; + return true; + } + if (!this._context2) { + this._context2 = context; + this._callable2 = callable; + return true; + } + if (!this._contextsRest) { + this._contextsRest = [context]; + this._callablesRest = [callable]; + return true; + } + this._contextsRest.push(context); + this._callablesRest.push(callable); + return true; + } - AccessMember.prototype.accept = function accept(visitor) { - return visitor.visitAccessMember(this); - }; + function removeSubscriber(context, callable) { + if (this._context0 === context && this._callable0 === callable) { + this._context0 = null; + this._callable0 = null; + return true; + } + if (this._context1 === context && this._callable1 === callable) { + this._context1 = null; + this._callable1 = null; + return true; + } + if (this._context2 === context && this._callable2 === callable) { + this._context2 = null; + this._callable2 = null; + return true; + } + var rest = this._contextsRest; + var index = void 0; + if (!rest || !rest.length || (index = rest.indexOf(context)) === -1 || this._callablesRest[index] !== callable) { + return false; + } + rest.splice(index, 1); + this._callablesRest.splice(index, 1); + return true; + } - AccessMember.prototype.connect = function connect(binding, scope) { - this.object.connect(binding, scope); - var obj = this.object.evaluate(scope); - if (obj) { - binding.observeProperty(obj, this.name); - } - }; + var arrayPool1 = []; + var arrayPool2 = []; + var poolUtilization = []; - return AccessMember; - }(Expression); + function callSubscribers(newValue, oldValue) { + var context0 = this._context0; + var callable0 = this._callable0; + var context1 = this._context1; + var callable1 = this._callable1; + var context2 = this._context2; + var callable2 = this._callable2; + var length = this._contextsRest ? this._contextsRest.length : 0; + var contextsRest = void 0; + var callablesRest = void 0; + var poolIndex = void 0; + var i = void 0; + if (length) { + poolIndex = poolUtilization.length; + while (poolIndex-- && poolUtilization[poolIndex]) {} + if (poolIndex < 0) { + poolIndex = poolUtilization.length; + contextsRest = []; + callablesRest = []; + poolUtilization.push(true); + arrayPool1.push(contextsRest); + arrayPool2.push(callablesRest); + } else { + poolUtilization[poolIndex] = true; + contextsRest = arrayPool1[poolIndex]; + callablesRest = arrayPool2[poolIndex]; + } - var AccessKeyed = exports.AccessKeyed = function (_Expression9) { - _inherits(AccessKeyed, _Expression9); + i = length; + while (i--) { + contextsRest[i] = this._contextsRest[i]; + callablesRest[i] = this._callablesRest[i]; + } + } - function AccessKeyed(object, key) { - + if (context0) { + if (callable0) { + callable0.call(context0, newValue, oldValue); + } else { + context0(newValue, oldValue); + } + } + if (context1) { + if (callable1) { + callable1.call(context1, newValue, oldValue); + } else { + context1(newValue, oldValue); + } + } + if (context2) { + if (callable2) { + callable2.call(context2, newValue, oldValue); + } else { + context2(newValue, oldValue); + } + } + if (length) { + for (i = 0; i < length; i++) { + var callable = callablesRest[i]; + var context = contextsRest[i]; + if (callable) { + callable.call(context, newValue, oldValue); + } else { + context(newValue, oldValue); + } + contextsRest[i] = null; + callablesRest[i] = null; + } + poolUtilization[poolIndex] = false; + } + } - var _this11 = _possibleConstructorReturn(this, _Expression9.call(this)); + function hasSubscribers() { + return !!(this._context0 || this._context1 || this._context2 || this._contextsRest && this._contextsRest.length); + } - _this11.object = object; - _this11.key = key; - _this11.isAssignable = true; - return _this11; + function hasSubscriber(context, callable) { + var has = this._context0 === context && this._callable0 === callable || this._context1 === context && this._callable1 === callable || this._context2 === context && this._callable2 === callable; + if (has) { + return true; + } + var index = void 0; + var contexts = this._contextsRest; + if (!contexts || (index = contexts.length) === 0) { + return false; + } + var callables = this._callablesRest; + while (index--) { + if (contexts[index] === context && callables[index] === callable) { + return true; + } } + return false; + } - AccessKeyed.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var instance = this.object.evaluate(scope, lookupFunctions); - var lookup = this.key.evaluate(scope, lookupFunctions); - return getKeyed(instance, lookup); + function subscriberCollection() { + return function (target) { + target.prototype.addSubscriber = addSubscriber; + target.prototype.removeSubscriber = removeSubscriber; + target.prototype.callSubscribers = callSubscribers; + target.prototype.hasSubscribers = hasSubscribers; + target.prototype.hasSubscriber = hasSubscriber; }; + } - AccessKeyed.prototype.assign = function assign(scope, value) { - var instance = this.object.evaluate(scope); - var lookup = this.key.evaluate(scope); - return setKeyed(instance, lookup, value); + var ExpressionObserver = exports.ExpressionObserver = (_dec = connectable(), _dec2 = subscriberCollection(), _dec(_class = _dec2(_class = function () { + function ExpressionObserver(scope, expression, observerLocator, lookupFunctions) { + + + this.scope = scope; + this.expression = expression; + this.observerLocator = observerLocator; + this.lookupFunctions = lookupFunctions; + } + + ExpressionObserver.prototype.getValue = function getValue() { + return this.expression.evaluate(this.scope, this.lookupFunctions); }; - AccessKeyed.prototype.accept = function accept(visitor) { - return visitor.visitAccessKeyed(this); + ExpressionObserver.prototype.setValue = function setValue(newValue) { + this.expression.assign(this.scope, newValue); }; - AccessKeyed.prototype.connect = function connect(binding, scope) { - this.object.connect(binding, scope); - var obj = this.object.evaluate(scope); - if (obj instanceof Object) { - this.key.connect(binding, scope); - var key = this.key.evaluate(scope); + ExpressionObserver.prototype.subscribe = function subscribe(context, callable) { + var _this = this; - if (key !== null && key !== undefined && !(Array.isArray(obj) && typeof key === 'number')) { - binding.observeProperty(obj, key); - } + if (!this.hasSubscribers()) { + this.oldValue = this.expression.evaluate(this.scope, this.lookupFunctions); + this.expression.connect(this, this.scope); + } + this.addSubscriber(context, callable); + if (arguments.length === 1 && context instanceof Function) { + return { + dispose: function dispose() { + _this.unsubscribe(context, callable); + } + }; } }; - return AccessKeyed; - }(Expression); + ExpressionObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { + this.unobserve(true); + this.oldValue = undefined; + } + }; - var CallScope = exports.CallScope = function (_Expression10) { - _inherits(CallScope, _Expression10); - - function CallScope(name, args, ancestor) { - - - var _this12 = _possibleConstructorReturn(this, _Expression10.call(this)); - - _this12.name = name; - _this12.args = args; - _this12.ancestor = ancestor; - return _this12; - } - - CallScope.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { - var args = evalList(scope, this.args, lookupFunctions); - var context = getContextFor(this.name, scope, this.ancestor); - var func = getFunction(context, this.name, mustEvaluate); - if (func) { - return func.apply(context, args); + ExpressionObserver.prototype.call = function call() { + var newValue = this.expression.evaluate(this.scope, this.lookupFunctions); + var oldValue = this.oldValue; + if (newValue !== oldValue) { + this.oldValue = newValue; + this.callSubscribers(newValue, oldValue); } - return undefined; + this._version++; + this.expression.connect(this, this.scope); + this.unobserve(false); }; - CallScope.prototype.accept = function accept(visitor) { - return visitor.visitCallScope(this); - }; + return ExpressionObserver; + }()) || _class) || _class); - CallScope.prototype.connect = function connect(binding, scope) { - var args = this.args; - var i = args.length; - while (i--) { - args[i].connect(binding, scope); - } - }; - return CallScope; - }(Expression); + function isIndex(s) { + return +s === s >>> 0; + } - var CallMember = exports.CallMember = function (_Expression11) { - _inherits(CallMember, _Expression11); + function toNumber(s) { + return +s; + } - function CallMember(object, name, args) { - + function newSplice(index, removed, addedCount) { + return { + index: index, + removed: removed, + addedCount: addedCount + }; + } - var _this13 = _possibleConstructorReturn(this, _Expression11.call(this)); + var EDIT_LEAVE = 0; + var EDIT_UPDATE = 1; + var EDIT_ADD = 2; + var EDIT_DELETE = 3; - _this13.object = object; - _this13.name = name; - _this13.args = args; - return _this13; - } + function ArraySplice() {} - CallMember.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { - var instance = this.object.evaluate(scope, lookupFunctions); - var args = evalList(scope, this.args, lookupFunctions); - var func = getFunction(instance, this.name, mustEvaluate); - if (func) { - return func.apply(instance, args); + ArraySplice.prototype = { + calcEditDistances: function calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) { + var rowCount = oldEnd - oldStart + 1; + var columnCount = currentEnd - currentStart + 1; + var distances = new Array(rowCount); + var north = void 0; + var west = void 0; + + for (var _i = 0; _i < rowCount; ++_i) { + distances[_i] = new Array(columnCount); + distances[_i][0] = _i; } - return undefined; - }; - CallMember.prototype.accept = function accept(visitor) { - return visitor.visitCallMember(this); - }; + for (var j = 0; j < columnCount; ++j) { + distances[0][j] = j; + } - CallMember.prototype.connect = function connect(binding, scope) { - this.object.connect(binding, scope); - var obj = this.object.evaluate(scope); - if (getFunction(obj, this.name, false)) { - var args = this.args; - var _i8 = args.length; - while (_i8--) { - args[_i8].connect(binding, scope); + for (var _i2 = 1; _i2 < rowCount; ++_i2) { + for (var _j = 1; _j < columnCount; ++_j) { + if (this.equals(current[currentStart + _j - 1], old[oldStart + _i2 - 1])) { + distances[_i2][_j] = distances[_i2 - 1][_j - 1]; + } else { + north = distances[_i2 - 1][_j] + 1; + west = distances[_i2][_j - 1] + 1; + distances[_i2][_j] = north < west ? north : west; + } } } - }; - return CallMember; - }(Expression); + return distances; + }, - var CallFunction = exports.CallFunction = function (_Expression12) { - _inherits(CallFunction, _Expression12); + spliceOperationsFromEditDistances: function spliceOperationsFromEditDistances(distances) { + var i = distances.length - 1; + var j = distances[0].length - 1; + var current = distances[i][j]; + var edits = []; + while (i > 0 || j > 0) { + if (i === 0) { + edits.push(EDIT_ADD); + j--; + continue; + } + if (j === 0) { + edits.push(EDIT_DELETE); + i--; + continue; + } + var northWest = distances[i - 1][j - 1]; + var west = distances[i - 1][j]; + var north = distances[i][j - 1]; - function CallFunction(func, args) { - + var min = void 0; + if (west < north) { + min = west < northWest ? west : northWest; + } else { + min = north < northWest ? north : northWest; + } - var _this14 = _possibleConstructorReturn(this, _Expression12.call(this)); + if (min === northWest) { + if (northWest === current) { + edits.push(EDIT_LEAVE); + } else { + edits.push(EDIT_UPDATE); + current = northWest; + } + i--; + j--; + } else if (min === west) { + edits.push(EDIT_DELETE); + i--; + current = west; + } else { + edits.push(EDIT_ADD); + j--; + current = north; + } + } - _this14.func = func; - _this14.args = args; - return _this14; - } + edits.reverse(); + return edits; + }, - CallFunction.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { - var func = this.func.evaluate(scope, lookupFunctions); - if (typeof func === 'function') { - return func.apply(null, evalList(scope, this.args, lookupFunctions)); + calcSplices: function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) { + var prefixCount = 0; + var suffixCount = 0; + + var minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart); + if (currentStart === 0 && oldStart === 0) { + prefixCount = this.sharedPrefix(current, old, minLength); } - if (!mustEvaluate && (func === null || func === undefined)) { - return undefined; + + if (currentEnd === current.length && oldEnd === old.length) { + suffixCount = this.sharedSuffix(current, old, minLength - prefixCount); } - throw new Error(this.func + ' is not a function'); - }; - CallFunction.prototype.accept = function accept(visitor) { - return visitor.visitCallFunction(this); - }; + currentStart += prefixCount; + oldStart += prefixCount; + currentEnd -= suffixCount; + oldEnd -= suffixCount; - CallFunction.prototype.connect = function connect(binding, scope) { - this.func.connect(binding, scope); - var func = this.func.evaluate(scope); - if (typeof func === 'function') { - var args = this.args; - var _i9 = args.length; - while (_i9--) { - args[_i9].connect(binding, scope); - } + if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) { + return []; } - }; - return CallFunction; - }(Expression); + if (currentStart === currentEnd) { + var _splice = newSplice(currentStart, [], 0); + while (oldStart < oldEnd) { + _splice.removed.push(old[oldStart++]); + } - var Binary = exports.Binary = function (_Expression13) { - _inherits(Binary, _Expression13); + return [_splice]; + } else if (oldStart === oldEnd) { + return [newSplice(currentStart, [], currentEnd - currentStart)]; + } - function Binary(operation, left, right) { - + var ops = this.spliceOperationsFromEditDistances(this.calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd)); - var _this15 = _possibleConstructorReturn(this, _Expression13.call(this)); + var splice = undefined; + var splices = []; + var index = currentStart; + var oldIndex = oldStart; + for (var _i3 = 0; _i3 < ops.length; ++_i3) { + switch (ops[_i3]) { + case EDIT_LEAVE: + if (splice) { + splices.push(splice); + splice = undefined; + } - _this15.operation = operation; - _this15.left = left; - _this15.right = right; - return _this15; - } + index++; + oldIndex++; + break; + case EDIT_UPDATE: + if (!splice) { + splice = newSplice(index, [], 0); + } - Binary.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var left = this.left.evaluate(scope); + splice.addedCount++; + index++; - switch (this.operation) { - case '&&': - return left && this.right.evaluate(scope); - case '||': - return left || this.right.evaluate(scope); - } - - var right = this.right.evaluate(scope); + splice.removed.push(old[oldIndex]); + oldIndex++; + break; + case EDIT_ADD: + if (!splice) { + splice = newSplice(index, [], 0); + } - switch (this.operation) { - case '==': - return left == right; - case '===': - return left === right; - case '!=': - return left != right; - case '!==': - return left !== right; - } + splice.addedCount++; + index++; + break; + case EDIT_DELETE: + if (!splice) { + splice = newSplice(index, [], 0); + } - if (left === null || right === null || left === undefined || right === undefined) { - switch (this.operation) { - case '+': - if (left !== null && left !== undefined) return left; - if (right !== null && right !== undefined) return right; - return 0; - case '-': - if (left !== null && left !== undefined) return left; - if (right !== null && right !== undefined) return 0 - right; - return 0; + splice.removed.push(old[oldIndex]); + oldIndex++; + break; } - - return null; } - switch (this.operation) { - case '+': - return autoConvertAdd(left, right); - case '-': - return left - right; - case '*': - return left * right; - case '/': - return left / right; - case '%': - return left % right; - case '<': - return left < right; - case '>': - return left > right; - case '<=': - return left <= right; - case '>=': - return left >= right; - case '^': - return left ^ right; + if (splice) { + splices.push(splice); } + return splices; + }, - throw new Error('Internal error [' + this.operation + '] not handled'); - }; - - Binary.prototype.accept = function accept(visitor) { - return visitor.visitBinary(this); - }; - - Binary.prototype.connect = function connect(binding, scope) { - this.left.connect(binding, scope); - var left = this.left.evaluate(scope); - if (this.operation === '&&' && !left || this.operation === '||' && left) { - return; + sharedPrefix: function sharedPrefix(current, old, searchLength) { + for (var _i4 = 0; _i4 < searchLength; ++_i4) { + if (!this.equals(current[_i4], old[_i4])) { + return _i4; + } } - this.right.connect(binding, scope); - }; - return Binary; - }(Expression); + return searchLength; + }, - var PrefixNot = exports.PrefixNot = function (_Expression14) { - _inherits(PrefixNot, _Expression14); + sharedSuffix: function sharedSuffix(current, old, searchLength) { + var index1 = current.length; + var index2 = old.length; + var count = 0; + while (count < searchLength && this.equals(current[--index1], old[--index2])) { + count++; + } - function PrefixNot(operation, expression) { - + return count; + }, - var _this16 = _possibleConstructorReturn(this, _Expression14.call(this)); + calculateSplices: function calculateSplices(current, previous) { + return this.calcSplices(current, 0, current.length, previous, 0, previous.length); + }, - _this16.operation = operation; - _this16.expression = expression; - return _this16; + equals: function equals(currentValue, previousValue) { + return currentValue === previousValue; } + }; - PrefixNot.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return !this.expression.evaluate(scope); - }; - - PrefixNot.prototype.accept = function accept(visitor) { - return visitor.visitPrefix(this); - }; - - PrefixNot.prototype.connect = function connect(binding, scope) { - this.expression.connect(binding, scope); - }; + var arraySplice = new ArraySplice(); - return PrefixNot; - }(Expression); + function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) { + return arraySplice.calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd); + } - var LiteralPrimitive = exports.LiteralPrimitive = function (_Expression15) { - _inherits(LiteralPrimitive, _Expression15); + function intersect(start1, end1, start2, end2) { + if (end1 < start2 || end2 < start1) { + return -1; + } - function LiteralPrimitive(value) { - + if (end1 === start2 || end2 === start1) { + return 0; + } - var _this17 = _possibleConstructorReturn(this, _Expression15.call(this)); + if (start1 < start2) { + if (end1 < end2) { + return end1 - start2; + } - _this17.value = value; - return _this17; + return end2 - start2; } - LiteralPrimitive.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return this.value; - }; + if (end2 < end1) { + return end2 - start1; + } - LiteralPrimitive.prototype.accept = function accept(visitor) { - return visitor.visitLiteralPrimitive(this); - }; + return end1 - start1; + } - LiteralPrimitive.prototype.connect = function connect(binding, scope) {}; + function mergeSplice(splices, index, removed, addedCount) { + var splice = newSplice(index, removed, addedCount); - return LiteralPrimitive; - }(Expression); + var inserted = false; + var insertionOffset = 0; - var LiteralString = exports.LiteralString = function (_Expression16) { - _inherits(LiteralString, _Expression16); + for (var _i5 = 0; _i5 < splices.length; _i5++) { + var current = splices[_i5]; + current.index += insertionOffset; - function LiteralString(value) { - + if (inserted) { + continue; + } - var _this18 = _possibleConstructorReturn(this, _Expression16.call(this)); + var intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount); - _this18.value = value; - return _this18; - } + if (intersectCount >= 0) { - LiteralString.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return this.value; - }; + splices.splice(_i5, 1); + _i5--; - LiteralString.prototype.accept = function accept(visitor) { - return visitor.visitLiteralString(this); - }; + insertionOffset -= current.addedCount - current.removed.length; - LiteralString.prototype.connect = function connect(binding, scope) {}; + splice.addedCount += current.addedCount - intersectCount; + var deleteCount = splice.removed.length + current.removed.length - intersectCount; - return LiteralString; - }(Expression); + if (!splice.addedCount && !deleteCount) { + inserted = true; + } else { + var currentRemoved = current.removed; - var LiteralArray = exports.LiteralArray = function (_Expression17) { - _inherits(LiteralArray, _Expression17); + if (splice.index < current.index) { + var prepend = splice.removed.slice(0, current.index - splice.index); + Array.prototype.push.apply(prepend, currentRemoved); + currentRemoved = prepend; + } - function LiteralArray(elements) { - + if (splice.index + splice.removed.length > current.index + current.addedCount) { + var append = splice.removed.slice(current.index + current.addedCount - splice.index); + Array.prototype.push.apply(currentRemoved, append); + } - var _this19 = _possibleConstructorReturn(this, _Expression17.call(this)); + splice.removed = currentRemoved; + if (current.index < splice.index) { + splice.index = current.index; + } + } + } else if (splice.index < current.index) { - _this19.elements = elements; - return _this19; - } + inserted = true; - LiteralArray.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var elements = this.elements; - var result = []; + splices.splice(_i5, 0, splice); + _i5++; - for (var _i10 = 0, length = elements.length; _i10 < length; ++_i10) { - result[_i10] = elements[_i10].evaluate(scope, lookupFunctions); + var offset = splice.addedCount - splice.removed.length; + current.index += offset; + insertionOffset += offset; } + } - return result; - }; + if (!inserted) { + splices.push(splice); + } + } - LiteralArray.prototype.accept = function accept(visitor) { - return visitor.visitLiteralArray(this); - }; + function createInitialSplices(array, changeRecords) { + var splices = []; - LiteralArray.prototype.connect = function connect(binding, scope) { - var length = this.elements.length; - for (var _i11 = 0; _i11 < length; _i11++) { - this.elements[_i11].connect(binding, scope); - } - }; - - return LiteralArray; - }(Expression); - - var LiteralObject = exports.LiteralObject = function (_Expression18) { - _inherits(LiteralObject, _Expression18); - - function LiteralObject(keys, values) { - - - var _this20 = _possibleConstructorReturn(this, _Expression18.call(this)); - - _this20.keys = keys; - _this20.values = values; - return _this20; - } - - LiteralObject.prototype.evaluate = function evaluate(scope, lookupFunctions) { - var instance = {}; - var keys = this.keys; - var values = this.values; - - for (var _i12 = 0, length = keys.length; _i12 < length; ++_i12) { - instance[keys[_i12]] = values[_i12].evaluate(scope, lookupFunctions); - } - - return instance; - }; + for (var _i6 = 0; _i6 < changeRecords.length; _i6++) { + var record = changeRecords[_i6]; + switch (record.type) { + case 'splice': + mergeSplice(splices, record.index, record.removed.slice(), record.addedCount); + break; + case 'add': + case 'update': + case 'delete': + if (!isIndex(record.name)) { + continue; + } - LiteralObject.prototype.accept = function accept(visitor) { - return visitor.visitLiteralObject(this); - }; + var index = toNumber(record.name); + if (index < 0) { + continue; + } - LiteralObject.prototype.connect = function connect(binding, scope) { - var length = this.keys.length; - for (var _i13 = 0; _i13 < length; _i13++) { - this.values[_i13].connect(binding, scope); + mergeSplice(splices, index, [record.oldValue], record.type === 'delete' ? 0 : 1); + break; + default: + console.error('Unexpected record type: ' + JSON.stringify(record)); + break; } - }; - - return LiteralObject; - }(Expression); - - function evalList(scope, list, lookupFunctions) { - var length = list.length; - var result = []; - for (var _i14 = 0; _i14 < length; _i14++) { - result[_i14] = list[_i14].evaluate(scope, lookupFunctions); } - return result; - } - - function autoConvertAdd(a, b) { - if (a !== null && b !== null) { - if (typeof a === 'string' && typeof b !== 'string') { - return a + b.toString(); - } - if (typeof a !== 'string' && typeof b === 'string') { - return a.toString() + b; - } + return splices; + } - return a + b; - } + function projectArraySplices(array, changeRecords) { + var splices = []; - if (a !== null) { - return a; - } + createInitialSplices(array, changeRecords).forEach(function (splice) { + if (splice.addedCount === 1 && splice.removed.length === 1) { + if (splice.removed[0] !== array[splice.index]) { + splices.push(splice); + } - if (b !== null) { - return b; - } + return; + } - return 0; - } + splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length)); + }); - function getFunction(obj, name, mustExist) { - var func = obj === null || obj === undefined ? null : obj[name]; - if (typeof func === 'function') { - return func; - } - if (!mustExist && (func === null || func === undefined)) { - return null; - } - throw new Error(name + ' is not a function'); + return splices; } - function getKeyed(obj, key) { - if (Array.isArray(obj)) { - return obj[parseInt(key, 10)]; - } else if (obj) { - return obj[key]; - } else if (obj === null || obj === undefined) { - return undefined; - } - - return obj[key]; + function newRecord(type, object, key, oldValue) { + return { + type: type, + object: object, + key: key, + oldValue: oldValue + }; } - function setKeyed(obj, key, value) { - if (Array.isArray(obj)) { - var index = parseInt(key, 10); + function getChangeRecords(map) { + var entries = new Array(map.size); + var keys = map.keys(); + var i = 0; + var item = void 0; - if (obj.length <= index) { - obj.length = index + 1; + while (item = keys.next()) { + if (item.done) { + break; } - obj[index] = value; - } else { - obj[key] = value; + entries[i] = newRecord('added', map, item.value); + i++; } - return value; + return entries; } - var Unparser = exports.Unparser = function () { - function Unparser(buffer) { + var ModifyCollectionObserver = exports.ModifyCollectionObserver = (_dec3 = subscriberCollection(), _dec3(_class2 = function () { + function ModifyCollectionObserver(taskQueue, collection) { - this.buffer = buffer; + this.taskQueue = taskQueue; + this.queued = false; + this.changeRecords = null; + this.oldCollection = null; + this.collection = collection; + this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length'; } - Unparser.unparse = function unparse(expression) { - var buffer = []; - var visitor = new Unparser(buffer); - - expression.accept(visitor); - - return buffer.join(''); + ModifyCollectionObserver.prototype.subscribe = function subscribe(context, callable) { + this.addSubscriber(context, callable); }; - Unparser.prototype.write = function write(text) { - this.buffer.push(text); + ModifyCollectionObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + this.removeSubscriber(context, callable); }; - Unparser.prototype.writeArgs = function writeArgs(args) { - this.write('('); + ModifyCollectionObserver.prototype.addChangeRecord = function addChangeRecord(changeRecord) { + if (!this.hasSubscribers() && !this.lengthObserver) { + return; + } - for (var _i15 = 0, length = args.length; _i15 < length; ++_i15) { - if (_i15 !== 0) { - this.write(','); + if (changeRecord.type === 'splice') { + var index = changeRecord.index; + var arrayLength = changeRecord.object.length; + if (index > arrayLength) { + index = arrayLength - changeRecord.addedCount; + } else if (index < 0) { + index = arrayLength + changeRecord.removed.length + index - changeRecord.addedCount; } - - args[_i15].accept(this); + if (index < 0) { + index = 0; + } + changeRecord.index = index; } - this.write(')'); - }; - - Unparser.prototype.visitChain = function visitChain(chain) { - var expressions = chain.expressions; - - for (var _i16 = 0, length = expression.length; _i16 < length; ++_i16) { - if (_i16 !== 0) { - this.write(';'); - } + if (this.changeRecords === null) { + this.changeRecords = [changeRecord]; + } else { + this.changeRecords.push(changeRecord); + } - expressions[_i16].accept(this); + if (!this.queued) { + this.queued = true; + this.taskQueue.queueMicroTask(this); } }; - Unparser.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) { - var args = behavior.args; - - behavior.expression.accept(this); - this.write('&' + behavior.name); - - for (var _i17 = 0, length = args.length; _i17 < length; ++_i17) { - this.write(':'); - args[_i17].accept(this); + ModifyCollectionObserver.prototype.flushChangeRecords = function flushChangeRecords() { + if (this.changeRecords && this.changeRecords.length || this.oldCollection) { + this.call(); } }; - Unparser.prototype.visitValueConverter = function visitValueConverter(converter) { - var args = converter.args; - - converter.expression.accept(this); - this.write('|' + converter.name); + ModifyCollectionObserver.prototype.reset = function reset(oldCollection) { + this.oldCollection = oldCollection; - for (var _i18 = 0, length = args.length; _i18 < length; ++_i18) { - this.write(':'); - args[_i18].accept(this); + if (this.hasSubscribers() && !this.queued) { + this.queued = true; + this.taskQueue.queueMicroTask(this); } }; - Unparser.prototype.visitAssign = function visitAssign(assign) { - assign.target.accept(this); - this.write('='); - assign.value.accept(this); + ModifyCollectionObserver.prototype.getLengthObserver = function getLengthObserver() { + return this.lengthObserver || (this.lengthObserver = new CollectionLengthObserver(this.collection)); }; - Unparser.prototype.visitConditional = function visitConditional(conditional) { - conditional.condition.accept(this); - this.write('?'); - conditional.yes.accept(this); - this.write(':'); - conditional.no.accept(this); - }; + ModifyCollectionObserver.prototype.call = function call() { + var changeRecords = this.changeRecords; + var oldCollection = this.oldCollection; + var records = void 0; - Unparser.prototype.visitAccessThis = function visitAccessThis(access) { - if (access.ancestor === 0) { - this.write('$this'); - return; - } - this.write('$parent'); - var i = access.ancestor - 1; - while (i--) { - this.write('.$parent'); - } - }; + this.queued = false; + this.changeRecords = []; + this.oldCollection = null; - Unparser.prototype.visitAccessScope = function visitAccessScope(access) { - var i = access.ancestor; - while (i--) { - this.write('$parent.'); + if (this.hasSubscribers()) { + if (oldCollection) { + if (this.collection instanceof Map || this.collection instanceof Set) { + records = getChangeRecords(oldCollection); + } else { + records = calcSplices(this.collection, 0, this.collection.length, oldCollection, 0, oldCollection.length); + } + } else { + if (this.collection instanceof Map || this.collection instanceof Set) { + records = changeRecords; + } else { + records = projectArraySplices(this.collection, changeRecords); + } + } + + this.callSubscribers(records); } - this.write(access.name); - }; - Unparser.prototype.visitAccessMember = function visitAccessMember(access) { - access.object.accept(this); - this.write('.' + access.name); + if (this.lengthObserver) { + this.lengthObserver.call(this.collection[this.lengthPropertyName]); + } }; - Unparser.prototype.visitAccessKeyed = function visitAccessKeyed(access) { - access.object.accept(this); - this.write('['); - access.key.accept(this); - this.write(']'); - }; + return ModifyCollectionObserver; + }()) || _class2); + var CollectionLengthObserver = exports.CollectionLengthObserver = (_dec4 = subscriberCollection(), _dec4(_class3 = function () { + function CollectionLengthObserver(collection) { + - Unparser.prototype.visitCallScope = function visitCallScope(call) { - var i = call.ancestor; - while (i--) { - this.write('$parent.'); - } - this.write(call.name); - this.writeArgs(call.args); - }; + this.collection = collection; + this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length'; + this.currentValue = collection[this.lengthPropertyName]; + } - Unparser.prototype.visitCallFunction = function visitCallFunction(call) { - call.func.accept(this); - this.writeArgs(call.args); + CollectionLengthObserver.prototype.getValue = function getValue() { + return this.collection[this.lengthPropertyName]; }; - Unparser.prototype.visitCallMember = function visitCallMember(call) { - call.object.accept(this); - this.write('.' + call.name); - this.writeArgs(call.args); + CollectionLengthObserver.prototype.setValue = function setValue(newValue) { + this.collection[this.lengthPropertyName] = newValue; }; - Unparser.prototype.visitPrefix = function visitPrefix(prefix) { - this.write('(' + prefix.operation); - prefix.expression.accept(this); - this.write(')'); + CollectionLengthObserver.prototype.subscribe = function subscribe(context, callable) { + this.addSubscriber(context, callable); }; - Unparser.prototype.visitBinary = function visitBinary(binary) { - binary.left.accept(this); - this.write(binary.operation); - binary.right.accept(this); + CollectionLengthObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + this.removeSubscriber(context, callable); }; - Unparser.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) { - this.write('' + literal.value); + CollectionLengthObserver.prototype.call = function call(newValue) { + var oldValue = this.currentValue; + this.callSubscribers(newValue, oldValue); + this.currentValue = newValue; }; - Unparser.prototype.visitLiteralArray = function visitLiteralArray(literal) { - var elements = literal.elements; + return CollectionLengthObserver; + }()) || _class3); - this.write('['); + var pop = Array.prototype.pop; + var push = Array.prototype.push; + var reverse = Array.prototype.reverse; + var shift = Array.prototype.shift; + var sort = Array.prototype.sort; + var splice = Array.prototype.splice; + var unshift = Array.prototype.unshift; - for (var _i19 = 0, length = elements.length; _i19 < length; ++_i19) { - if (_i19 !== 0) { - this.write(','); - } + Array.prototype.pop = function () { + var notEmpty = this.length > 0; + var methodCallResult = pop.apply(this, arguments); + if (notEmpty && this.__array_observer__ !== undefined) { + this.__array_observer__.addChangeRecord({ + type: 'delete', + object: this, + name: this.length, + oldValue: methodCallResult + }); + } + return methodCallResult; + }; - elements[_i19].accept(this); - } + Array.prototype.push = function () { + var methodCallResult = push.apply(this, arguments); + if (this.__array_observer__ !== undefined) { + this.__array_observer__.addChangeRecord({ + type: 'splice', + object: this, + index: this.length - arguments.length, + removed: [], + addedCount: arguments.length + }); + } + return methodCallResult; + }; - this.write(']'); - }; + Array.prototype.reverse = function () { + var oldArray = void 0; + if (this.__array_observer__ !== undefined) { + this.__array_observer__.flushChangeRecords(); + oldArray = this.slice(); + } + var methodCallResult = reverse.apply(this, arguments); + if (this.__array_observer__ !== undefined) { + this.__array_observer__.reset(oldArray); + } + return methodCallResult; + }; - Unparser.prototype.visitLiteralObject = function visitLiteralObject(literal) { - var keys = literal.keys; - var values = literal.values; + Array.prototype.shift = function () { + var notEmpty = this.length > 0; + var methodCallResult = shift.apply(this, arguments); + if (notEmpty && this.__array_observer__ !== undefined) { + this.__array_observer__.addChangeRecord({ + type: 'delete', + object: this, + name: 0, + oldValue: methodCallResult + }); + } + return methodCallResult; + }; - this.write('{'); + Array.prototype.sort = function () { + var oldArray = void 0; + if (this.__array_observer__ !== undefined) { + this.__array_observer__.flushChangeRecords(); + oldArray = this.slice(); + } + var methodCallResult = sort.apply(this, arguments); + if (this.__array_observer__ !== undefined) { + this.__array_observer__.reset(oldArray); + } + return methodCallResult; + }; - for (var _i20 = 0, length = keys.length; _i20 < length; ++_i20) { - if (_i20 !== 0) { - this.write(','); - } + Array.prototype.splice = function () { + var methodCallResult = splice.apply(this, arguments); + if (this.__array_observer__ !== undefined) { + this.__array_observer__.addChangeRecord({ + type: 'splice', + object: this, + index: +arguments[0], + removed: methodCallResult, + addedCount: arguments.length > 2 ? arguments.length - 2 : 0 + }); + } + return methodCallResult; + }; - this.write('\'' + keys[_i20] + '\':'); - values[_i20].accept(this); - } + Array.prototype.unshift = function () { + var methodCallResult = unshift.apply(this, arguments); + if (this.__array_observer__ !== undefined) { + this.__array_observer__.addChangeRecord({ + type: 'splice', + object: this, + index: 0, + removed: [], + addedCount: arguments.length + }); + } + return methodCallResult; + }; - this.write('}'); - }; + function _getArrayObserver(taskQueue, array) { + return ModifyArrayObserver.for(taskQueue, array); + } - Unparser.prototype.visitLiteralString = function visitLiteralString(literal) { - var escaped = literal.value.replace(/'/g, "\'"); - this.write('\'' + escaped + '\''); - }; + exports.getArrayObserver = _getArrayObserver; - return Unparser; - }(); + var ModifyArrayObserver = function (_ModifyCollectionObse) { + _inherits(ModifyArrayObserver, _ModifyCollectionObse); - var ExpressionCloner = exports.ExpressionCloner = function () { - function ExpressionCloner() { + function ModifyArrayObserver(taskQueue, array) { + + return _possibleConstructorReturn(this, _ModifyCollectionObse.call(this, taskQueue, array)); } - ExpressionCloner.prototype.cloneExpressionArray = function cloneExpressionArray(array) { - var clonedArray = []; - var i = array.length; - while (i--) { - clonedArray[i] = array[i].accept(this); + ModifyArrayObserver.for = function _for(taskQueue, array) { + if (!('__array_observer__' in array)) { + Reflect.defineProperty(array, '__array_observer__', { + value: ModifyArrayObserver.create(taskQueue, array), + enumerable: false, configurable: false + }); } - return clonedArray; + return array.__array_observer__; }; - ExpressionCloner.prototype.visitChain = function visitChain(chain) { - return new Chain(this.cloneExpressionArray(chain.expressions)); + ModifyArrayObserver.create = function create(taskQueue, array) { + return new ModifyArrayObserver(taskQueue, array); }; - ExpressionCloner.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) { - return new BindingBehavior(behavior.expression.accept(this), behavior.name, this.cloneExpressionArray(behavior.args)); - }; + return ModifyArrayObserver; + }(ModifyCollectionObserver); - ExpressionCloner.prototype.visitValueConverter = function visitValueConverter(converter) { - return new ValueConverter(converter.expression.accept(this), converter.name, this.cloneExpressionArray(converter.args)); - }; + var Expression = exports.Expression = function () { + function Expression() { + - ExpressionCloner.prototype.visitAssign = function visitAssign(assign) { - return new Assign(assign.target.accept(this), assign.value.accept(this)); - }; + this.isChain = false; + this.isAssignable = false; + } - ExpressionCloner.prototype.visitConditional = function visitConditional(conditional) { - return new Conditional(conditional.condition.accept(this), conditional.yes.accept(this), conditional.no.accept(this)); + Expression.prototype.evaluate = function evaluate(scope, lookupFunctions, args) { + throw new Error('Binding expression "' + this + '" cannot be evaluated.'); }; - ExpressionCloner.prototype.visitAccessThis = function visitAccessThis(access) { - return new AccessThis(access.ancestor); + Expression.prototype.assign = function assign(scope, value, lookupFunctions) { + throw new Error('Binding expression "' + this + '" cannot be assigned to.'); }; - ExpressionCloner.prototype.visitAccessScope = function visitAccessScope(access) { - return new AccessScope(access.name, access.ancestor); + Expression.prototype.toString = function toString() { + return Unparser.unparse(this); }; - ExpressionCloner.prototype.visitAccessMember = function visitAccessMember(access) { - return new AccessMember(access.object.accept(this), access.name); - }; + return Expression; + }(); - ExpressionCloner.prototype.visitAccessKeyed = function visitAccessKeyed(access) { - return new AccessKeyed(access.object.accept(this), access.key.accept(this)); - }; + var Chain = exports.Chain = function (_Expression) { + _inherits(Chain, _Expression); - ExpressionCloner.prototype.visitCallScope = function visitCallScope(call) { - return new CallScope(call.name, this.cloneExpressionArray(call.args), call.ancestor); - }; + function Chain(expressions) { + - ExpressionCloner.prototype.visitCallFunction = function visitCallFunction(call) { - return new CallFunction(call.func.accept(this), this.cloneExpressionArray(call.args)); - }; + var _this3 = _possibleConstructorReturn(this, _Expression.call(this)); - ExpressionCloner.prototype.visitCallMember = function visitCallMember(call) { - return new CallMember(call.object.accept(this), call.name, this.cloneExpressionArray(call.args)); + _this3.expressions = expressions; + _this3.isChain = true; + return _this3; + } + + Chain.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var result = void 0; + var expressions = this.expressions; + var last = void 0; + + for (var _i7 = 0, length = expressions.length; _i7 < length; ++_i7) { + last = expressions[_i7].evaluate(scope, lookupFunctions); + + if (last !== null) { + result = last; + } + } + + return result; }; - ExpressionCloner.prototype.visitPrefix = function visitPrefix(prefix) { - return new PrefixNot(prefix.operation, prefix.expression.accept(this)); + Chain.prototype.accept = function accept(visitor) { + return visitor.visitChain(this); }; - ExpressionCloner.prototype.visitBinary = function visitBinary(binary) { - return new Binary(binary.operation, binary.left.accept(this), binary.right.accept(this)); + return Chain; + }(Expression); + + var BindingBehavior = exports.BindingBehavior = function (_Expression2) { + _inherits(BindingBehavior, _Expression2); + + function BindingBehavior(expression, name, args) { + + + var _this4 = _possibleConstructorReturn(this, _Expression2.call(this)); + + _this4.expression = expression; + _this4.name = name; + _this4.args = args; + return _this4; + } + + BindingBehavior.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return this.expression.evaluate(scope, lookupFunctions); }; - ExpressionCloner.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) { - return new LiteralPrimitive(literal); + BindingBehavior.prototype.assign = function assign(scope, value, lookupFunctions) { + return this.expression.assign(scope, value, lookupFunctions); }; - ExpressionCloner.prototype.visitLiteralArray = function visitLiteralArray(literal) { - return new LiteralArray(this.cloneExpressionArray(literal.elements)); + BindingBehavior.prototype.accept = function accept(visitor) { + return visitor.visitBindingBehavior(this); }; - ExpressionCloner.prototype.visitLiteralObject = function visitLiteralObject(literal) { - return new LiteralObject(literal.keys, this.cloneExpressionArray(literal.values)); + BindingBehavior.prototype.connect = function connect(binding, scope) { + this.expression.connect(binding, scope); }; - ExpressionCloner.prototype.visitLiteralString = function visitLiteralString(literal) { - return new LiteralString(literal.value); + BindingBehavior.prototype.bind = function bind(binding, scope, lookupFunctions) { + if (this.expression.expression && this.expression.bind) { + this.expression.bind(binding, scope, lookupFunctions); + } + var behavior = lookupFunctions.bindingBehaviors(this.name); + if (!behavior) { + throw new Error('No BindingBehavior named "' + this.name + '" was found!'); + } + var behaviorKey = 'behavior-' + this.name; + if (binding[behaviorKey]) { + throw new Error('A binding behavior named "' + this.name + '" has already been applied to "' + this.expression + '"'); + } + binding[behaviorKey] = behavior; + behavior.bind.apply(behavior, [binding, scope].concat(evalList(scope, this.args, binding.lookupFunctions))); }; - return ExpressionCloner; - }(); + BindingBehavior.prototype.unbind = function unbind(binding, scope) { + var behaviorKey = 'behavior-' + this.name; + binding[behaviorKey].unbind(binding, scope); + binding[behaviorKey] = null; + if (this.expression.expression && this.expression.unbind) { + this.expression.unbind(binding, scope); + } + }; - function cloneExpression(expression) { - var visitor = new ExpressionCloner(); - return expression.accept(visitor); - } + return BindingBehavior; + }(Expression); - var bindingMode = exports.bindingMode = { - oneTime: 0, - oneWay: 1, - twoWay: 2 - }; + var ValueConverter = exports.ValueConverter = function (_Expression3) { + _inherits(ValueConverter, _Expression3); - var Token = exports.Token = function () { - function Token(index, text) { + function ValueConverter(expression, name, args, allArgs) { - this.index = index; - this.text = text; + var _this5 = _possibleConstructorReturn(this, _Expression3.call(this)); + + _this5.expression = expression; + _this5.name = name; + _this5.args = args; + _this5.allArgs = allArgs; + return _this5; } - Token.prototype.withOp = function withOp(op) { - this.opKey = op; - return this; - }; + ValueConverter.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var converter = lookupFunctions.valueConverters(this.name); + if (!converter) { + throw new Error('No ValueConverter named "' + this.name + '" was found!'); + } - Token.prototype.withGetterSetter = function withGetterSetter(key) { - this.key = key; - return this; - }; + if ('toView' in converter) { + return converter.toView.apply(converter, evalList(scope, this.allArgs, lookupFunctions)); + } - Token.prototype.withValue = function withValue(value) { - this.value = value; - return this; + return this.allArgs[0].evaluate(scope, lookupFunctions); }; - Token.prototype.toString = function toString() { - return 'Token(' + this.text + ')'; - }; + ValueConverter.prototype.assign = function assign(scope, value, lookupFunctions) { + var converter = lookupFunctions.valueConverters(this.name); + if (!converter) { + throw new Error('No ValueConverter named "' + this.name + '" was found!'); + } - return Token; - }(); + if ('fromView' in converter) { + value = converter.fromView.apply(converter, [value].concat(evalList(scope, this.args, lookupFunctions))); + } - var Lexer = exports.Lexer = function () { - function Lexer() { - - } + return this.allArgs[0].assign(scope, value, lookupFunctions); + }; - Lexer.prototype.lex = function lex(text) { - var scanner = new Scanner(text); - var tokens = []; - var token = scanner.scanToken(); + ValueConverter.prototype.accept = function accept(visitor) { + return visitor.visitValueConverter(this); + }; - while (token) { - tokens.push(token); - token = scanner.scanToken(); + ValueConverter.prototype.connect = function connect(binding, scope) { + var expressions = this.allArgs; + var i = expressions.length; + while (i--) { + expressions[i].connect(binding, scope); } - - return tokens; }; - return Lexer; - }(); + return ValueConverter; + }(Expression); - var Scanner = exports.Scanner = function () { - function Scanner(input) { + var Assign = exports.Assign = function (_Expression4) { + _inherits(Assign, _Expression4); + + function Assign(target, value) { - this.input = input; - this.length = input.length; - this.peek = 0; - this.index = -1; + var _this6 = _possibleConstructorReturn(this, _Expression4.call(this)); - this.advance(); + _this6.target = target; + _this6.value = value; + return _this6; } - Scanner.prototype.scanToken = function scanToken() { - while (this.peek <= $SPACE) { - if (++this.index >= this.length) { - this.peek = $EOF; - return null; - } + Assign.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return this.target.assign(scope, this.value.evaluate(scope, lookupFunctions)); + }; - this.peek = this.input.charCodeAt(this.index); - } + Assign.prototype.accept = function accept(vistor) { + vistor.visitAssign(this); + }; - if (isIdentifierStart(this.peek)) { - return this.scanIdentifier(); - } + Assign.prototype.connect = function connect(binding, scope) {}; - if (isDigit(this.peek)) { - return this.scanNumber(this.index); - } + return Assign; + }(Expression); - var start = this.index; + var Conditional = exports.Conditional = function (_Expression5) { + _inherits(Conditional, _Expression5); - switch (this.peek) { - case $PERIOD: - this.advance(); - return isDigit(this.peek) ? this.scanNumber(start) : new Token(start, '.'); - case $LPAREN: - case $RPAREN: - case $LBRACE: - case $RBRACE: - case $LBRACKET: - case $RBRACKET: - case $COMMA: - case $COLON: - case $SEMICOLON: - return this.scanCharacter(start, String.fromCharCode(this.peek)); - case $SQ: - case $DQ: - return this.scanString(); - case $PLUS: - case $MINUS: - case $STAR: - case $SLASH: - case $PERCENT: - case $CARET: - case $QUESTION: - return this.scanOperator(start, String.fromCharCode(this.peek)); - case $LT: - case $GT: - case $BANG: - case $EQ: - return this.scanComplexOperator(start, $EQ, String.fromCharCode(this.peek), '='); - case $AMPERSAND: - return this.scanComplexOperator(start, $AMPERSAND, '&', '&'); - case $BAR: - return this.scanComplexOperator(start, $BAR, '|', '|'); - case $NBSP: - while (isWhitespace(this.peek)) { - this.advance(); - } + function Conditional(condition, yes, no) { + - return this.scanToken(); - } + var _this7 = _possibleConstructorReturn(this, _Expression5.call(this)); - var character = String.fromCharCode(this.peek); - this.error('Unexpected character [' + character + ']'); - return null; - }; + _this7.condition = condition; + _this7.yes = yes; + _this7.no = no; + return _this7; + } - Scanner.prototype.scanCharacter = function scanCharacter(start, text) { - assert(this.peek === text.charCodeAt(0)); - this.advance(); - return new Token(start, text); + Conditional.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return !!this.condition.evaluate(scope) ? this.yes.evaluate(scope) : this.no.evaluate(scope); }; - Scanner.prototype.scanOperator = function scanOperator(start, text) { - assert(this.peek === text.charCodeAt(0)); - assert(OPERATORS.indexOf(text) !== -1); - this.advance(); - return new Token(start, text).withOp(text); + Conditional.prototype.accept = function accept(visitor) { + return visitor.visitConditional(this); }; - Scanner.prototype.scanComplexOperator = function scanComplexOperator(start, code, one, two) { - assert(this.peek === one.charCodeAt(0)); - this.advance(); - - var text = one; - - if (this.peek === code) { - this.advance(); - text += two; - } - - if (this.peek === code) { - this.advance(); - text += two; + Conditional.prototype.connect = function connect(binding, scope) { + this.condition.connect(binding, scope); + if (this.condition.evaluate(scope)) { + this.yes.connect(binding, scope); + } else { + this.no.connect(binding, scope); } - - assert(OPERATORS.indexOf(text) !== -1); - - return new Token(start, text).withOp(text); }; - Scanner.prototype.scanIdentifier = function scanIdentifier() { - assert(isIdentifierStart(this.peek)); - var start = this.index; + return Conditional; + }(Expression); - this.advance(); + var AccessThis = exports.AccessThis = function (_Expression6) { + _inherits(AccessThis, _Expression6); - while (isIdentifierPart(this.peek)) { - this.advance(); - } + function AccessThis(ancestor) { + - var text = this.input.substring(start, this.index); - var result = new Token(start, text); + var _this8 = _possibleConstructorReturn(this, _Expression6.call(this)); - if (OPERATORS.indexOf(text) !== -1) { - result.withOp(text); - } else { - result.withGetterSetter(text); + _this8.ancestor = ancestor; + return _this8; + } + + AccessThis.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var oc = scope.overrideContext; + var i = this.ancestor; + while (i-- && oc) { + oc = oc.parentOverrideContext; } + return i < 1 && oc ? oc.bindingContext : undefined; + }; - return result; + AccessThis.prototype.accept = function accept(visitor) { + return visitor.visitAccessThis(this); }; - Scanner.prototype.scanNumber = function scanNumber(start) { - assert(isDigit(this.peek)); - var simple = this.index === start; - this.advance(); + AccessThis.prototype.connect = function connect(binding, scope) {}; - while (true) { - if (!isDigit(this.peek)) { - if (this.peek === $PERIOD) { - simple = false; - } else if (isExponentStart(this.peek)) { - this.advance(); + return AccessThis; + }(Expression); - if (isExponentSign(this.peek)) { - this.advance(); - } + var AccessScope = exports.AccessScope = function (_Expression7) { + _inherits(AccessScope, _Expression7); - if (!isDigit(this.peek)) { - this.error('Invalid exponent', -1); - } + function AccessScope(name, ancestor) { + - simple = false; - } else { - break; - } - } + var _this9 = _possibleConstructorReturn(this, _Expression7.call(this)); - this.advance(); - } + _this9.name = name; + _this9.ancestor = ancestor; + _this9.isAssignable = true; + return _this9; + } - var text = this.input.substring(start, this.index); - var value = simple ? parseInt(text, 10) : parseFloat(text); - return new Token(start, text).withValue(value); + AccessScope.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var context = getContextFor(this.name, scope, this.ancestor); + return context[this.name]; }; - Scanner.prototype.scanString = function scanString() { - assert(this.peek === $SQ || this.peek === $DQ); - - var start = this.index; - var quote = this.peek; + AccessScope.prototype.assign = function assign(scope, value) { + var context = getContextFor(this.name, scope, this.ancestor); + return context ? context[this.name] = value : undefined; + }; - this.advance(); + AccessScope.prototype.accept = function accept(visitor) { + return visitor.visitAccessScope(this); + }; - var buffer = void 0; - var marker = this.index; + AccessScope.prototype.connect = function connect(binding, scope) { + var context = getContextFor(this.name, scope, this.ancestor); + binding.observeProperty(context, this.name); + }; - while (this.peek !== quote) { - if (this.peek === $BACKSLASH) { - if (!buffer) { - buffer = []; - } + return AccessScope; + }(Expression); - buffer.push(this.input.substring(marker, this.index)); - this.advance(); + var AccessMember = exports.AccessMember = function (_Expression8) { + _inherits(AccessMember, _Expression8); - var _unescaped = void 0; + function AccessMember(object, name) { + - if (this.peek === $u) { - var hex = this.input.substring(this.index + 1, this.index + 5); + var _this10 = _possibleConstructorReturn(this, _Expression8.call(this)); - if (!/[A-Z0-9]{4}/.test(hex)) { - this.error('Invalid unicode escape [\\u' + hex + ']'); - } + _this10.object = object; + _this10.name = name; + _this10.isAssignable = true; + return _this10; + } - _unescaped = parseInt(hex, 16); + AccessMember.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var instance = this.object.evaluate(scope, lookupFunctions); + return instance === null || instance === undefined ? instance : instance[this.name]; + }; - for (var _i21 = 0; _i21 < 5; ++_i21) { - this.advance(); - } - } else { - _unescaped = unescape(this.peek); - this.advance(); - } + AccessMember.prototype.assign = function assign(scope, value) { + var instance = this.object.evaluate(scope); - buffer.push(String.fromCharCode(_unescaped)); - marker = this.index; - } else if (this.peek === $EOF) { - this.error('Unterminated quote'); - } else { - this.advance(); - } + if (instance === null || instance === undefined) { + instance = {}; + this.object.assign(scope, instance); } - var last = this.input.substring(marker, this.index); - this.advance(); - var text = this.input.substring(start, this.index); - - var unescaped = last; - - if (buffer !== null && buffer !== undefined) { - buffer.push(last); - unescaped = buffer.join(''); - } + instance[this.name] = value; + return value; + }; - return new Token(start, text).withValue(unescaped); + AccessMember.prototype.accept = function accept(visitor) { + return visitor.visitAccessMember(this); }; - Scanner.prototype.advance = function advance() { - if (++this.index >= this.length) { - this.peek = $EOF; - } else { - this.peek = this.input.charCodeAt(this.index); + AccessMember.prototype.connect = function connect(binding, scope) { + this.object.connect(binding, scope); + var obj = this.object.evaluate(scope); + if (obj) { + binding.observeProperty(obj, this.name); } }; - Scanner.prototype.error = function error(message) { - var offset = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1]; - - var position = this.index + offset; - throw new Error('Lexer Error: ' + message + ' at column ' + position + ' in expression [' + this.input + ']'); - }; - - return Scanner; - }(); - - var OPERATORS = ['undefined', 'null', 'true', 'false', '+', '-', '*', '/', '%', '^', '=', '==', '===', '!=', '!==', '<', '>', '<=', '>=', '&&', '||', '&', '|', '!', '?']; + return AccessMember; + }(Expression); - var $EOF = 0; - var $TAB = 9; - var $LF = 10; - var $VTAB = 11; - var $FF = 12; - var $CR = 13; - var $SPACE = 32; - var $BANG = 33; - var $DQ = 34; - var $$ = 36; - var $PERCENT = 37; - var $AMPERSAND = 38; - var $SQ = 39; - var $LPAREN = 40; - var $RPAREN = 41; - var $STAR = 42; - var $PLUS = 43; - var $COMMA = 44; - var $MINUS = 45; - var $PERIOD = 46; - var $SLASH = 47; - var $COLON = 58; - var $SEMICOLON = 59; - var $LT = 60; - var $EQ = 61; - var $GT = 62; - var $QUESTION = 63; + var AccessKeyed = exports.AccessKeyed = function (_Expression9) { + _inherits(AccessKeyed, _Expression9); - var $0 = 48; - var $9 = 57; + function AccessKeyed(object, key) { + - var $A = 65; - var $E = 69; - var $Z = 90; + var _this11 = _possibleConstructorReturn(this, _Expression9.call(this)); - var $LBRACKET = 91; - var $BACKSLASH = 92; - var $RBRACKET = 93; - var $CARET = 94; - var $_ = 95; + _this11.object = object; + _this11.key = key; + _this11.isAssignable = true; + return _this11; + } - var $a = 97; - var $e = 101; - var $f = 102; - var $n = 110; - var $r = 114; - var $t = 116; - var $u = 117; - var $v = 118; - var $z = 122; + AccessKeyed.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var instance = this.object.evaluate(scope, lookupFunctions); + var lookup = this.key.evaluate(scope, lookupFunctions); + return getKeyed(instance, lookup); + }; - var $LBRACE = 123; - var $BAR = 124; - var $RBRACE = 125; - var $NBSP = 160; + AccessKeyed.prototype.assign = function assign(scope, value) { + var instance = this.object.evaluate(scope); + var lookup = this.key.evaluate(scope); + return setKeyed(instance, lookup, value); + }; - function isWhitespace(code) { - return code >= $TAB && code <= $SPACE || code === $NBSP; - } + AccessKeyed.prototype.accept = function accept(visitor) { + return visitor.visitAccessKeyed(this); + }; - function isIdentifierStart(code) { - return $a <= code && code <= $z || $A <= code && code <= $Z || code === $_ || code === $$; - } + AccessKeyed.prototype.connect = function connect(binding, scope) { + this.object.connect(binding, scope); + var obj = this.object.evaluate(scope); + if (obj instanceof Object) { + this.key.connect(binding, scope); + var key = this.key.evaluate(scope); - function isIdentifierPart(code) { - return $a <= code && code <= $z || $A <= code && code <= $Z || $0 <= code && code <= $9 || code === $_ || code === $$; - } + if (key !== null && key !== undefined && !(Array.isArray(obj) && typeof key === 'number')) { + binding.observeProperty(obj, key); + } + } + }; - function isDigit(code) { - return $0 <= code && code <= $9; - } + return AccessKeyed; + }(Expression); - function isExponentStart(code) { - return code === $e || code === $E; - } + var CallScope = exports.CallScope = function (_Expression10) { + _inherits(CallScope, _Expression10); - function isExponentSign(code) { - return code === $MINUS || code === $PLUS; - } + function CallScope(name, args, ancestor) { + - function unescape(code) { - switch (code) { - case $n: - return $LF; - case $f: - return $FF; - case $r: - return $CR; - case $t: - return $TAB; - case $v: - return $VTAB; - default: - return code; - } - } + var _this12 = _possibleConstructorReturn(this, _Expression10.call(this)); - function assert(condition, message) { - if (!condition) { - throw message || 'Assertion failed'; + _this12.name = name; + _this12.args = args; + _this12.ancestor = ancestor; + return _this12; } - } - - var EOF = new Token(-1, null); - - var Parser = exports.Parser = function () { - function Parser() { - - this.cache = {}; - this.lexer = new Lexer(); - } + CallScope.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { + var args = evalList(scope, this.args, lookupFunctions); + var context = getContextFor(this.name, scope, this.ancestor); + var func = getFunction(context, this.name, mustEvaluate); + if (func) { + return func.apply(context, args); + } + return undefined; + }; - Parser.prototype.parse = function parse(input) { - input = input || ''; + CallScope.prototype.accept = function accept(visitor) { + return visitor.visitCallScope(this); + }; - return this.cache[input] || (this.cache[input] = new ParserImplementation(this.lexer, input).parseChain()); + CallScope.prototype.connect = function connect(binding, scope) { + var args = this.args; + var i = args.length; + while (i--) { + args[i].connect(binding, scope); + } }; - return Parser; - }(); + return CallScope; + }(Expression); - var ParserImplementation = exports.ParserImplementation = function () { - function ParserImplementation(lexer, input) { + var CallMember = exports.CallMember = function (_Expression11) { + _inherits(CallMember, _Expression11); + + function CallMember(object, name, args) { - this.index = 0; - this.input = input; - this.tokens = lexer.lex(input); - } + var _this13 = _possibleConstructorReturn(this, _Expression11.call(this)); - ParserImplementation.prototype.parseChain = function parseChain() { - var isChain = false; - var expressions = []; + _this13.object = object; + _this13.name = name; + _this13.args = args; + return _this13; + } - while (this.optional(';')) { - isChain = true; + CallMember.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { + var instance = this.object.evaluate(scope, lookupFunctions); + var args = evalList(scope, this.args, lookupFunctions); + var func = getFunction(instance, this.name, mustEvaluate); + if (func) { + return func.apply(instance, args); } + return undefined; + }; - while (this.index < this.tokens.length) { - if (this.peek.text === ')' || this.peek.text === '}' || this.peek.text === ']') { - this.error('Unconsumed token ' + this.peek.text); - } - - var expr = this.parseBindingBehavior(); - expressions.push(expr); - - while (this.optional(';')) { - isChain = true; - } + CallMember.prototype.accept = function accept(visitor) { + return visitor.visitCallMember(this); + }; - if (isChain) { - this.error('Multiple expressions are not allowed.'); + CallMember.prototype.connect = function connect(binding, scope) { + this.object.connect(binding, scope); + var obj = this.object.evaluate(scope); + if (getFunction(obj, this.name, false)) { + var args = this.args; + var _i8 = args.length; + while (_i8--) { + args[_i8].connect(binding, scope); } } - - return expressions.length === 1 ? expressions[0] : new Chain(expressions); }; - ParserImplementation.prototype.parseBindingBehavior = function parseBindingBehavior() { - var result = this.parseValueConverter(); + return CallMember; + }(Expression); - while (this.optional('&')) { - var name = this.peek.text; - var args = []; + var CallFunction = exports.CallFunction = function (_Expression12) { + _inherits(CallFunction, _Expression12); - this.advance(); + function CallFunction(func, args) { + - while (this.optional(':')) { - args.push(this.parseExpression()); - } + var _this14 = _possibleConstructorReturn(this, _Expression12.call(this)); - result = new BindingBehavior(result, name, args); - } + _this14.func = func; + _this14.args = args; + return _this14; + } - return result; + CallFunction.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { + var func = this.func.evaluate(scope, lookupFunctions); + if (typeof func === 'function') { + return func.apply(null, evalList(scope, this.args, lookupFunctions)); + } + if (!mustEvaluate && (func === null || func === undefined)) { + return undefined; + } + throw new Error(this.func + ' is not a function'); }; - ParserImplementation.prototype.parseValueConverter = function parseValueConverter() { - var result = this.parseExpression(); - - while (this.optional('|')) { - var name = this.peek.text; - var args = []; - - this.advance(); + CallFunction.prototype.accept = function accept(visitor) { + return visitor.visitCallFunction(this); + }; - while (this.optional(':')) { - args.push(this.parseExpression()); + CallFunction.prototype.connect = function connect(binding, scope) { + this.func.connect(binding, scope); + var func = this.func.evaluate(scope); + if (typeof func === 'function') { + var args = this.args; + var _i9 = args.length; + while (_i9--) { + args[_i9].connect(binding, scope); } - - result = new ValueConverter(result, name, args, [result].concat(args)); } - - return result; }; - ParserImplementation.prototype.parseExpression = function parseExpression() { - var start = this.peek.index; - var result = this.parseConditional(); + return CallFunction; + }(Expression); - while (this.peek.text === '=') { - if (!result.isAssignable) { - var end = this.index < this.tokens.length ? this.peek.index : this.input.length; - var _expression = this.input.substring(start, end); + var Binary = exports.Binary = function (_Expression13) { + _inherits(Binary, _Expression13); - this.error('Expression ' + _expression + ' is not assignable'); - } + function Binary(operation, left, right) { + - this.expect('='); - result = new Assign(result, this.parseConditional()); - } + var _this15 = _possibleConstructorReturn(this, _Expression13.call(this)); - return result; - }; + _this15.operation = operation; + _this15.left = left; + _this15.right = right; + return _this15; + } - ParserImplementation.prototype.parseConditional = function parseConditional() { - var start = this.peek.index; - var result = this.parseLogicalOr(); + Binary.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var left = this.left.evaluate(scope); - if (this.optional('?')) { - var yes = this.parseExpression(); + switch (this.operation) { + case '&&': + return left && this.right.evaluate(scope); + case '||': + return left || this.right.evaluate(scope); + } - if (!this.optional(':')) { - var end = this.index < this.tokens.length ? this.peek.index : this.input.length; - var _expression2 = this.input.substring(start, end); + var right = this.right.evaluate(scope); - this.error('Conditional expression ' + _expression2 + ' requires all 3 expressions'); + switch (this.operation) { + case '==': + return left == right; + case '===': + return left === right; + case '!=': + return left != right; + case '!==': + return left !== right; + } + + if (left === null || right === null || left === undefined || right === undefined) { + switch (this.operation) { + case '+': + if (left !== null && left !== undefined) return left; + if (right !== null && right !== undefined) return right; + return 0; + case '-': + if (left !== null && left !== undefined) return left; + if (right !== null && right !== undefined) return 0 - right; + return 0; } - var no = this.parseExpression(); - result = new Conditional(result, yes, no); + return null; } - return result; + switch (this.operation) { + case '+': + return autoConvertAdd(left, right); + case '-': + return left - right; + case '*': + return left * right; + case '/': + return left / right; + case '%': + return left % right; + case '<': + return left < right; + case '>': + return left > right; + case '<=': + return left <= right; + case '>=': + return left >= right; + case '^': + return left ^ right; + } + + throw new Error('Internal error [' + this.operation + '] not handled'); }; - ParserImplementation.prototype.parseLogicalOr = function parseLogicalOr() { - var result = this.parseLogicalAnd(); + Binary.prototype.accept = function accept(visitor) { + return visitor.visitBinary(this); + }; - while (this.optional('||')) { - result = new Binary('||', result, this.parseLogicalAnd()); + Binary.prototype.connect = function connect(binding, scope) { + this.left.connect(binding, scope); + var left = this.left.evaluate(scope); + if (this.operation === '&&' && !left || this.operation === '||' && left) { + return; } - - return result; + this.right.connect(binding, scope); }; - ParserImplementation.prototype.parseLogicalAnd = function parseLogicalAnd() { - var result = this.parseEquality(); + return Binary; + }(Expression); - while (this.optional('&&')) { - result = new Binary('&&', result, this.parseEquality()); - } + var PrefixNot = exports.PrefixNot = function (_Expression14) { + _inherits(PrefixNot, _Expression14); - return result; - }; + function PrefixNot(operation, expression) { + - ParserImplementation.prototype.parseEquality = function parseEquality() { - var result = this.parseRelational(); + var _this16 = _possibleConstructorReturn(this, _Expression14.call(this)); - while (true) { - if (this.optional('==')) { - result = new Binary('==', result, this.parseRelational()); - } else if (this.optional('!=')) { - result = new Binary('!=', result, this.parseRelational()); - } else if (this.optional('===')) { - result = new Binary('===', result, this.parseRelational()); - } else if (this.optional('!==')) { - result = new Binary('!==', result, this.parseRelational()); - } else { - return result; - } - } + _this16.operation = operation; + _this16.expression = expression; + return _this16; + } + + PrefixNot.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return !this.expression.evaluate(scope); }; - ParserImplementation.prototype.parseRelational = function parseRelational() { - var result = this.parseAdditive(); + PrefixNot.prototype.accept = function accept(visitor) { + return visitor.visitPrefix(this); + }; - while (true) { - if (this.optional('<')) { - result = new Binary('<', result, this.parseAdditive()); - } else if (this.optional('>')) { - result = new Binary('>', result, this.parseAdditive()); - } else if (this.optional('<=')) { - result = new Binary('<=', result, this.parseAdditive()); - } else if (this.optional('>=')) { - result = new Binary('>=', result, this.parseAdditive()); - } else { - return result; - } - } + PrefixNot.prototype.connect = function connect(binding, scope) { + this.expression.connect(binding, scope); }; - ParserImplementation.prototype.parseAdditive = function parseAdditive() { - var result = this.parseMultiplicative(); + return PrefixNot; + }(Expression); - while (true) { - if (this.optional('+')) { - result = new Binary('+', result, this.parseMultiplicative()); - } else if (this.optional('-')) { - result = new Binary('-', result, this.parseMultiplicative()); - } else { - return result; - } - } - }; + var LiteralPrimitive = exports.LiteralPrimitive = function (_Expression15) { + _inherits(LiteralPrimitive, _Expression15); - ParserImplementation.prototype.parseMultiplicative = function parseMultiplicative() { - var result = this.parsePrefix(); + function LiteralPrimitive(value) { + - while (true) { - if (this.optional('*')) { - result = new Binary('*', result, this.parsePrefix()); - } else if (this.optional('%')) { - result = new Binary('%', result, this.parsePrefix()); - } else if (this.optional('/')) { - result = new Binary('/', result, this.parsePrefix()); - } else { - return result; - } - } - }; + var _this17 = _possibleConstructorReturn(this, _Expression15.call(this)); - ParserImplementation.prototype.parsePrefix = function parsePrefix() { - if (this.optional('+')) { - return this.parsePrefix(); - } else if (this.optional('-')) { - return new Binary('-', new LiteralPrimitive(0), this.parsePrefix()); - } else if (this.optional('!')) { - return new PrefixNot('!', this.parsePrefix()); - } + _this17.value = value; + return _this17; + } - return this.parseAccessOrCallMember(); + LiteralPrimitive.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return this.value; }; - ParserImplementation.prototype.parseAccessOrCallMember = function parseAccessOrCallMember() { - var result = this.parsePrimary(); + LiteralPrimitive.prototype.accept = function accept(visitor) { + return visitor.visitLiteralPrimitive(this); + }; - while (true) { - if (this.optional('.')) { - var name = this.peek.text; + LiteralPrimitive.prototype.connect = function connect(binding, scope) {}; - this.advance(); - - if (this.optional('(')) { - var args = this.parseExpressionList(')'); - this.expect(')'); - if (result instanceof AccessThis) { - result = new CallScope(name, args, result.ancestor); - } else { - result = new CallMember(result, name, args); - } - } else { - if (result instanceof AccessThis) { - result = new AccessScope(name, result.ancestor); - } else { - result = new AccessMember(result, name); - } - } - } else if (this.optional('[')) { - var key = this.parseExpression(); - this.expect(']'); - result = new AccessKeyed(result, key); - } else if (this.optional('(')) { - var _args = this.parseExpressionList(')'); - this.expect(')'); - result = new CallFunction(result, _args); - } else { - return result; - } - } - }; - - ParserImplementation.prototype.parsePrimary = function parsePrimary() { - if (this.optional('(')) { - var result = this.parseExpression(); - this.expect(')'); - return result; - } else if (this.optional('null')) { - return new LiteralPrimitive(null); - } else if (this.optional('undefined')) { - return new LiteralPrimitive(undefined); - } else if (this.optional('true')) { - return new LiteralPrimitive(true); - } else if (this.optional('false')) { - return new LiteralPrimitive(false); - } else if (this.optional('[')) { - var elements = this.parseExpressionList(']'); - this.expect(']'); - return new LiteralArray(elements); - } else if (this.peek.text === '{') { - return this.parseObject(); - } else if (this.peek.key !== null && this.peek.key !== undefined) { - return this.parseAccessOrCallScope(); - } else if (this.peek.value !== null && this.peek.value !== undefined) { - var value = this.peek.value; - this.advance(); - return value instanceof String || typeof value === 'string' ? new LiteralString(value) : new LiteralPrimitive(value); - } else if (this.index >= this.tokens.length) { - throw new Error('Unexpected end of expression: ' + this.input); - } else { - this.error('Unexpected token ' + this.peek.text); - } - }; + return LiteralPrimitive; + }(Expression); - ParserImplementation.prototype.parseAccessOrCallScope = function parseAccessOrCallScope() { - var name = this.peek.key; + var LiteralString = exports.LiteralString = function (_Expression16) { + _inherits(LiteralString, _Expression16); - this.advance(); + function LiteralString(value) { + - if (name === '$this') { - return new AccessThis(0); - } + var _this18 = _possibleConstructorReturn(this, _Expression16.call(this)); - var ancestor = 0; - while (name === '$parent') { - ancestor++; - if (this.optional('.')) { - name = this.peek.key; - this.advance(); - } else if (this.peek === EOF || this.peek.text === '(' || this.peek.text === ')' || this.peek.text === '[' || this.peek.text === '}' || this.peek.text === ',') { - return new AccessThis(ancestor); - } else { - this.error('Unexpected token ' + this.peek.text); - } - } + _this18.value = value; + return _this18; + } - if (this.optional('(')) { - var args = this.parseExpressionList(')'); - this.expect(')'); - return new CallScope(name, args, ancestor); - } + LiteralString.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return this.value; + }; - return new AccessScope(name, ancestor); + LiteralString.prototype.accept = function accept(visitor) { + return visitor.visitLiteralString(this); }; - ParserImplementation.prototype.parseObject = function parseObject() { - var keys = []; - var values = []; + LiteralString.prototype.connect = function connect(binding, scope) {}; - this.expect('{'); + return LiteralString; + }(Expression); - if (this.peek.text !== '}') { - do { - var peek = this.peek; - var value = peek.value; - keys.push(typeof value === 'string' ? value : peek.text); + var LiteralArray = exports.LiteralArray = function (_Expression17) { + _inherits(LiteralArray, _Expression17); - this.advance(); - if (peek.key && (this.peek.text === ',' || this.peek.text === '}')) { - --this.index; - values.push(this.parseAccessOrCallScope()); - } else { - this.expect(':'); - values.push(this.parseExpression()); - } - } while (this.optional(',')); - } + function LiteralArray(elements) { + - this.expect('}'); + var _this19 = _possibleConstructorReturn(this, _Expression17.call(this)); - return new LiteralObject(keys, values); - }; + _this19.elements = elements; + return _this19; + } - ParserImplementation.prototype.parseExpressionList = function parseExpressionList(terminator) { + LiteralArray.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var elements = this.elements; var result = []; - if (this.peek.text !== terminator) { - do { - result.push(this.parseExpression()); - } while (this.optional(',')); + for (var _i10 = 0, length = elements.length; _i10 < length; ++_i10) { + result[_i10] = elements[_i10].evaluate(scope, lookupFunctions); } return result; }; - ParserImplementation.prototype.optional = function optional(text) { - if (this.peek.text === text) { - this.advance(); - return true; - } - - return false; + LiteralArray.prototype.accept = function accept(visitor) { + return visitor.visitLiteralArray(this); }; - ParserImplementation.prototype.expect = function expect(text) { - if (this.peek.text === text) { - this.advance(); - } else { - this.error('Missing expected ' + text); + LiteralArray.prototype.connect = function connect(binding, scope) { + var length = this.elements.length; + for (var _i11 = 0; _i11 < length; _i11++) { + this.elements[_i11].connect(binding, scope); } }; - ParserImplementation.prototype.advance = function advance() { - this.index++; - }; + return LiteralArray; + }(Expression); - ParserImplementation.prototype.error = function error(message) { - var location = this.index < this.tokens.length ? 'at column ' + (this.tokens[this.index].index + 1) + ' in' : 'at the end of the expression'; + var LiteralObject = exports.LiteralObject = function (_Expression18) { + _inherits(LiteralObject, _Expression18); - throw new Error('Parser Error: ' + message + ' ' + location + ' [' + this.input + ']'); - }; + function LiteralObject(keys, values) { + - _createClass(ParserImplementation, [{ - key: 'peek', - get: function get() { - return this.index < this.tokens.length ? this.tokens[this.index] : EOF; - } - }]); + var _this20 = _possibleConstructorReturn(this, _Expression18.call(this)); - return ParserImplementation; - }(); + _this20.keys = keys; + _this20.values = values; + return _this20; + } - var mapProto = Map.prototype; + LiteralObject.prototype.evaluate = function evaluate(scope, lookupFunctions) { + var instance = {}; + var keys = this.keys; + var values = this.values; - function _getMapObserver(taskQueue, map) { - return ModifyMapObserver.for(taskQueue, map); - } + for (var _i12 = 0, length = keys.length; _i12 < length; ++_i12) { + instance[keys[_i12]] = values[_i12].evaluate(scope, lookupFunctions); + } - exports.getMapObserver = _getMapObserver; + return instance; + }; - var ModifyMapObserver = function (_ModifyCollectionObse2) { - _inherits(ModifyMapObserver, _ModifyCollectionObse2); + LiteralObject.prototype.accept = function accept(visitor) { + return visitor.visitLiteralObject(this); + }; - function ModifyMapObserver(taskQueue, map) { - + LiteralObject.prototype.connect = function connect(binding, scope) { + var length = this.keys.length; + for (var _i13 = 0; _i13 < length; _i13++) { + this.values[_i13].connect(binding, scope); + } + }; - return _possibleConstructorReturn(this, _ModifyCollectionObse2.call(this, taskQueue, map)); + return LiteralObject; + }(Expression); + + function evalList(scope, list, lookupFunctions) { + var length = list.length; + var result = []; + for (var _i14 = 0; _i14 < length; _i14++) { + result[_i14] = list[_i14].evaluate(scope, lookupFunctions); } + return result; + } - ModifyMapObserver.for = function _for(taskQueue, map) { - if (!('__map_observer__' in map)) { - Reflect.defineProperty(map, '__map_observer__', { - value: ModifyMapObserver.create(taskQueue, map), - enumerable: false, configurable: false - }); + function autoConvertAdd(a, b) { + if (a !== null && b !== null) { + if (typeof a === 'string' && typeof b !== 'string') { + return a + b.toString(); } - return map.__map_observer__; - }; - ModifyMapObserver.create = function create(taskQueue, map) { - var observer = new ModifyMapObserver(taskQueue, map); - - var proto = mapProto; - if (proto.set !== map.set || proto.delete !== map.delete || proto.clear !== map.clear) { - proto = { - set: map.set, - delete: map.delete, - clear: map.clear - }; + if (typeof a !== 'string' && typeof b === 'string') { + return a.toString() + b; } - map.set = function () { - var hasValue = map.has(arguments[0]); - var type = hasValue ? 'update' : 'add'; - var oldValue = map.get(arguments[0]); - var methodCallResult = proto.set.apply(map, arguments); - if (!hasValue || oldValue !== map.get(arguments[0])) { - observer.addChangeRecord({ - type: type, - object: map, - key: arguments[0], - oldValue: oldValue - }); - } - return methodCallResult; - }; - - map.delete = function () { - var hasValue = map.has(arguments[0]); - var oldValue = map.get(arguments[0]); - var methodCallResult = proto.delete.apply(map, arguments); - if (hasValue) { - observer.addChangeRecord({ - type: 'delete', - object: map, - key: arguments[0], - oldValue: oldValue - }); - } - return methodCallResult; - }; - - map.clear = function () { - var methodCallResult = proto.clear.apply(map, arguments); - observer.addChangeRecord({ - type: 'clear', - object: map - }); - return methodCallResult; - }; + return a + b; + } - return observer; - }; + if (a !== null) { + return a; + } - return ModifyMapObserver; - }(ModifyCollectionObserver); + if (b !== null) { + return b; + } - function findOriginalEventTarget(event) { - return event.path && event.path[0] || event.deepPath && event.deepPath[0] || event.target; + return 0; } - function stopPropagation() { - this.standardStopPropagation(); - this.propagationStopped = true; + function getFunction(obj, name, mustExist) { + var func = obj === null || obj === undefined ? null : obj[name]; + if (typeof func === 'function') { + return func; + } + if (!mustExist && (func === null || func === undefined)) { + return null; + } + throw new Error(name + ' is not a function'); } - function interceptStopPropagation(event) { - event.standardStopPropagation = event.stopPropagation; - event.stopPropagation = stopPropagation; - } + function getKeyed(obj, key) { + if (Array.isArray(obj)) { + return obj[parseInt(key, 10)]; + } else if (obj) { + return obj[key]; + } else if (obj === null || obj === undefined) { + return undefined; + } - function handleCapturedEvent(event) { - var interceptInstalled = false; - event.propagationStopped = false; - var target = findOriginalEventTarget(event); + return obj[key]; + } - var orderedCallbacks = []; + function setKeyed(obj, key, value) { + if (Array.isArray(obj)) { + var index = parseInt(key, 10); - while (target) { - if (target.capturedCallbacks) { - var callback = target.capturedCallbacks[event.type]; - if (callback) { - if (!interceptInstalled) { - interceptStopPropagation(event); - interceptInstalled = true; - } - orderedCallbacks.push(callback); - } - } - target = target.parentNode; - } - for (var _i22 = orderedCallbacks.length - 1; _i22 >= 0; _i22--) { - var orderedCallback = orderedCallbacks[_i22]; - orderedCallback(event); - if (event.propagationStopped) { - break; + if (obj.length <= index) { + obj.length = index + 1; } + + obj[index] = value; + } else { + obj[key] = value; } + + return value; } - var CapturedHandlerEntry = function () { - function CapturedHandlerEntry(eventName) { + var Unparser = exports.Unparser = function () { + function Unparser(buffer) { - this.eventName = eventName; - this.count = 0; + this.buffer = buffer; } - CapturedHandlerEntry.prototype.increment = function increment() { - this.count++; - - if (this.count === 1) { - _aureliaPal.DOM.addEventListener(this.eventName, handleCapturedEvent, true); - } - }; + Unparser.unparse = function unparse(expression) { + var buffer = []; + var visitor = new Unparser(buffer); - CapturedHandlerEntry.prototype.decrement = function decrement() { - this.count--; + expression.accept(visitor); - if (this.count === 0) { - _aureliaPal.DOM.removeEventListener(this.eventName, handleCapturedEvent, true); - } + return buffer.join(''); }; - return CapturedHandlerEntry; - }(); + Unparser.prototype.write = function write(text) { + this.buffer.push(text); + }; - function handleDelegatedEvent(event) { - var interceptInstalled = false; - event.propagationStopped = false; - var target = findOriginalEventTarget(event); + Unparser.prototype.writeArgs = function writeArgs(args) { + this.write('('); - while (target && !event.propagationStopped) { - if (target.delegatedCallbacks) { - var callback = target.delegatedCallbacks[event.type]; - if (callback) { - if (!interceptInstalled) { - interceptStopPropagation(event); - interceptInstalled = true; - } - callback(event); + for (var _i15 = 0, length = args.length; _i15 < length; ++_i15) { + if (_i15 !== 0) { + this.write(','); } - } - target = target.parentNode; - } - } + args[_i15].accept(this); + } - var DelegateHandlerEntry = function () { - function DelegateHandlerEntry(eventName) { - + this.write(')'); + }; - this.eventName = eventName; - this.count = 0; - } + Unparser.prototype.visitChain = function visitChain(chain) { + var expressions = chain.expressions; - DelegateHandlerEntry.prototype.increment = function increment() { - this.count++; + for (var _i16 = 0, length = expression.length; _i16 < length; ++_i16) { + if (_i16 !== 0) { + this.write(';'); + } - if (this.count === 1) { - _aureliaPal.DOM.addEventListener(this.eventName, handleDelegatedEvent, false); + expressions[_i16].accept(this); } }; - DelegateHandlerEntry.prototype.decrement = function decrement() { - this.count--; + Unparser.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) { + var args = behavior.args; - if (this.count === 0) { - _aureliaPal.DOM.removeEventListener(this.eventName, handleDelegatedEvent); + behavior.expression.accept(this); + this.write('&' + behavior.name); + + for (var _i17 = 0, length = args.length; _i17 < length; ++_i17) { + this.write(':'); + args[_i17].accept(this); } }; - return DelegateHandlerEntry; - }(); - - var DefaultEventStrategy = function () { - function DefaultEventStrategy() { - - - this.delegatedHandlers = {}; - this.capturedHandlers = {}; - } + Unparser.prototype.visitValueConverter = function visitValueConverter(converter) { + var args = converter.args; - DefaultEventStrategy.prototype.subscribe = function subscribe(target, targetEvent, callback, strategy) { - var _this22 = this; + converter.expression.accept(this); + this.write('|' + converter.name); - var delegatedHandlers = void 0; - var capturedHandlers = void 0; - var handlerEntry = void 0; + for (var _i18 = 0, length = args.length; _i18 < length; ++_i18) { + this.write(':'); + args[_i18].accept(this); + } + }; - if (strategy === delegationStrategy.bubbling) { - var _ret = function () { - delegatedHandlers = _this22.delegatedHandlers; - handlerEntry = delegatedHandlers[targetEvent] || (delegatedHandlers[targetEvent] = new DelegateHandlerEntry(targetEvent)); - var delegatedCallbacks = target.delegatedCallbacks || (target.delegatedCallbacks = {}); + Unparser.prototype.visitAssign = function visitAssign(assign) { + assign.target.accept(this); + this.write('='); + assign.value.accept(this); + }; - handlerEntry.increment(); - delegatedCallbacks[targetEvent] = callback; + Unparser.prototype.visitConditional = function visitConditional(conditional) { + conditional.condition.accept(this); + this.write('?'); + conditional.yes.accept(this); + this.write(':'); + conditional.no.accept(this); + }; - return { - v: function v() { - handlerEntry.decrement(); - delegatedCallbacks[targetEvent] = null; - } - }; - }(); + Unparser.prototype.visitAccessThis = function visitAccessThis(access) { + if (access.ancestor === 0) { + this.write('$this'); + return; + } + this.write('$parent'); + var i = access.ancestor - 1; + while (i--) { + this.write('.$parent'); + } + }; - if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; + Unparser.prototype.visitAccessScope = function visitAccessScope(access) { + var i = access.ancestor; + while (i--) { + this.write('$parent.'); } - if (strategy === delegationStrategy.capturing) { - var _ret2 = function () { - capturedHandlers = _this22.capturedHandlers; - handlerEntry = capturedHandlers[targetEvent] || (capturedHandlers[targetEvent] = new CapturedHandlerEntry(targetEvent)); - var capturedCallbacks = target.capturedCallbacks || (target.capturedCallbacks = {}); + this.write(access.name); + }; - handlerEntry.increment(); - capturedCallbacks[targetEvent] = callback; + Unparser.prototype.visitAccessMember = function visitAccessMember(access) { + access.object.accept(this); + this.write('.' + access.name); + }; - return { - v: function v() { - handlerEntry.decrement(); - capturedCallbacks[targetEvent] = null; - } - }; - }(); + Unparser.prototype.visitAccessKeyed = function visitAccessKeyed(access) { + access.object.accept(this); + this.write('['); + access.key.accept(this); + this.write(']'); + }; - if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === "object") return _ret2.v; + Unparser.prototype.visitCallScope = function visitCallScope(call) { + var i = call.ancestor; + while (i--) { + this.write('$parent.'); } - - target.addEventListener(targetEvent, callback, false); - - return function () { - target.removeEventListener(targetEvent, callback); - }; + this.write(call.name); + this.writeArgs(call.args); }; - return DefaultEventStrategy; - }(); + Unparser.prototype.visitCallFunction = function visitCallFunction(call) { + call.func.accept(this); + this.writeArgs(call.args); + }; - var delegationStrategy = exports.delegationStrategy = { - none: 0, - capturing: 1, - bubbling: 2 - }; + Unparser.prototype.visitCallMember = function visitCallMember(call) { + call.object.accept(this); + this.write('.' + call.name); + this.writeArgs(call.args); + }; - var EventManager = exports.EventManager = function () { - function EventManager() { - + Unparser.prototype.visitPrefix = function visitPrefix(prefix) { + this.write('(' + prefix.operation); + prefix.expression.accept(this); + this.write(')'); + }; - this.elementHandlerLookup = {}; - this.eventStrategyLookup = {}; + Unparser.prototype.visitBinary = function visitBinary(binary) { + binary.left.accept(this); + this.write(binary.operation); + binary.right.accept(this); + }; - this.registerElementConfig({ - tagName: 'input', - properties: { - value: ['change', 'input'], - checked: ['change', 'input'], - files: ['change', 'input'] - } - }); + Unparser.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) { + this.write('' + literal.value); + }; - this.registerElementConfig({ - tagName: 'textarea', - properties: { - value: ['change', 'input'] - } - }); + Unparser.prototype.visitLiteralArray = function visitLiteralArray(literal) { + var elements = literal.elements; - this.registerElementConfig({ - tagName: 'select', - properties: { - value: ['change'] - } - }); + this.write('['); - this.registerElementConfig({ - tagName: 'content editable', - properties: { - value: ['change', 'input', 'blur', 'keyup', 'paste'] + for (var _i19 = 0, length = elements.length; _i19 < length; ++_i19) { + if (_i19 !== 0) { + this.write(','); } - }); - this.registerElementConfig({ - tagName: 'scrollable element', - properties: { - scrollTop: ['scroll'], - scrollLeft: ['scroll'] - } - }); + elements[_i19].accept(this); + } - this.defaultEventStrategy = new DefaultEventStrategy(); - } + this.write(']'); + }; - EventManager.prototype.registerElementConfig = function registerElementConfig(config) { - var tagName = config.tagName.toLowerCase(); - var properties = config.properties; - var propertyName = void 0; + Unparser.prototype.visitLiteralObject = function visitLiteralObject(literal) { + var keys = literal.keys; + var values = literal.values; - this.elementHandlerLookup[tagName] = {}; + this.write('{'); - for (propertyName in properties) { - if (properties.hasOwnProperty(propertyName)) { - this.registerElementPropertyConfig(tagName, propertyName, properties[propertyName]); + for (var _i20 = 0, length = keys.length; _i20 < length; ++_i20) { + if (_i20 !== 0) { + this.write(','); } + + this.write('\'' + keys[_i20] + '\':'); + values[_i20].accept(this); } + + this.write('}'); }; - EventManager.prototype.registerElementPropertyConfig = function registerElementPropertyConfig(tagName, propertyName, events) { - this.elementHandlerLookup[tagName][propertyName] = this.createElementHandler(events); + Unparser.prototype.visitLiteralString = function visitLiteralString(literal) { + var escaped = literal.value.replace(/'/g, "\'"); + this.write('\'' + escaped + '\''); }; - EventManager.prototype.createElementHandler = function createElementHandler(events) { - return { - subscribe: function subscribe(target, callback) { - events.forEach(function (changeEvent) { - target.addEventListener(changeEvent, callback, false); - }); + return Unparser; + }(); - return function () { - events.forEach(function (changeEvent) { - target.removeEventListener(changeEvent, callback); - }); - }; - } - }; - }; + var ExpressionCloner = exports.ExpressionCloner = function () { + function ExpressionCloner() { + + } - EventManager.prototype.registerElementHandler = function registerElementHandler(tagName, handler) { - this.elementHandlerLookup[tagName.toLowerCase()] = handler; + ExpressionCloner.prototype.cloneExpressionArray = function cloneExpressionArray(array) { + var clonedArray = []; + var i = array.length; + while (i--) { + clonedArray[i] = array[i].accept(this); + } + return clonedArray; }; - EventManager.prototype.registerEventStrategy = function registerEventStrategy(eventName, strategy) { - this.eventStrategyLookup[eventName] = strategy; + ExpressionCloner.prototype.visitChain = function visitChain(chain) { + return new Chain(this.cloneExpressionArray(chain.expressions)); }; - EventManager.prototype.getElementHandler = function getElementHandler(target, propertyName) { - var tagName = void 0; - var lookup = this.elementHandlerLookup; - - if (target.tagName) { - tagName = target.tagName.toLowerCase(); + ExpressionCloner.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) { + return new BindingBehavior(behavior.expression.accept(this), behavior.name, this.cloneExpressionArray(behavior.args)); + }; - if (lookup[tagName] && lookup[tagName][propertyName]) { - return lookup[tagName][propertyName]; - } + ExpressionCloner.prototype.visitValueConverter = function visitValueConverter(converter) { + return new ValueConverter(converter.expression.accept(this), converter.name, this.cloneExpressionArray(converter.args)); + }; - if (propertyName === 'textContent' || propertyName === 'innerHTML') { - return lookup['content editable'].value; - } + ExpressionCloner.prototype.visitAssign = function visitAssign(assign) { + return new Assign(assign.target.accept(this), assign.value.accept(this)); + }; - if (propertyName === 'scrollTop' || propertyName === 'scrollLeft') { - return lookup['scrollable element'][propertyName]; - } - } + ExpressionCloner.prototype.visitConditional = function visitConditional(conditional) { + return new Conditional(conditional.condition.accept(this), conditional.yes.accept(this), conditional.no.accept(this)); + }; - return null; + ExpressionCloner.prototype.visitAccessThis = function visitAccessThis(access) { + return new AccessThis(access.ancestor); }; - EventManager.prototype.addEventListener = function addEventListener(target, targetEvent, callback, delegate) { - return (this.eventStrategyLookup[targetEvent] || this.defaultEventStrategy).subscribe(target, targetEvent, callback, delegate); + ExpressionCloner.prototype.visitAccessScope = function visitAccessScope(access) { + return new AccessScope(access.name, access.ancestor); }; - return EventManager; - }(); + ExpressionCloner.prototype.visitAccessMember = function visitAccessMember(access) { + return new AccessMember(access.object.accept(this), access.name); + }; - var DirtyChecker = exports.DirtyChecker = function () { - function DirtyChecker() { - + ExpressionCloner.prototype.visitAccessKeyed = function visitAccessKeyed(access) { + return new AccessKeyed(access.object.accept(this), access.key.accept(this)); + }; - this.tracked = []; - this.checkDelay = 120; - } + ExpressionCloner.prototype.visitCallScope = function visitCallScope(call) { + return new CallScope(call.name, this.cloneExpressionArray(call.args), call.ancestor); + }; - DirtyChecker.prototype.addProperty = function addProperty(property) { - var tracked = this.tracked; + ExpressionCloner.prototype.visitCallFunction = function visitCallFunction(call) { + return new CallFunction(call.func.accept(this), this.cloneExpressionArray(call.args)); + }; - tracked.push(property); + ExpressionCloner.prototype.visitCallMember = function visitCallMember(call) { + return new CallMember(call.object.accept(this), call.name, this.cloneExpressionArray(call.args)); + }; - if (tracked.length === 1) { - this.scheduleDirtyCheck(); - } + ExpressionCloner.prototype.visitPrefix = function visitPrefix(prefix) { + return new PrefixNot(prefix.operation, prefix.expression.accept(this)); }; - DirtyChecker.prototype.removeProperty = function removeProperty(property) { - var tracked = this.tracked; - tracked.splice(tracked.indexOf(property), 1); + ExpressionCloner.prototype.visitBinary = function visitBinary(binary) { + return new Binary(binary.operation, binary.left.accept(this), binary.right.accept(this)); }; - DirtyChecker.prototype.scheduleDirtyCheck = function scheduleDirtyCheck() { - var _this23 = this; + ExpressionCloner.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) { + return new LiteralPrimitive(literal); + }; - setTimeout(function () { - return _this23.check(); - }, this.checkDelay); + ExpressionCloner.prototype.visitLiteralArray = function visitLiteralArray(literal) { + return new LiteralArray(this.cloneExpressionArray(literal.elements)); }; - DirtyChecker.prototype.check = function check() { - var tracked = this.tracked; - var i = tracked.length; - - while (i--) { - var current = tracked[i]; - - if (current.isDirty()) { - current.call(); - } - } + ExpressionCloner.prototype.visitLiteralObject = function visitLiteralObject(literal) { + return new LiteralObject(literal.keys, this.cloneExpressionArray(literal.values)); + }; - if (tracked.length) { - this.scheduleDirtyCheck(); - } + ExpressionCloner.prototype.visitLiteralString = function visitLiteralString(literal) { + return new LiteralString(literal.value); }; - return DirtyChecker; + return ExpressionCloner; }(); - var DirtyCheckProperty = exports.DirtyCheckProperty = (_dec5 = subscriberCollection(), _dec5(_class5 = function () { - function DirtyCheckProperty(dirtyChecker, obj, propertyName) { + function cloneExpression(expression) { + var visitor = new ExpressionCloner(); + return expression.accept(visitor); + } + + var bindingMode = exports.bindingMode = { + oneTime: 0, + oneWay: 1, + twoWay: 2 + }; + + var Token = exports.Token = function () { + function Token(index, text) { - this.dirtyChecker = dirtyChecker; - this.obj = obj; - this.propertyName = propertyName; + this.index = index; + this.text = text; } - DirtyCheckProperty.prototype.getValue = function getValue() { - return this.obj[this.propertyName]; + Token.prototype.withOp = function withOp(op) { + this.opKey = op; + return this; }; - DirtyCheckProperty.prototype.setValue = function setValue(newValue) { - this.obj[this.propertyName] = newValue; + Token.prototype.withGetterSetter = function withGetterSetter(key) { + this.key = key; + return this; }; - DirtyCheckProperty.prototype.call = function call() { - var oldValue = this.oldValue; - var newValue = this.getValue(); - - this.callSubscribers(newValue, oldValue); - - this.oldValue = newValue; + Token.prototype.withValue = function withValue(value) { + this.value = value; + return this; }; - DirtyCheckProperty.prototype.isDirty = function isDirty() { - return this.oldValue !== this.obj[this.propertyName]; + Token.prototype.toString = function toString() { + return 'Token(' + this.text + ')'; }; - DirtyCheckProperty.prototype.subscribe = function subscribe(context, callable) { - if (!this.hasSubscribers()) { - this.oldValue = this.getValue(); - this.dirtyChecker.addProperty(this); - } - this.addSubscriber(context, callable); - }; + return Token; + }(); - DirtyCheckProperty.prototype.unsubscribe = function unsubscribe(context, callable) { - if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { - this.dirtyChecker.removeProperty(this); - } - }; + var Lexer = exports.Lexer = function () { + function Lexer() { + + } - return DirtyCheckProperty; - }()) || _class5); + Lexer.prototype.lex = function lex(text) { + var scanner = new Scanner(text); + var tokens = []; + var token = scanner.scanToken(); + while (token) { + tokens.push(token); + token = scanner.scanToken(); + } - var logger = LogManager.getLogger('property-observation'); + return tokens; + }; - var propertyAccessor = exports.propertyAccessor = { - getValue: function getValue(obj, propertyName) { - return obj[propertyName]; - }, - setValue: function setValue(value, obj, propertyName) { - obj[propertyName] = value; - } - }; + return Lexer; + }(); - var PrimitiveObserver = exports.PrimitiveObserver = function () { - function PrimitiveObserver(primitive, propertyName) { + var Scanner = exports.Scanner = function () { + function Scanner(input) { - this.doNotCache = true; + this.input = input; + this.length = input.length; + this.peek = 0; + this.index = -1; - this.primitive = primitive; - this.propertyName = propertyName; + this.advance(); } - PrimitiveObserver.prototype.getValue = function getValue() { - return this.primitive[this.propertyName]; - }; + Scanner.prototype.scanToken = function scanToken() { + while (this.peek <= $SPACE) { + if (++this.index >= this.length) { + this.peek = $EOF; + return null; + } - PrimitiveObserver.prototype.setValue = function setValue() { - var type = _typeof(this.primitive); - throw new Error('The ' + this.propertyName + ' property of a ' + type + ' (' + this.primitive + ') cannot be assigned.'); - }; + this.peek = this.input.charCodeAt(this.index); + } - PrimitiveObserver.prototype.subscribe = function subscribe() {}; + if (isIdentifierStart(this.peek)) { + return this.scanIdentifier(); + } - PrimitiveObserver.prototype.unsubscribe = function unsubscribe() {}; + if (isDigit(this.peek)) { + return this.scanNumber(this.index); + } - return PrimitiveObserver; - }(); + var start = this.index; - var SetterObserver = exports.SetterObserver = (_dec6 = subscriberCollection(), _dec6(_class7 = function () { - function SetterObserver(taskQueue, obj, propertyName) { - + switch (this.peek) { + case $PERIOD: + this.advance(); + return isDigit(this.peek) ? this.scanNumber(start) : new Token(start, '.'); + case $LPAREN: + case $RPAREN: + case $LBRACE: + case $RBRACE: + case $LBRACKET: + case $RBRACKET: + case $COMMA: + case $COLON: + case $SEMICOLON: + return this.scanCharacter(start, String.fromCharCode(this.peek)); + case $SQ: + case $DQ: + return this.scanString(); + case $PLUS: + case $MINUS: + case $STAR: + case $SLASH: + case $PERCENT: + case $CARET: + case $QUESTION: + return this.scanOperator(start, String.fromCharCode(this.peek)); + case $LT: + case $GT: + case $BANG: + case $EQ: + return this.scanComplexOperator(start, $EQ, String.fromCharCode(this.peek), '='); + case $AMPERSAND: + return this.scanComplexOperator(start, $AMPERSAND, '&', '&'); + case $BAR: + return this.scanComplexOperator(start, $BAR, '|', '|'); + case $NBSP: + while (isWhitespace(this.peek)) { + this.advance(); + } - this.taskQueue = taskQueue; - this.obj = obj; - this.propertyName = propertyName; - this.queued = false; - this.observing = false; - } + return this.scanToken(); + } - SetterObserver.prototype.getValue = function getValue() { - return this.obj[this.propertyName]; + var character = String.fromCharCode(this.peek); + this.error('Unexpected character [' + character + ']'); + return null; }; - SetterObserver.prototype.setValue = function setValue(newValue) { - this.obj[this.propertyName] = newValue; + Scanner.prototype.scanCharacter = function scanCharacter(start, text) { + assert(this.peek === text.charCodeAt(0)); + this.advance(); + return new Token(start, text); }; - SetterObserver.prototype.getterValue = function getterValue() { - return this.currentValue; + Scanner.prototype.scanOperator = function scanOperator(start, text) { + assert(this.peek === text.charCodeAt(0)); + assert(OPERATORS.indexOf(text) !== -1); + this.advance(); + return new Token(start, text).withOp(text); }; - SetterObserver.prototype.setterValue = function setterValue(newValue) { - var oldValue = this.currentValue; + Scanner.prototype.scanComplexOperator = function scanComplexOperator(start, code, one, two) { + assert(this.peek === one.charCodeAt(0)); + this.advance(); - if (oldValue !== newValue) { - if (!this.queued) { - this.oldValue = oldValue; - this.queued = true; - this.taskQueue.queueMicroTask(this); - } + var text = one; - this.currentValue = newValue; + if (this.peek === code) { + this.advance(); + text += two; } - }; - SetterObserver.prototype.call = function call() { - var oldValue = this.oldValue; - var newValue = this.currentValue; + if (this.peek === code) { + this.advance(); + text += two; + } - this.queued = false; + assert(OPERATORS.indexOf(text) !== -1); - this.callSubscribers(newValue, oldValue); + return new Token(start, text).withOp(text); }; - SetterObserver.prototype.subscribe = function subscribe(context, callable) { - if (!this.observing) { - this.convertProperty(); - } - this.addSubscriber(context, callable); - }; + Scanner.prototype.scanIdentifier = function scanIdentifier() { + assert(isIdentifierStart(this.peek)); + var start = this.index; - SetterObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - this.removeSubscriber(context, callable); - }; + this.advance(); - SetterObserver.prototype.convertProperty = function convertProperty() { - this.observing = true; - this.currentValue = this.obj[this.propertyName]; - this.setValue = this.setterValue; - this.getValue = this.getterValue; - - if (!Reflect.defineProperty(this.obj, this.propertyName, { - configurable: true, - enumerable: this.propertyName in this.obj ? this.obj.propertyIsEnumerable(this.propertyName) : true, - get: this.getValue.bind(this), - set: this.setValue.bind(this) - })) { - logger.warn('Cannot observe property \'' + this.propertyName + '\' of object', this.obj); + while (isIdentifierPart(this.peek)) { + this.advance(); } - }; - return SetterObserver; - }()) || _class7); - - var XLinkAttributeObserver = exports.XLinkAttributeObserver = function () { - function XLinkAttributeObserver(element, propertyName, attributeName) { - + var text = this.input.substring(start, this.index); + var result = new Token(start, text); - this.element = element; - this.propertyName = propertyName; - this.attributeName = attributeName; - } + if (OPERATORS.indexOf(text) !== -1) { + result.withOp(text); + } else { + result.withGetterSetter(text); + } - XLinkAttributeObserver.prototype.getValue = function getValue() { - return this.element.getAttributeNS('http://www.w3.org/1999/xlink', this.attributeName); + return result; }; - XLinkAttributeObserver.prototype.setValue = function setValue(newValue) { - return this.element.setAttributeNS('http://www.w3.org/1999/xlink', this.attributeName, newValue); - }; + Scanner.prototype.scanNumber = function scanNumber(start) { + assert(isDigit(this.peek)); + var simple = this.index === start; + this.advance(); - XLinkAttributeObserver.prototype.subscribe = function subscribe() { - throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "' + this.propertyName + '" property is not supported.'); - }; + while (true) { + if (!isDigit(this.peek)) { + if (this.peek === $PERIOD) { + simple = false; + } else if (isExponentStart(this.peek)) { + this.advance(); - return XLinkAttributeObserver; - }(); + if (isExponentSign(this.peek)) { + this.advance(); + } - var dataAttributeAccessor = exports.dataAttributeAccessor = { - getValue: function getValue(obj, propertyName) { - return obj.getAttribute(propertyName); - }, - setValue: function setValue(value, obj, propertyName) { - return obj.setAttribute(propertyName, value); - } - }; + if (!isDigit(this.peek)) { + this.error('Invalid exponent', -1); + } - var DataAttributeObserver = exports.DataAttributeObserver = function () { - function DataAttributeObserver(element, propertyName) { - + simple = false; + } else { + break; + } + } - this.element = element; - this.propertyName = propertyName; - } + this.advance(); + } - DataAttributeObserver.prototype.getValue = function getValue() { - return this.element.getAttribute(this.propertyName); + var text = this.input.substring(start, this.index); + var value = simple ? parseInt(text, 10) : parseFloat(text); + return new Token(start, text).withValue(value); }; - DataAttributeObserver.prototype.setValue = function setValue(newValue) { - return this.element.setAttribute(this.propertyName, newValue); - }; + Scanner.prototype.scanString = function scanString() { + assert(this.peek === $SQ || this.peek === $DQ); - DataAttributeObserver.prototype.subscribe = function subscribe() { - throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "' + this.propertyName + '" property is not supported.'); - }; + var start = this.index; + var quote = this.peek; - return DataAttributeObserver; - }(); + this.advance(); - var StyleObserver = exports.StyleObserver = function () { - function StyleObserver(element, propertyName) { - + var buffer = void 0; + var marker = this.index; - this.element = element; - this.propertyName = propertyName; + while (this.peek !== quote) { + if (this.peek === $BACKSLASH) { + if (!buffer) { + buffer = []; + } - this.styles = null; - this.version = 0; - } + buffer.push(this.input.substring(marker, this.index)); + this.advance(); - StyleObserver.prototype.getValue = function getValue() { - return this.element.style.cssText; - }; + var _unescaped = void 0; - StyleObserver.prototype._setProperty = function _setProperty(style, value) { - var priority = ''; + if (this.peek === $u) { + var hex = this.input.substring(this.index + 1, this.index + 5); - if (value !== null && value !== undefined && typeof value.indexOf === 'function' && value.indexOf('!important') !== -1) { - priority = 'important'; - value = value.replace('!important', ''); - } - this.element.style.setProperty(style, value, priority); - }; + if (!/[A-Z0-9]{4}/.test(hex)) { + this.error('Invalid unicode escape [\\u' + hex + ']'); + } - StyleObserver.prototype.setValue = function setValue(newValue) { - var styles = this.styles || {}; - var style = void 0; - var version = this.version; + _unescaped = parseInt(hex, 16); - if (newValue !== null && newValue !== undefined) { - if (newValue instanceof Object) { - var value = void 0; - for (style in newValue) { - if (newValue.hasOwnProperty(style)) { - value = newValue[style]; - style = style.replace(/([A-Z])/g, function (m) { - return '-' + m.toLowerCase(); - }); - styles[style] = version; - this._setProperty(style, value); + for (var _i21 = 0; _i21 < 5; ++_i21) { + this.advance(); } + } else { + _unescaped = unescape(this.peek); + this.advance(); } - } else if (newValue.length) { - var rx = /\s*([\w\-]+)\s*:\s*((?:(?:[\w\-]+\(\s*(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[\w\-]+\(\s*(?:^"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^\)]*)\),?|[^\)]*)\),?|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^;]*),?\s*)+);?/g; - var pair = void 0; - while ((pair = rx.exec(newValue)) !== null) { - style = pair[1]; - if (!style) { - continue; - } - styles[style] = version; - this._setProperty(style, pair[2]); - } + buffer.push(String.fromCharCode(_unescaped)); + marker = this.index; + } else if (this.peek === $EOF) { + this.error('Unterminated quote'); + } else { + this.advance(); } } - this.styles = styles; - this.version += 1; + var last = this.input.substring(marker, this.index); + this.advance(); + var text = this.input.substring(start, this.index); - if (version === 0) { - return; + var unescaped = last; + + if (buffer !== null && buffer !== undefined) { + buffer.push(last); + unescaped = buffer.join(''); } - version -= 1; - for (style in styles) { - if (!styles.hasOwnProperty(style) || styles[style] !== version) { - continue; - } + return new Token(start, text).withValue(unescaped); + }; - this.element.style.removeProperty(style); + Scanner.prototype.advance = function advance() { + if (++this.index >= this.length) { + this.peek = $EOF; + } else { + this.peek = this.input.charCodeAt(this.index); } }; - StyleObserver.prototype.subscribe = function subscribe() { - throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "' + this.propertyName + '" property is not supported.'); + Scanner.prototype.error = function error(message) { + var offset = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1]; + + var position = this.index + offset; + throw new Error('Lexer Error: ' + message + ' at column ' + position + ' in expression [' + this.input + ']'); }; - return StyleObserver; + return Scanner; }(); - var ValueAttributeObserver = exports.ValueAttributeObserver = (_dec7 = subscriberCollection(), _dec7(_class8 = function () { - function ValueAttributeObserver(element, propertyName, handler) { - + var OPERATORS = ['undefined', 'null', 'true', 'false', '+', '-', '*', '/', '%', '^', '=', '==', '===', '!=', '!==', '<', '>', '<=', '>=', '&&', '||', '&', '|', '!', '?']; - this.element = element; - this.propertyName = propertyName; - this.handler = handler; - if (propertyName === 'files') { - this.setValue = function () {}; - } - } + var $EOF = 0; + var $TAB = 9; + var $LF = 10; + var $VTAB = 11; + var $FF = 12; + var $CR = 13; + var $SPACE = 32; + var $BANG = 33; + var $DQ = 34; + var $$ = 36; + var $PERCENT = 37; + var $AMPERSAND = 38; + var $SQ = 39; + var $LPAREN = 40; + var $RPAREN = 41; + var $STAR = 42; + var $PLUS = 43; + var $COMMA = 44; + var $MINUS = 45; + var $PERIOD = 46; + var $SLASH = 47; + var $COLON = 58; + var $SEMICOLON = 59; + var $LT = 60; + var $EQ = 61; + var $GT = 62; + var $QUESTION = 63; - ValueAttributeObserver.prototype.getValue = function getValue() { - return this.element[this.propertyName]; - }; + var $0 = 48; + var $9 = 57; - ValueAttributeObserver.prototype.setValue = function setValue(newValue) { - newValue = newValue === undefined || newValue === null ? '' : newValue; - if (this.element[this.propertyName] !== newValue) { - this.element[this.propertyName] = newValue; - this.notify(); - } - }; + var $A = 65; + var $E = 69; + var $Z = 90; - ValueAttributeObserver.prototype.notify = function notify() { - var oldValue = this.oldValue; - var newValue = this.getValue(); + var $LBRACKET = 91; + var $BACKSLASH = 92; + var $RBRACKET = 93; + var $CARET = 94; + var $_ = 95; - this.callSubscribers(newValue, oldValue); + var $a = 97; + var $e = 101; + var $f = 102; + var $n = 110; + var $r = 114; + var $t = 116; + var $u = 117; + var $v = 118; + var $z = 122; - this.oldValue = newValue; - }; + var $LBRACE = 123; + var $BAR = 124; + var $RBRACE = 125; + var $NBSP = 160; - ValueAttributeObserver.prototype.subscribe = function subscribe(context, callable) { - if (!this.hasSubscribers()) { - this.oldValue = this.getValue(); - this.disposeHandler = this.handler.subscribe(this.element, this.notify.bind(this)); - } + function isWhitespace(code) { + return code >= $TAB && code <= $SPACE || code === $NBSP; + } - this.addSubscriber(context, callable); - }; + function isIdentifierStart(code) { + return $a <= code && code <= $z || $A <= code && code <= $Z || code === $_ || code === $$; + } - ValueAttributeObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { - this.disposeHandler(); - this.disposeHandler = null; - } - }; + function isIdentifierPart(code) { + return $a <= code && code <= $z || $A <= code && code <= $Z || $0 <= code && code <= $9 || code === $_ || code === $$; + } - return ValueAttributeObserver; - }()) || _class8); + function isDigit(code) { + return $0 <= code && code <= $9; + } + function isExponentStart(code) { + return code === $e || code === $E; + } - var checkedArrayContext = 'CheckedObserver:array'; - var checkedValueContext = 'CheckedObserver:value'; + function isExponentSign(code) { + return code === $MINUS || code === $PLUS; + } - var CheckedObserver = exports.CheckedObserver = (_dec8 = subscriberCollection(), _dec8(_class9 = function () { - function CheckedObserver(element, handler, observerLocator) { + function unescape(code) { + switch (code) { + case $n: + return $LF; + case $f: + return $FF; + case $r: + return $CR; + case $t: + return $TAB; + case $v: + return $VTAB; + default: + return code; + } + } + + function assert(condition, message) { + if (!condition) { + throw message || 'Assertion failed'; + } + } + + var EOF = new Token(-1, null); + + var Parser = exports.Parser = function () { + function Parser() { - this.element = element; - this.handler = handler; - this.observerLocator = observerLocator; + this.cache = {}; + this.lexer = new Lexer(); } - CheckedObserver.prototype.getValue = function getValue() { - return this.value; + Parser.prototype.parse = function parse(input) { + input = input || ''; + + return this.cache[input] || (this.cache[input] = new ParserImplementation(this.lexer, input).parseChain()); }; - CheckedObserver.prototype.setValue = function setValue(newValue) { - if (this.value === newValue) { - return; - } + return Parser; + }(); - if (this.arrayObserver) { - this.arrayObserver.unsubscribe(checkedArrayContext, this); - this.arrayObserver = null; - } + var ParserImplementation = exports.ParserImplementation = function () { + function ParserImplementation(lexer, input) { + - if (this.element.type === 'checkbox' && Array.isArray(newValue)) { - this.arrayObserver = this.observerLocator.getArrayObserver(newValue); - this.arrayObserver.subscribe(checkedArrayContext, this); - } + this.index = 0; + this.input = input; + this.tokens = lexer.lex(input); + } - this.oldValue = this.value; - this.value = newValue; - this.synchronizeElement(); - this.notify(); + ParserImplementation.prototype.parseChain = function parseChain() { + var isChain = false; + var expressions = []; - if (!this.initialSync) { - this.initialSync = true; - this.observerLocator.taskQueue.queueMicroTask(this); + while (this.optional(';')) { + isChain = true; } - }; - CheckedObserver.prototype.call = function call(context, splices) { - this.synchronizeElement(); + while (this.index < this.tokens.length) { + if (this.peek.text === ')' || this.peek.text === '}' || this.peek.text === ']') { + this.error('Unconsumed token ' + this.peek.text); + } - if (!this.valueObserver) { - this.valueObserver = this.element.__observers__.model || this.element.__observers__.value; - if (this.valueObserver) { - this.valueObserver.subscribe(checkedValueContext, this); + var expr = this.parseBindingBehavior(); + expressions.push(expr); + + while (this.optional(';')) { + isChain = true; } - } - }; - CheckedObserver.prototype.synchronizeElement = function synchronizeElement() { - var value = this.value; - var element = this.element; - var elementValue = element.hasOwnProperty('model') ? element.model : element.value; - var isRadio = element.type === 'radio'; - var matcher = element.matcher || function (a, b) { - return a === b; - }; + if (isChain) { + this.error('Multiple expressions are not allowed.'); + } + } - element.checked = isRadio && !!matcher(value, elementValue) || !isRadio && value === true || !isRadio && Array.isArray(value) && value.findIndex(function (item) { - return !!matcher(item, elementValue); - }) !== -1; + return expressions.length === 1 ? expressions[0] : new Chain(expressions); }; - CheckedObserver.prototype.synchronizeValue = function synchronizeValue() { - var value = this.value; - var element = this.element; - var elementValue = element.hasOwnProperty('model') ? element.model : element.value; - var index = void 0; - var matcher = element.matcher || function (a, b) { - return a === b; - }; + ParserImplementation.prototype.parseBindingBehavior = function parseBindingBehavior() { + var result = this.parseValueConverter(); - if (element.type === 'checkbox') { - if (Array.isArray(value)) { - index = value.findIndex(function (item) { - return !!matcher(item, elementValue); - }); - if (element.checked && index === -1) { - value.push(elementValue); - } else if (!element.checked && index !== -1) { - value.splice(index, 1); - } + while (this.optional('&')) { + var name = this.peek.text; + var args = []; - return; + this.advance(); + + while (this.optional(':')) { + args.push(this.parseExpression()); } - value = element.checked; - } else if (element.checked) { - value = elementValue; - } else { - return; + result = new BindingBehavior(result, name, args); } - this.oldValue = this.value; - this.value = value; - this.notify(); + return result; }; - CheckedObserver.prototype.notify = function notify() { - var oldValue = this.oldValue; - var newValue = this.value; + ParserImplementation.prototype.parseValueConverter = function parseValueConverter() { + var result = this.parseExpression(); - this.callSubscribers(newValue, oldValue); - }; + while (this.optional('|')) { + var name = this.peek.text; + var args = []; - CheckedObserver.prototype.subscribe = function subscribe(context, callable) { - if (!this.hasSubscribers()) { - this.disposeHandler = this.handler.subscribe(this.element, this.synchronizeValue.bind(this, false)); - } - this.addSubscriber(context, callable); - }; + this.advance(); - CheckedObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { - this.disposeHandler(); - this.disposeHandler = null; - } - }; + while (this.optional(':')) { + args.push(this.parseExpression()); + } - CheckedObserver.prototype.unbind = function unbind() { - if (this.arrayObserver) { - this.arrayObserver.unsubscribe(checkedArrayContext, this); - this.arrayObserver = null; - } - if (this.valueObserver) { - this.valueObserver.unsubscribe(checkedValueContext, this); + result = new ValueConverter(result, name, args, [result].concat(args)); } + + return result; }; - return CheckedObserver; - }()) || _class9); + ParserImplementation.prototype.parseExpression = function parseExpression() { + var start = this.peek.index; + var result = this.parseConditional(); + while (this.peek.text === '=') { + if (!result.isAssignable) { + var end = this.index < this.tokens.length ? this.peek.index : this.input.length; + var _expression = this.input.substring(start, end); - var selectArrayContext = 'SelectValueObserver:array'; + this.error('Expression ' + _expression + ' is not assignable'); + } - var SelectValueObserver = exports.SelectValueObserver = (_dec9 = subscriberCollection(), _dec9(_class10 = function () { - function SelectValueObserver(element, handler, observerLocator) { - + this.expect('='); + result = new Assign(result, this.parseConditional()); + } - this.element = element; - this.handler = handler; - this.observerLocator = observerLocator; - } - - SelectValueObserver.prototype.getValue = function getValue() { - return this.value; + return result; }; - SelectValueObserver.prototype.setValue = function setValue(newValue) { - if (newValue !== null && newValue !== undefined && this.element.multiple && !Array.isArray(newValue)) { - throw new Error('Only null or Array instances can be bound to a multi-select.'); - } - if (this.value === newValue) { - return; - } + ParserImplementation.prototype.parseConditional = function parseConditional() { + var start = this.peek.index; + var result = this.parseLogicalOr(); - if (this.arrayObserver) { - this.arrayObserver.unsubscribe(selectArrayContext, this); - this.arrayObserver = null; - } + if (this.optional('?')) { + var yes = this.parseExpression(); - if (Array.isArray(newValue)) { - this.arrayObserver = this.observerLocator.getArrayObserver(newValue); - this.arrayObserver.subscribe(selectArrayContext, this); - } + if (!this.optional(':')) { + var end = this.index < this.tokens.length ? this.peek.index : this.input.length; + var _expression2 = this.input.substring(start, end); - this.oldValue = this.value; - this.value = newValue; - this.synchronizeOptions(); - this.notify(); + this.error('Conditional expression ' + _expression2 + ' requires all 3 expressions'); + } - if (!this.initialSync) { - this.initialSync = true; - this.observerLocator.taskQueue.queueMicroTask(this); + var no = this.parseExpression(); + result = new Conditional(result, yes, no); } - }; - SelectValueObserver.prototype.call = function call(context, splices) { - this.synchronizeOptions(); + return result; }; - SelectValueObserver.prototype.synchronizeOptions = function synchronizeOptions() { - var value = this.value; - var clear = void 0; - var isArray = void 0; + ParserImplementation.prototype.parseLogicalOr = function parseLogicalOr() { + var result = this.parseLogicalAnd(); - if (value === null || value === undefined) { - clear = true; - } else if (Array.isArray(value)) { - isArray = true; + while (this.optional('||')) { + result = new Binary('||', result, this.parseLogicalAnd()); } - var options = this.element.options; - var i = options.length; - var matcher = this.element.matcher || function (a, b) { - return a === b; - }; - - var _loop = function _loop() { - var option = options.item(i); - if (clear) { - option.selected = false; - return 'continue'; - } - var optionValue = option.hasOwnProperty('model') ? option.model : option.value; - if (isArray) { - option.selected = value.findIndex(function (item) { - return !!matcher(optionValue, item); - }) !== -1; - return 'continue'; - } - option.selected = !!matcher(optionValue, value); - }; + return result; + }; - while (i--) { - var _ret3 = _loop(); + ParserImplementation.prototype.parseLogicalAnd = function parseLogicalAnd() { + var result = this.parseEquality(); - if (_ret3 === 'continue') continue; + while (this.optional('&&')) { + result = new Binary('&&', result, this.parseEquality()); } - }; - SelectValueObserver.prototype.synchronizeValue = function synchronizeValue() { - var _this24 = this; + return result; + }; - var options = this.element.options; - var count = 0; - var value = []; + ParserImplementation.prototype.parseEquality = function parseEquality() { + var result = this.parseRelational(); - for (var _i23 = 0, ii = options.length; _i23 < ii; _i23++) { - var _option = options.item(_i23); - if (!_option.selected) { - continue; + while (true) { + if (this.optional('==')) { + result = new Binary('==', result, this.parseRelational()); + } else if (this.optional('!=')) { + result = new Binary('!=', result, this.parseRelational()); + } else if (this.optional('===')) { + result = new Binary('===', result, this.parseRelational()); + } else if (this.optional('!==')) { + result = new Binary('!==', result, this.parseRelational()); + } else { + return result; } - value.push(_option.hasOwnProperty('model') ? _option.model : _option.value); - count++; } + }; - if (this.element.multiple) { - if (Array.isArray(this.value)) { - var _ret4 = function () { - var matcher = _this24.element.matcher || function (a, b) { - return a === b; - }; - - var i = 0; - - var _loop2 = function _loop2() { - var a = _this24.value[i]; - if (value.findIndex(function (b) { - return matcher(a, b); - }) === -1) { - _this24.value.splice(i, 1); - } else { - i++; - } - }; - - while (i < _this24.value.length) { - _loop2(); - } - - i = 0; - - var _loop3 = function _loop3() { - var a = value[i]; - if (_this24.value.findIndex(function (b) { - return matcher(a, b); - }) === -1) { - _this24.value.push(a); - } - i++; - }; - - while (i < value.length) { - _loop3(); - } - return { - v: void 0 - }; - }(); + ParserImplementation.prototype.parseRelational = function parseRelational() { + var result = this.parseAdditive(); - if ((typeof _ret4 === 'undefined' ? 'undefined' : _typeof(_ret4)) === "object") return _ret4.v; - } - } else { - if (count === 0) { - value = null; + while (true) { + if (this.optional('<')) { + result = new Binary('<', result, this.parseAdditive()); + } else if (this.optional('>')) { + result = new Binary('>', result, this.parseAdditive()); + } else if (this.optional('<=')) { + result = new Binary('<=', result, this.parseAdditive()); + } else if (this.optional('>=')) { + result = new Binary('>=', result, this.parseAdditive()); } else { - value = value[0]; + return result; } } - - if (value !== this.value) { - this.oldValue = this.value; - this.value = value; - this.notify(); - } }; - SelectValueObserver.prototype.notify = function notify() { - var oldValue = this.oldValue; - var newValue = this.value; - - this.callSubscribers(newValue, oldValue); - }; + ParserImplementation.prototype.parseAdditive = function parseAdditive() { + var result = this.parseMultiplicative(); - SelectValueObserver.prototype.subscribe = function subscribe(context, callable) { - if (!this.hasSubscribers()) { - this.disposeHandler = this.handler.subscribe(this.element, this.synchronizeValue.bind(this, false)); + while (true) { + if (this.optional('+')) { + result = new Binary('+', result, this.parseMultiplicative()); + } else if (this.optional('-')) { + result = new Binary('-', result, this.parseMultiplicative()); + } else { + return result; + } } - this.addSubscriber(context, callable); }; - SelectValueObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { - this.disposeHandler(); - this.disposeHandler = null; + ParserImplementation.prototype.parseMultiplicative = function parseMultiplicative() { + var result = this.parsePrefix(); + + while (true) { + if (this.optional('*')) { + result = new Binary('*', result, this.parsePrefix()); + } else if (this.optional('%')) { + result = new Binary('%', result, this.parsePrefix()); + } else if (this.optional('/')) { + result = new Binary('/', result, this.parsePrefix()); + } else { + return result; + } } }; - SelectValueObserver.prototype.bind = function bind() { - var _this25 = this; + ParserImplementation.prototype.parsePrefix = function parsePrefix() { + if (this.optional('+')) { + return this.parsePrefix(); + } else if (this.optional('-')) { + return new Binary('-', new LiteralPrimitive(0), this.parsePrefix()); + } else if (this.optional('!')) { + return new PrefixNot('!', this.parsePrefix()); + } - this.domObserver = _aureliaPal.DOM.createMutationObserver(function () { - _this25.synchronizeOptions(); - _this25.synchronizeValue(); - }); - this.domObserver.observe(this.element, { childList: true, subtree: true }); + return this.parseAccessOrCallMember(); }; - SelectValueObserver.prototype.unbind = function unbind() { - this.domObserver.disconnect(); - this.domObserver = null; - - if (this.arrayObserver) { - this.arrayObserver.unsubscribe(selectArrayContext, this); - this.arrayObserver = null; - } - }; + ParserImplementation.prototype.parseAccessOrCallMember = function parseAccessOrCallMember() { + var result = this.parsePrimary(); - return SelectValueObserver; - }()) || _class10); + while (true) { + if (this.optional('.')) { + var name = this.peek.text; - var ClassObserver = exports.ClassObserver = function () { - function ClassObserver(element) { - + this.advance(); - this.element = element; - this.doNotCache = true; - this.value = ''; - this.version = 0; - } - - ClassObserver.prototype.getValue = function getValue() { - return this.value; - }; - - ClassObserver.prototype.setValue = function setValue(newValue) { - var nameIndex = this.nameIndex || {}; - var version = this.version; - var names = void 0; - var name = void 0; - - if (newValue !== null && newValue !== undefined && newValue.length) { - names = newValue.split(/\s+/); - for (var _i24 = 0, length = names.length; _i24 < length; _i24++) { - name = names[_i24]; - if (name === '') { - continue; + if (this.optional('(')) { + var args = this.parseExpressionList(')'); + this.expect(')'); + if (result instanceof AccessThis) { + result = new CallScope(name, args, result.ancestor); + } else { + result = new CallMember(result, name, args); + } + } else { + if (result instanceof AccessThis) { + result = new AccessScope(name, result.ancestor); + } else { + result = new AccessMember(result, name); + } } - nameIndex[name] = version; - this.element.classList.add(name); + } else if (this.optional('[')) { + var key = this.parseExpression(); + this.expect(']'); + result = new AccessKeyed(result, key); + } else if (this.optional('(')) { + var _args = this.parseExpressionList(')'); + this.expect(')'); + result = new CallFunction(result, _args); + } else { + return result; } } + }; - this.value = newValue; - this.nameIndex = nameIndex; - this.version += 1; + ParserImplementation.prototype.parsePrimary = function parsePrimary() { + if (this.optional('(')) { + var result = this.parseExpression(); + this.expect(')'); + return result; + } else if (this.optional('null')) { + return new LiteralPrimitive(null); + } else if (this.optional('undefined')) { + return new LiteralPrimitive(undefined); + } else if (this.optional('true')) { + return new LiteralPrimitive(true); + } else if (this.optional('false')) { + return new LiteralPrimitive(false); + } else if (this.optional('[')) { + var elements = this.parseExpressionList(']'); + this.expect(']'); + return new LiteralArray(elements); + } else if (this.peek.text === '{') { + return this.parseObject(); + } else if (this.peek.key !== null && this.peek.key !== undefined) { + return this.parseAccessOrCallScope(); + } else if (this.peek.value !== null && this.peek.value !== undefined) { + var value = this.peek.value; + this.advance(); + return value instanceof String || typeof value === 'string' ? new LiteralString(value) : new LiteralPrimitive(value); + } else if (this.index >= this.tokens.length) { + throw new Error('Unexpected end of expression: ' + this.input); + } else { + this.error('Unexpected token ' + this.peek.text); + } + }; - if (version === 0) { - return; + ParserImplementation.prototype.parseAccessOrCallScope = function parseAccessOrCallScope() { + var name = this.peek.key; + + this.advance(); + + if (name === '$this') { + return new AccessThis(0); } - version -= 1; - for (name in nameIndex) { - if (!nameIndex.hasOwnProperty(name) || nameIndex[name] !== version) { - continue; + var ancestor = 0; + while (name === '$parent') { + ancestor++; + if (this.optional('.')) { + name = this.peek.key; + this.advance(); + } else if (this.peek === EOF || this.peek.text === '(' || this.peek.text === ')' || this.peek.text === '[' || this.peek.text === '}' || this.peek.text === ',') { + return new AccessThis(ancestor); + } else { + this.error('Unexpected token ' + this.peek.text); } - this.element.classList.remove(name); } - }; - ClassObserver.prototype.subscribe = function subscribe() { - throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "class" property is not supported.'); + if (this.optional('(')) { + var args = this.parseExpressionList(')'); + this.expect(')'); + return new CallScope(name, args, ancestor); + } + + return new AccessScope(name, ancestor); }; - return ClassObserver; - }(); + ParserImplementation.prototype.parseObject = function parseObject() { + var keys = []; + var values = []; - function hasDeclaredDependencies(descriptor) { - return !!(descriptor && descriptor.get && descriptor.get.dependencies); - } + this.expect('{'); - function declarePropertyDependencies(ctor, propertyName, dependencies) { - var descriptor = Object.getOwnPropertyDescriptor(ctor.prototype, propertyName); - descriptor.get.dependencies = dependencies; - } + if (this.peek.text !== '}') { + do { + var peek = this.peek; + var value = peek.value; + keys.push(typeof value === 'string' ? value : peek.text); - function computedFrom() { - for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) { - rest[_key] = arguments[_key]; - } + this.advance(); + if (peek.key && (this.peek.text === ',' || this.peek.text === '}')) { + --this.index; + values.push(this.parseAccessOrCallScope()); + } else { + this.expect(':'); + values.push(this.parseExpression()); + } + } while (this.optional(',')); + } - return function (target, key, descriptor) { - descriptor.get.dependencies = rest; - return descriptor; + this.expect('}'); + + return new LiteralObject(keys, values); }; - } - var ComputedExpression = exports.ComputedExpression = function (_Expression19) { - _inherits(ComputedExpression, _Expression19); + ParserImplementation.prototype.parseExpressionList = function parseExpressionList(terminator) { + var result = []; - function ComputedExpression(name, dependencies) { - + if (this.peek.text !== terminator) { + do { + result.push(this.parseExpression()); + } while (this.optional(',')); + } - var _this26 = _possibleConstructorReturn(this, _Expression19.call(this)); + return result; + }; - _this26.name = name; - _this26.dependencies = dependencies; - _this26.isAssignable = true; - return _this26; - } + ParserImplementation.prototype.optional = function optional(text) { + if (this.peek.text === text) { + this.advance(); + return true; + } - ComputedExpression.prototype.evaluate = function evaluate(scope, lookupFunctions) { - return scope.bindingContext[this.name]; + return false; }; - ComputedExpression.prototype.assign = function assign(scope, value) { - scope.bindingContext[this.name] = value; + ParserImplementation.prototype.expect = function expect(text) { + if (this.peek.text === text) { + this.advance(); + } else { + this.error('Missing expected ' + text); + } }; - ComputedExpression.prototype.accept = function accept(visitor) { - throw new Error('not implemented'); + ParserImplementation.prototype.advance = function advance() { + this.index++; }; - ComputedExpression.prototype.connect = function connect(binding, scope) { - var dependencies = this.dependencies; - var i = dependencies.length; - while (i--) { - dependencies[i].connect(binding, scope); - } - }; + ParserImplementation.prototype.error = function error(message) { + var location = this.index < this.tokens.length ? 'at column ' + (this.tokens[this.index].index + 1) + ' in' : 'at the end of the expression'; - return ComputedExpression; - }(Expression); + throw new Error('Parser Error: ' + message + ' ' + location + ' [' + this.input + ']'); + }; - function createComputedObserver(obj, propertyName, descriptor, observerLocator) { - var dependencies = descriptor.get.dependencies; - if (!(dependencies instanceof ComputedExpression)) { - var _i25 = dependencies.length; - while (_i25--) { - dependencies[_i25] = observerLocator.parser.parse(dependencies[_i25]); + _createClass(ParserImplementation, [{ + key: 'peek', + get: function get() { + return this.index < this.tokens.length ? this.tokens[this.index] : EOF; } - dependencies = descriptor.get.dependencies = new ComputedExpression(propertyName, dependencies); - } + }]); - var scope = { bindingContext: obj, overrideContext: createOverrideContext(obj) }; - return new ExpressionObserver(scope, dependencies, observerLocator); + return ParserImplementation; + }(); + + var mapProto = Map.prototype; + + function _getMapObserver(taskQueue, map) { + return ModifyMapObserver.for(taskQueue, map); } - var elements = exports.elements = { - a: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'target', 'transform', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - altGlyph: ['class', 'dx', 'dy', 'externalResourcesRequired', 'format', 'glyphRef', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - altGlyphDef: ['id', 'xml:base', 'xml:lang', 'xml:space'], - altGlyphItem: ['id', 'xml:base', 'xml:lang', 'xml:space'], - animate: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - animateColor: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - animateMotion: ['accumulate', 'additive', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keyPoints', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'origin', 'path', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'rotate', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - animateTransform: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'type', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - circle: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'r', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - clipPath: ['class', 'clipPathUnits', 'externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - 'color-profile': ['id', 'local', 'name', 'rendering-intent', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - cursor: ['externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - defs: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - desc: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'], - ellipse: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - feBlend: ['class', 'height', 'id', 'in', 'in2', 'mode', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feColorMatrix: ['class', 'height', 'id', 'in', 'result', 'style', 'type', 'values', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feComponentTransfer: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feComposite: ['class', 'height', 'id', 'in', 'in2', 'k1', 'k2', 'k3', 'k4', 'operator', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feConvolveMatrix: ['bias', 'class', 'divisor', 'edgeMode', 'height', 'id', 'in', 'kernelMatrix', 'kernelUnitLength', 'order', 'preserveAlpha', 'result', 'style', 'targetX', 'targetY', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feDiffuseLighting: ['class', 'diffuseConstant', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feDisplacementMap: ['class', 'height', 'id', 'in', 'in2', 'result', 'scale', 'style', 'width', 'x', 'xChannelSelector', 'xml:base', 'xml:lang', 'xml:space', 'y', 'yChannelSelector'], - feDistantLight: ['azimuth', 'elevation', 'id', 'xml:base', 'xml:lang', 'xml:space'], - feFlood: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feFuncA: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], - feFuncB: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], - feFuncG: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], - feFuncR: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], - feGaussianBlur: ['class', 'height', 'id', 'in', 'result', 'stdDeviation', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feImage: ['class', 'externalResourcesRequired', 'height', 'id', 'preserveAspectRatio', 'result', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feMerge: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feMergeNode: ['id', 'xml:base', 'xml:lang', 'xml:space'], - feMorphology: ['class', 'height', 'id', 'in', 'operator', 'radius', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feOffset: ['class', 'dx', 'dy', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - fePointLight: ['id', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'], - feSpecularLighting: ['class', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'specularConstant', 'specularExponent', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feSpotLight: ['id', 'limitingConeAngle', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'specularExponent', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'], - feTile: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - feTurbulence: ['baseFrequency', 'class', 'height', 'id', 'numOctaves', 'result', 'seed', 'stitchTiles', 'style', 'type', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - filter: ['class', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'height', 'id', 'primitiveUnits', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - font: ['class', 'externalResourcesRequired', 'horiz-adv-x', 'horiz-origin-x', 'horiz-origin-y', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'], - 'font-face': ['accent-height', 'alphabetic', 'ascent', 'bbox', 'cap-height', 'descent', 'font-family', 'font-size', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'hanging', 'id', 'ideographic', 'mathematical', 'overline-position', 'overline-thickness', 'panose-1', 'slope', 'stemh', 'stemv', 'strikethrough-position', 'strikethrough-thickness', 'underline-position', 'underline-thickness', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'widths', 'x-height', 'xml:base', 'xml:lang', 'xml:space'], - 'font-face-format': ['id', 'string', 'xml:base', 'xml:lang', 'xml:space'], - 'font-face-name': ['id', 'name', 'xml:base', 'xml:lang', 'xml:space'], - 'font-face-src': ['id', 'xml:base', 'xml:lang', 'xml:space'], - 'font-face-uri': ['id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - foreignObject: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - g: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - glyph: ['arabic-form', 'class', 'd', 'glyph-name', 'horiz-adv-x', 'id', 'lang', 'orientation', 'style', 'unicode', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'], - glyphRef: ['class', 'dx', 'dy', 'format', 'glyphRef', 'id', 'style', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - hkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'], - image: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - line: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'x1', 'x2', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'], - linearGradient: ['class', 'externalResourcesRequired', 'gradientTransform', 'gradientUnits', 'id', 'spreadMethod', 'style', 'x1', 'x2', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'], - marker: ['class', 'externalResourcesRequired', 'id', 'markerHeight', 'markerUnits', 'markerWidth', 'orient', 'preserveAspectRatio', 'refX', 'refY', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'], - mask: ['class', 'externalResourcesRequired', 'height', 'id', 'maskContentUnits', 'maskUnits', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - metadata: ['id', 'xml:base', 'xml:lang', 'xml:space'], - 'missing-glyph': ['class', 'd', 'horiz-adv-x', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'], - mpath: ['externalResourcesRequired', 'id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - path: ['class', 'd', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'pathLength', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - pattern: ['class', 'externalResourcesRequired', 'height', 'id', 'patternContentUnits', 'patternTransform', 'patternUnits', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'viewBox', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - polygon: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - polyline: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - radialGradient: ['class', 'cx', 'cy', 'externalResourcesRequired', 'fx', 'fy', 'gradientTransform', 'gradientUnits', 'id', 'r', 'spreadMethod', 'style', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - rect: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - script: ['externalResourcesRequired', 'id', 'type', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - set: ['attributeName', 'attributeType', 'begin', 'dur', 'end', 'externalResourcesRequired', 'fill', 'id', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - stop: ['class', 'id', 'offset', 'style', 'xml:base', 'xml:lang', 'xml:space'], - style: ['id', 'media', 'title', 'type', 'xml:base', 'xml:lang', 'xml:space'], - svg: ['baseProfile', 'class', 'contentScriptType', 'contentStyleType', 'externalResourcesRequired', 'height', 'id', 'onabort', 'onactivate', 'onclick', 'onerror', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onresize', 'onscroll', 'onunload', 'onzoom', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'version', 'viewBox', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'zoomAndPan'], - switch: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], - symbol: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'], - text: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'transform', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - textPath: ['class', 'externalResourcesRequired', 'id', 'lengthAdjust', 'method', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'spacing', 'startOffset', 'style', 'systemLanguage', 'textLength', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], - title: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'], - tref: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - tspan: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], - use: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], - view: ['externalResourcesRequired', 'id', 'preserveAspectRatio', 'viewBox', 'viewTarget', 'xml:base', 'xml:lang', 'xml:space', 'zoomAndPan'], - vkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'] - }; - var presentationElements = exports.presentationElements = { - 'a': true, - 'altGlyph': true, - 'animate': true, - 'animateColor': true, - 'circle': true, - 'clipPath': true, - 'defs': true, - 'ellipse': true, - 'feBlend': true, - 'feColorMatrix': true, - 'feComponentTransfer': true, - 'feComposite': true, - 'feConvolveMatrix': true, - 'feDiffuseLighting': true, - 'feDisplacementMap': true, - 'feFlood': true, - 'feGaussianBlur': true, - 'feImage': true, - 'feMerge': true, - 'feMorphology': true, - 'feOffset': true, - 'feSpecularLighting': true, - 'feTile': true, - 'feTurbulence': true, - 'filter': true, - 'font': true, - 'foreignObject': true, - 'g': true, - 'glyph': true, - 'glyphRef': true, - 'image': true, - 'line': true, - 'linearGradient': true, - 'marker': true, - 'mask': true, - 'missing-glyph': true, - 'path': true, - 'pattern': true, - 'polygon': true, - 'polyline': true, - 'radialGradient': true, - 'rect': true, - 'stop': true, - 'svg': true, - 'switch': true, - 'symbol': true, - 'text': true, - 'textPath': true, - 'tref': true, - 'tspan': true, - 'use': true - }; - - var presentationAttributes = exports.presentationAttributes = { - 'alignment-baseline': true, - 'baseline-shift': true, - 'clip-path': true, - 'clip-rule': true, - 'clip': true, - 'color-interpolation-filters': true, - 'color-interpolation': true, - 'color-profile': true, - 'color-rendering': true, - 'color': true, - 'cursor': true, - 'direction': true, - 'display': true, - 'dominant-baseline': true, - 'enable-background': true, - 'fill-opacity': true, - 'fill-rule': true, - 'fill': true, - 'filter': true, - 'flood-color': true, - 'flood-opacity': true, - 'font-family': true, - 'font-size-adjust': true, - 'font-size': true, - 'font-stretch': true, - 'font-style': true, - 'font-variant': true, - 'font-weight': true, - 'glyph-orientation-horizontal': true, - 'glyph-orientation-vertical': true, - 'image-rendering': true, - 'kerning': true, - 'letter-spacing': true, - 'lighting-color': true, - 'marker-end': true, - 'marker-mid': true, - 'marker-start': true, - 'mask': true, - 'opacity': true, - 'overflow': true, - 'pointer-events': true, - 'shape-rendering': true, - 'stop-color': true, - 'stop-opacity': true, - 'stroke-dasharray': true, - 'stroke-dashoffset': true, - 'stroke-linecap': true, - 'stroke-linejoin': true, - 'stroke-miterlimit': true, - 'stroke-opacity': true, - 'stroke-width': true, - 'stroke': true, - 'text-anchor': true, - 'text-decoration': true, - 'text-rendering': true, - 'unicode-bidi': true, - 'visibility': true, - 'word-spacing': true, - 'writing-mode': true - }; + exports.getMapObserver = _getMapObserver; - function createElement(html) { - var div = _aureliaPal.DOM.createElement('div'); - div.innerHTML = html; - return div.firstChild; - } + var ModifyMapObserver = function (_ModifyCollectionObse2) { + _inherits(ModifyMapObserver, _ModifyCollectionObse2); - var SVGAnalyzer = exports.SVGAnalyzer = function () { - function SVGAnalyzer() { + function ModifyMapObserver(taskQueue, map) { - if (createElement('').firstElementChild.nodeName === 'altglyph' && elements.altGlyph) { - elements.altglyph = elements.altGlyph; - delete elements.altGlyph; - elements.altglyphdef = elements.altGlyphDef; - delete elements.altGlyphDef; - elements.altglyphitem = elements.altGlyphItem; - delete elements.altGlyphItem; - elements.glyphref = elements.glyphRef; - delete elements.glyphRef; - } + return _possibleConstructorReturn(this, _ModifyCollectionObse2.call(this, taskQueue, map)); } - SVGAnalyzer.prototype.isStandardSvgAttribute = function isStandardSvgAttribute(nodeName, attributeName) { - return presentationElements[nodeName] && presentationAttributes[attributeName] || elements[nodeName] && elements[nodeName].indexOf(attributeName) !== -1; + ModifyMapObserver.for = function _for(taskQueue, map) { + if (!('__map_observer__' in map)) { + Reflect.defineProperty(map, '__map_observer__', { + value: ModifyMapObserver.create(taskQueue, map), + enumerable: false, configurable: false + }); + } + return map.__map_observer__; }; - return SVGAnalyzer; - }(); - - var ObserverLocator = exports.ObserverLocator = (_temp = _class11 = function () { - function ObserverLocator(taskQueue, eventManager, dirtyChecker, svgAnalyzer, parser) { - - - this.taskQueue = taskQueue; - this.eventManager = eventManager; - this.dirtyChecker = dirtyChecker; - this.svgAnalyzer = svgAnalyzer; - this.parser = parser; - this.adapters = []; - this.logger = LogManager.getLogger('observer-locator'); - } - - ObserverLocator.prototype.getObserver = function getObserver(obj, propertyName) { - var observersLookup = obj.__observers__; - var observer = void 0; + ModifyMapObserver.create = function create(taskQueue, map) { + var observer = new ModifyMapObserver(taskQueue, map); - if (observersLookup && propertyName in observersLookup) { - return observersLookup[propertyName]; + var proto = mapProto; + if (proto.set !== map.set || proto.delete !== map.delete || proto.clear !== map.clear) { + proto = { + set: map.set, + delete: map.delete, + clear: map.clear + }; } - observer = this.createPropertyObserver(obj, propertyName); - - if (!observer.doNotCache) { - if (observersLookup === undefined) { - observersLookup = this.getOrCreateObserversLookup(obj); + map.set = function () { + var hasValue = map.has(arguments[0]); + var type = hasValue ? 'update' : 'add'; + var oldValue = map.get(arguments[0]); + var methodCallResult = proto.set.apply(map, arguments); + if (!hasValue || oldValue !== map.get(arguments[0])) { + observer.addChangeRecord({ + type: type, + object: map, + key: arguments[0], + oldValue: oldValue + }); } + return methodCallResult; + }; - observersLookup[propertyName] = observer; - } - - return observer; - }; - - ObserverLocator.prototype.getOrCreateObserversLookup = function getOrCreateObserversLookup(obj) { - return obj.__observers__ || this.createObserversLookup(obj); - }; - - ObserverLocator.prototype.createObserversLookup = function createObserversLookup(obj) { - var value = {}; - - if (!Reflect.defineProperty(obj, '__observers__', { - enumerable: false, - configurable: false, - writable: false, - value: value - })) { - this.logger.warn('Cannot add observers to object', obj); - } - - return value; - }; + map.delete = function () { + var hasValue = map.has(arguments[0]); + var oldValue = map.get(arguments[0]); + var methodCallResult = proto.delete.apply(map, arguments); + if (hasValue) { + observer.addChangeRecord({ + type: 'delete', + object: map, + key: arguments[0], + oldValue: oldValue + }); + } + return methodCallResult; + }; - ObserverLocator.prototype.addAdapter = function addAdapter(adapter) { - this.adapters.push(adapter); - }; + map.clear = function () { + var methodCallResult = proto.clear.apply(map, arguments); + observer.addChangeRecord({ + type: 'clear', + object: map + }); + return methodCallResult; + }; - ObserverLocator.prototype.getAdapterObserver = function getAdapterObserver(obj, propertyName, descriptor) { - for (var _i26 = 0, ii = this.adapters.length; _i26 < ii; _i26++) { - var adapter = this.adapters[_i26]; - var observer = adapter.getObserver(obj, propertyName, descriptor); - if (observer) { - return observer; - } - } - return null; + return observer; }; - ObserverLocator.prototype.createPropertyObserver = function createPropertyObserver(obj, propertyName) { - var descriptor = void 0; - var handler = void 0; - var xlinkResult = void 0; + return ModifyMapObserver; + }(ModifyCollectionObserver); - if (!(obj instanceof Object)) { - return new PrimitiveObserver(obj, propertyName); - } + function findOriginalEventTarget(event) { + return event.path && event.path[0] || event.deepPath && event.deepPath[0] || event.target; + } - if (obj instanceof _aureliaPal.DOM.Element) { - if (propertyName === 'class') { - return new ClassObserver(obj); - } - if (propertyName === 'style' || propertyName === 'css') { - return new StyleObserver(obj, propertyName); - } - handler = this.eventManager.getElementHandler(obj, propertyName); - if (propertyName === 'value' && obj.tagName.toLowerCase() === 'select') { - return new SelectValueObserver(obj, handler, this); - } - if (propertyName === 'checked' && obj.tagName.toLowerCase() === 'input') { - return new CheckedObserver(obj, handler, this); - } - if (handler) { - return new ValueAttributeObserver(obj, propertyName, handler); - } - xlinkResult = /^xlink:(.+)$/.exec(propertyName); - if (xlinkResult) { - return new XLinkAttributeObserver(obj, propertyName, xlinkResult[1]); - } - if (propertyName === 'role' && (obj instanceof _aureliaPal.DOM.Element || obj instanceof _aureliaPal.DOM.SVGElement) || /^\w+:|^data-|^aria-/.test(propertyName) || obj instanceof _aureliaPal.DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) { - return new DataAttributeObserver(obj, propertyName); - } - } + function stopPropagation() { + this.standardStopPropagation(); + this.propagationStopped = true; + } - descriptor = Object.getPropertyDescriptor(obj, propertyName); + function interceptStopPropagation(event) { + event.standardStopPropagation = event.stopPropagation; + event.stopPropagation = stopPropagation; + } - if (hasDeclaredDependencies(descriptor)) { - return createComputedObserver(obj, propertyName, descriptor, this); - } + function handleCapturedEvent(event) { + var interceptInstalled = false; + event.propagationStopped = false; + var target = findOriginalEventTarget(event); - if (descriptor) { - var existingGetterOrSetter = descriptor.get || descriptor.set; - if (existingGetterOrSetter) { - if (existingGetterOrSetter.getObserver) { - return existingGetterOrSetter.getObserver(obj); - } + var orderedCallbacks = []; - var adapterObserver = this.getAdapterObserver(obj, propertyName, descriptor); - if (adapterObserver) { - return adapterObserver; + while (target) { + if (target.capturedCallbacks) { + var callback = target.capturedCallbacks[event.type]; + if (callback) { + if (!interceptInstalled) { + interceptStopPropagation(event); + interceptInstalled = true; } - return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); + orderedCallbacks.push(callback); } } + target = target.parentNode; + } + for (var _i22 = orderedCallbacks.length - 1; _i22 >= 0; _i22--) { + var orderedCallback = orderedCallbacks[_i22]; + orderedCallback(event); + if (event.propagationStopped) { + break; + } + } + } - if (obj instanceof Array) { - if (propertyName === 'length') { - return this.getArrayObserver(obj).getLengthObserver(); - } + var CapturedHandlerEntry = function () { + function CapturedHandlerEntry(eventName) { + - return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); - } else if (obj instanceof Map) { - if (propertyName === 'size') { - return this.getMapObserver(obj).getLengthObserver(); - } + this.eventName = eventName; + this.count = 0; + } - return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); - } else if (obj instanceof Set) { - if (propertyName === 'size') { - return this.getSetObserver(obj).getLengthObserver(); - } + CapturedHandlerEntry.prototype.increment = function increment() { + this.count++; - return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); + if (this.count === 1) { + _aureliaPal.DOM.addEventListener(this.eventName, handleCapturedEvent, true); } - - return new SetterObserver(this.taskQueue, obj, propertyName); }; - ObserverLocator.prototype.getAccessor = function getAccessor(obj, propertyName) { - if (obj instanceof _aureliaPal.DOM.Element) { - if (propertyName === 'class' || propertyName === 'style' || propertyName === 'css' || propertyName === 'value' && (obj.tagName.toLowerCase() === 'input' || obj.tagName.toLowerCase() === 'select') || propertyName === 'checked' && obj.tagName.toLowerCase() === 'input' || propertyName === 'model' && obj.tagName.toLowerCase() === 'input' || /^xlink:.+$/.exec(propertyName)) { - return this.getObserver(obj, propertyName); - } - if (/^\w+:|^data-|^aria-/.test(propertyName) || obj instanceof _aureliaPal.DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) { - return dataAttributeAccessor; - } + CapturedHandlerEntry.prototype.decrement = function decrement() { + this.count--; + + if (this.count === 0) { + _aureliaPal.DOM.removeEventListener(this.eventName, handleCapturedEvent, true); } - return propertyAccessor; }; - ObserverLocator.prototype.getArrayObserver = function getArrayObserver(array) { - return _getArrayObserver(this.taskQueue, array); - }; + return CapturedHandlerEntry; + }(); - ObserverLocator.prototype.getMapObserver = function getMapObserver(map) { - return _getMapObserver(this.taskQueue, map); - }; + function handleDelegatedEvent(event) { + var interceptInstalled = false; + event.propagationStopped = false; + var target = findOriginalEventTarget(event); - ObserverLocator.prototype.getSetObserver = function getSetObserver(set) { - return _getSetObserver(this.taskQueue, set); - }; + while (target && !event.propagationStopped) { + if (target.delegatedCallbacks) { + var callback = target.delegatedCallbacks[event.type]; + if (callback) { + if (!interceptInstalled) { + interceptStopPropagation(event); + interceptInstalled = true; + } + callback(event); + } + } - return ObserverLocator; - }(), _class11.inject = [_aureliaTaskQueue.TaskQueue, EventManager, DirtyChecker, SVGAnalyzer, Parser], _temp); + target = target.parentNode; + } + } - var ObjectObservationAdapter = exports.ObjectObservationAdapter = function () { - function ObjectObservationAdapter() { + var DelegateHandlerEntry = function () { + function DelegateHandlerEntry(eventName) { - } - ObjectObservationAdapter.prototype.getObserver = function getObserver(object, propertyName, descriptor) { - throw new Error('BindingAdapters must implement getObserver(object, propertyName).'); - }; + this.eventName = eventName; + this.count = 0; + } - return ObjectObservationAdapter; - }(); + DelegateHandlerEntry.prototype.increment = function increment() { + this.count++; - var BindingExpression = exports.BindingExpression = function () { - function BindingExpression(observerLocator, targetProperty, sourceExpression, mode, lookupFunctions, attribute) { - + if (this.count === 1) { + _aureliaPal.DOM.addEventListener(this.eventName, handleDelegatedEvent, false); + } + }; - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = attribute; - this.discrete = false; - } + DelegateHandlerEntry.prototype.decrement = function decrement() { + this.count--; - BindingExpression.prototype.createBinding = function createBinding(target) { - return new Binding(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.mode, this.lookupFunctions); + if (this.count === 0) { + _aureliaPal.DOM.removeEventListener(this.eventName, handleDelegatedEvent); + } }; - return BindingExpression; + return DelegateHandlerEntry; }(); - var targetContext = 'Binding:target'; - - var Binding = exports.Binding = (_dec10 = connectable(), _dec10(_class12 = function () { - function Binding(observerLocator, sourceExpression, target, targetProperty, mode, lookupFunctions) { + var DefaultEventStrategy = function () { + function DefaultEventStrategy() { - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.target = target; - this.targetProperty = targetProperty; - this.mode = mode; - this.lookupFunctions = lookupFunctions; + this.delegatedHandlers = {}; + this.capturedHandlers = {}; } - Binding.prototype.updateTarget = function updateTarget(value) { - this.targetObserver.setValue(value, this.target, this.targetProperty); - }; - - Binding.prototype.updateSource = function updateSource(value) { - this.sourceExpression.assign(this.source, value, this.lookupFunctions); - }; + DefaultEventStrategy.prototype.subscribe = function subscribe(target, targetEvent, callback, strategy) { + var _this22 = this; - Binding.prototype.call = function call(context, newValue, oldValue) { - if (!this.isBound) { - return; - } - if (context === sourceContext) { - oldValue = this.targetObserver.getValue(this.target, this.targetProperty); - newValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - if (newValue !== oldValue) { - this.updateTarget(newValue); - } - if (this.mode !== bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - this.unobserve(false); - } - return; - } - if (context === targetContext) { - if (newValue !== this.sourceExpression.evaluate(this.source, this.lookupFunctions)) { - this.updateSource(newValue); - } - return; - } - throw new Error('Unexpected call context ' + context); - }; + var delegatedHandlers = void 0; + var capturedHandlers = void 0; + var handlerEntry = void 0; - Binding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; + if (strategy === delegationStrategy.bubbling) { + var _ret = function () { + delegatedHandlers = _this22.delegatedHandlers; + handlerEntry = delegatedHandlers[targetEvent] || (delegatedHandlers[targetEvent] = new DelegateHandlerEntry(targetEvent)); + var delegatedCallbacks = target.delegatedCallbacks || (target.delegatedCallbacks = {}); - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } + handlerEntry.increment(); + delegatedCallbacks[targetEvent] = callback; - var mode = this.mode; - if (!this.targetObserver) { - var method = mode === bindingMode.twoWay ? 'getObserver' : 'getAccessor'; - this.targetObserver = this.observerLocator[method](this.target, this.targetProperty); - } + return { + v: function v() { + handlerEntry.decrement(); + delegatedCallbacks[targetEvent] = null; + } + }; + }(); - if ('bind' in this.targetObserver) { - this.targetObserver.bind(); + if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; } - var value = this.sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(value); + if (strategy === delegationStrategy.capturing) { + var _ret2 = function () { + capturedHandlers = _this22.capturedHandlers; + handlerEntry = capturedHandlers[targetEvent] || (capturedHandlers[targetEvent] = new CapturedHandlerEntry(targetEvent)); + var capturedCallbacks = target.capturedCallbacks || (target.capturedCallbacks = {}); - if (mode === bindingMode.oneWay) { - enqueueBindingConnect(this); - } else if (mode === bindingMode.twoWay) { - this.sourceExpression.connect(this, source); - this.targetObserver.subscribe(targetContext, this); - } - }; + handlerEntry.increment(); + capturedCallbacks[targetEvent] = callback; - Binding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - if ('unbind' in this.targetObserver) { - this.targetObserver.unbind(); - } - if (this.targetObserver.unsubscribe) { - this.targetObserver.unsubscribe(targetContext, this); - } - this.unobserve(true); - }; + return { + v: function v() { + handlerEntry.decrement(); + capturedCallbacks[targetEvent] = null; + } + }; + }(); - Binding.prototype.connect = function connect(evaluate) { - if (!this.isBound) { - return; - } - if (evaluate) { - var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(value); + if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === "object") return _ret2.v; } - this.sourceExpression.connect(this, this.source); - }; - - return Binding; - }()) || _class12); - - var CallExpression = exports.CallExpression = function () { - function CallExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions) { - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.sourceExpression = sourceExpression; - this.lookupFunctions = lookupFunctions; - } + target.addEventListener(targetEvent, callback, false); - CallExpression.prototype.createBinding = function createBinding(target) { - return new Call(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.lookupFunctions); + return function () { + target.removeEventListener(targetEvent, callback); + }; }; - return CallExpression; + return DefaultEventStrategy; }(); - var Call = exports.Call = function () { - function Call(observerLocator, sourceExpression, target, targetProperty, lookupFunctions) { + var delegationStrategy = exports.delegationStrategy = { + none: 0, + capturing: 1, + bubbling: 2 + }; + + var EventManager = exports.EventManager = function () { + function EventManager() { - this.sourceExpression = sourceExpression; - this.target = target; - this.targetProperty = observerLocator.getObserver(target, targetProperty); - this.lookupFunctions = lookupFunctions; - } + this.elementHandlerLookup = {}; + this.eventStrategyLookup = {}; - Call.prototype.callSource = function callSource($event) { - var overrideContext = this.source.overrideContext; - Object.assign(overrideContext, $event); - overrideContext.$event = $event; - var mustEvaluate = true; - var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate); - delete overrideContext.$event; - for (var prop in $event) { - delete overrideContext[prop]; - } - return result; - }; + this.registerElementConfig({ + tagName: 'input', + properties: { + value: ['change', 'input'], + checked: ['change', 'input'], + files: ['change', 'input'] + } + }); - Call.prototype.bind = function bind(source) { - var _this27 = this; + this.registerElementConfig({ + tagName: 'textarea', + properties: { + value: ['change', 'input'] + } + }); - if (this.isBound) { - if (this.source === source) { - return; + this.registerElementConfig({ + tagName: 'select', + properties: { + value: ['change'] } - this.unbind(); - } - this.isBound = true; - this.source = source; + }); - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - this.targetProperty.setValue(function ($event) { - return _this27.callSource($event); + this.registerElementConfig({ + tagName: 'content editable', + properties: { + value: ['change', 'input', 'blur', 'keyup', 'paste'] + } }); - }; - Call.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.targetProperty.setValue(null); - }; + this.registerElementConfig({ + tagName: 'scrollable element', + properties: { + scrollTop: ['scroll'], + scrollLeft: ['scroll'] + } + }); - return Call; - }(); + this.defaultEventStrategy = new DefaultEventStrategy(); + } - var ValueConverterResource = exports.ValueConverterResource = function () { - function ValueConverterResource(name) { - + EventManager.prototype.registerElementConfig = function registerElementConfig(config) { + var tagName = config.tagName.toLowerCase(); + var properties = config.properties; + var propertyName = void 0; - this.name = name; - } + this.elementHandlerLookup[tagName] = {}; - ValueConverterResource.convention = function convention(name) { - if (name.endsWith('ValueConverter')) { - return new ValueConverterResource(camelCase(name.substring(0, name.length - 14))); + for (propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this.registerElementPropertyConfig(tagName, propertyName, properties[propertyName]); + } } }; - ValueConverterResource.prototype.initialize = function initialize(container, target) { - this.instance = container.get(target); - }; - - ValueConverterResource.prototype.register = function register(registry, name) { - registry.registerValueConverter(name || this.name, this.instance); + EventManager.prototype.registerElementPropertyConfig = function registerElementPropertyConfig(tagName, propertyName, events) { + this.elementHandlerLookup[tagName][propertyName] = this.createElementHandler(events); }; - ValueConverterResource.prototype.load = function load(container, target) {}; - - return ValueConverterResource; - }(); + EventManager.prototype.createElementHandler = function createElementHandler(events) { + return { + subscribe: function subscribe(target, callback) { + events.forEach(function (changeEvent) { + target.addEventListener(changeEvent, callback, false); + }); - function valueConverter(nameOrTarget) { - if (nameOrTarget === undefined || typeof nameOrTarget === 'string') { - return function (target) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ValueConverterResource(nameOrTarget), target); + return function () { + events.forEach(function (changeEvent) { + target.removeEventListener(changeEvent, callback); + }); + }; + } }; - } - - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ValueConverterResource(), nameOrTarget); - } - - var BindingBehaviorResource = exports.BindingBehaviorResource = function () { - function BindingBehaviorResource(name) { - - - this.name = name; - } - - BindingBehaviorResource.convention = function convention(name) { - if (name.endsWith('BindingBehavior')) { - return new BindingBehaviorResource(camelCase(name.substring(0, name.length - 15))); - } }; - BindingBehaviorResource.prototype.initialize = function initialize(container, target) { - this.instance = container.get(target); + EventManager.prototype.registerElementHandler = function registerElementHandler(tagName, handler) { + this.elementHandlerLookup[tagName.toLowerCase()] = handler; }; - BindingBehaviorResource.prototype.register = function register(registry, name) { - registry.registerBindingBehavior(name || this.name, this.instance); + EventManager.prototype.registerEventStrategy = function registerEventStrategy(eventName, strategy) { + this.eventStrategyLookup[eventName] = strategy; }; - BindingBehaviorResource.prototype.load = function load(container, target) {}; + EventManager.prototype.getElementHandler = function getElementHandler(target, propertyName) { + var tagName = void 0; + var lookup = this.elementHandlerLookup; - return BindingBehaviorResource; - }(); + if (target.tagName) { + tagName = target.tagName.toLowerCase(); - function bindingBehavior(nameOrTarget) { - if (nameOrTarget === undefined || typeof nameOrTarget === 'string') { - return function (target) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new BindingBehaviorResource(nameOrTarget), target); - }; - } + if (lookup[tagName] && lookup[tagName][propertyName]) { + return lookup[tagName][propertyName]; + } - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new BindingBehaviorResource(), nameOrTarget); - } + if (propertyName === 'textContent' || propertyName === 'innerHTML') { + return lookup['content editable'].value; + } - var ListenerExpression = exports.ListenerExpression = function () { - function ListenerExpression(eventManager, targetEvent, sourceExpression, delegationStrategy, preventDefault, lookupFunctions) { - + if (propertyName === 'scrollTop' || propertyName === 'scrollLeft') { + return lookup['scrollable element'][propertyName]; + } + } - this.eventManager = eventManager; - this.targetEvent = targetEvent; - this.sourceExpression = sourceExpression; - this.delegationStrategy = delegationStrategy; - this.discrete = true; - this.preventDefault = preventDefault; - this.lookupFunctions = lookupFunctions; - } + return null; + }; - ListenerExpression.prototype.createBinding = function createBinding(target) { - return new Listener(this.eventManager, this.targetEvent, this.delegationStrategy, this.sourceExpression, target, this.preventDefault, this.lookupFunctions); + EventManager.prototype.addEventListener = function addEventListener(target, targetEvent, callback, delegate) { + return (this.eventStrategyLookup[targetEvent] || this.defaultEventStrategy).subscribe(target, targetEvent, callback, delegate); }; - return ListenerExpression; + return EventManager; }(); - var Listener = exports.Listener = function () { - function Listener(eventManager, targetEvent, delegationStrategy, sourceExpression, target, preventDefault, lookupFunctions) { + var DirtyChecker = exports.DirtyChecker = function () { + function DirtyChecker() { - this.eventManager = eventManager; - this.targetEvent = targetEvent; - this.delegationStrategy = delegationStrategy; - this.sourceExpression = sourceExpression; - this.target = target; - this.preventDefault = preventDefault; - this.lookupFunctions = lookupFunctions; + this.tracked = []; + this.checkDelay = 120; } - Listener.prototype.callSource = function callSource(event) { - var overrideContext = this.source.overrideContext; - overrideContext.$event = event; - var mustEvaluate = true; - var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate); - delete overrideContext.$event; - if (result !== true && this.preventDefault) { - event.preventDefault(); + DirtyChecker.prototype.addProperty = function addProperty(property) { + var tracked = this.tracked; + + tracked.push(property); + + if (tracked.length === 1) { + this.scheduleDirtyCheck(); } - return result; }; - Listener.prototype.bind = function bind(source) { - var _this28 = this; + DirtyChecker.prototype.removeProperty = function removeProperty(property) { + var tracked = this.tracked; + tracked.splice(tracked.indexOf(property), 1); + }; - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; + DirtyChecker.prototype.scheduleDirtyCheck = function scheduleDirtyCheck() { + var _this23 = this; - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - this._disposeListener = this.eventManager.addEventListener(this.target, this.targetEvent, function (event) { - return _this28.callSource(event); - }, this.delegationStrategy); + setTimeout(function () { + return _this23.check(); + }, this.checkDelay); }; - Listener.prototype.unbind = function unbind() { - if (!this.isBound) { - return; + DirtyChecker.prototype.check = function check() { + var tracked = this.tracked; + var i = tracked.length; + + while (i--) { + var current = tracked[i]; + + if (current.isDirty()) { + current.call(); + } } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); + + if (tracked.length) { + this.scheduleDirtyCheck(); } - this.source = null; - this._disposeListener(); - this._disposeListener = null; }; - return Listener; + return DirtyChecker; }(); - function getAU(element) { - var au = element.au; + var DirtyCheckProperty = exports.DirtyCheckProperty = (_dec5 = subscriberCollection(), _dec5(_class5 = function () { + function DirtyCheckProperty(dirtyChecker, obj, propertyName) { + - if (au === undefined) { - throw new Error('No Aurelia APIs are defined for the element: "' + element.tagName + '".'); + this.dirtyChecker = dirtyChecker; + this.obj = obj; + this.propertyName = propertyName; } - return au; - } + DirtyCheckProperty.prototype.getValue = function getValue() { + return this.obj[this.propertyName]; + }; - var NameExpression = exports.NameExpression = function () { - function NameExpression(sourceExpression, apiName, lookupFunctions) { - + DirtyCheckProperty.prototype.setValue = function setValue(newValue) { + this.obj[this.propertyName] = newValue; + }; - this.sourceExpression = sourceExpression; - this.apiName = apiName; - this.lookupFunctions = lookupFunctions; - this.discrete = true; - } + DirtyCheckProperty.prototype.call = function call() { + var oldValue = this.oldValue; + var newValue = this.getValue(); - NameExpression.prototype.createBinding = function createBinding(target) { - return new NameBinder(this.sourceExpression, NameExpression.locateAPI(target, this.apiName), this.lookupFunctions); + this.callSubscribers(newValue, oldValue); + + this.oldValue = newValue; }; - NameExpression.locateAPI = function locateAPI(element, apiName) { - switch (apiName) { - case 'element': - return element; - case 'controller': - return getAU(element).controller; - case 'view-model': - return getAU(element).controller.viewModel; - case 'view': - return getAU(element).controller.view; - default: - var target = getAU(element)[apiName]; + DirtyCheckProperty.prototype.isDirty = function isDirty() { + return this.oldValue !== this.obj[this.propertyName]; + }; - if (target === undefined) { - throw new Error('Attempted to reference "' + apiName + '", but it was not found amongst the target\'s API.'); - } + DirtyCheckProperty.prototype.subscribe = function subscribe(context, callable) { + if (!this.hasSubscribers()) { + this.oldValue = this.getValue(); + this.dirtyChecker.addProperty(this); + } + this.addSubscriber(context, callable); + }; - return target.viewModel; + DirtyCheckProperty.prototype.unsubscribe = function unsubscribe(context, callable) { + if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { + this.dirtyChecker.removeProperty(this); } }; - return NameExpression; - }(); + return DirtyCheckProperty; + }()) || _class5); - var NameBinder = function () { - function NameBinder(sourceExpression, target, lookupFunctions) { - - this.sourceExpression = sourceExpression; - this.target = target; - this.lookupFunctions = lookupFunctions; + var logger = LogManager.getLogger('property-observation'); + + var propertyAccessor = exports.propertyAccessor = { + getValue: function getValue(obj, propertyName) { + return obj[propertyName]; + }, + setValue: function setValue(value, obj, propertyName) { + obj[propertyName] = value; } + }; - NameBinder.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - this.sourceExpression.assign(this.source, this.target, this.lookupFunctions); + var PrimitiveObserver = exports.PrimitiveObserver = function () { + function PrimitiveObserver(primitive, propertyName) { + + + this.doNotCache = true; + + this.primitive = primitive; + this.propertyName = propertyName; + } + + PrimitiveObserver.prototype.getValue = function getValue() { + return this.primitive[this.propertyName]; }; - NameBinder.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.evaluate(this.source, this.lookupFunctions) === this.target) { - this.sourceExpression.assign(this.source, null, this.lookupFunctions); - } - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; + PrimitiveObserver.prototype.setValue = function setValue() { + var type = _typeof(this.primitive); + throw new Error('The ' + this.propertyName + ' property of a ' + type + ' (' + this.primitive + ') cannot be assigned.'); }; - return NameBinder; - }(); + PrimitiveObserver.prototype.subscribe = function subscribe() {}; - var LookupFunctions = { - bindingBehaviors: function bindingBehaviors(name) { - return null; - }, - valueConverters: function valueConverters(name) { - return null; - } - }; + PrimitiveObserver.prototype.unsubscribe = function unsubscribe() {}; - var BindingEngine = exports.BindingEngine = (_temp2 = _class13 = function () { - function BindingEngine(observerLocator, parser) { + return PrimitiveObserver; + }(); + + var SetterObserver = exports.SetterObserver = (_dec6 = subscriberCollection(), _dec6(_class7 = function () { + function SetterObserver(taskQueue, obj, propertyName) { - this.observerLocator = observerLocator; - this.parser = parser; + this.taskQueue = taskQueue; + this.obj = obj; + this.propertyName = propertyName; + this.queued = false; + this.observing = false; } - BindingEngine.prototype.createBindingExpression = function createBindingExpression(targetProperty, sourceExpression) { - var mode = arguments.length <= 2 || arguments[2] === undefined ? bindingMode.oneWay : arguments[2]; - var lookupFunctions = arguments.length <= 3 || arguments[3] === undefined ? LookupFunctions : arguments[3]; + SetterObserver.prototype.getValue = function getValue() { + return this.obj[this.propertyName]; + }; - return new BindingExpression(this.observerLocator, targetProperty, this.parser.parse(sourceExpression), mode, lookupFunctions); + SetterObserver.prototype.setValue = function setValue(newValue) { + this.obj[this.propertyName] = newValue; }; - BindingEngine.prototype.propertyObserver = function propertyObserver(obj, propertyName) { - var _this29 = this; + SetterObserver.prototype.getterValue = function getterValue() { + return this.currentValue; + }; - return { - subscribe: function subscribe(callback) { - var observer = _this29.observerLocator.getObserver(obj, propertyName); - observer.subscribe(callback); - return { - dispose: function dispose() { - return observer.unsubscribe(callback); - } - }; + SetterObserver.prototype.setterValue = function setterValue(newValue) { + var oldValue = this.currentValue; + + if (oldValue !== newValue) { + if (!this.queued) { + this.oldValue = oldValue; + this.queued = true; + this.taskQueue.queueMicroTask(this); } - }; + + this.currentValue = newValue; + } }; - BindingEngine.prototype.collectionObserver = function collectionObserver(collection) { - var _this30 = this; + SetterObserver.prototype.call = function call() { + var oldValue = this.oldValue; + var newValue = this.currentValue; - return { - subscribe: function subscribe(callback) { - var observer = void 0; - if (collection instanceof Array) { - observer = _this30.observerLocator.getArrayObserver(collection); - } else if (collection instanceof Map) { - observer = _this30.observerLocator.getMapObserver(collection); - } else if (collection instanceof Set) { - observer = _this30.observerLocator.getSetObserver(collection); - } else { - throw new Error('collection must be an instance of Array, Map or Set.'); - } - observer.subscribe(callback); - return { - dispose: function dispose() { - return observer.unsubscribe(callback); - } - }; - } - }; + this.queued = false; + + this.callSubscribers(newValue, oldValue); }; - BindingEngine.prototype.expressionObserver = function expressionObserver(bindingContext, expression) { - var scope = { bindingContext: bindingContext, overrideContext: createOverrideContext(bindingContext) }; - return new ExpressionObserver(scope, this.parser.parse(expression), this.observerLocator, LookupFunctions); + SetterObserver.prototype.subscribe = function subscribe(context, callable) { + if (!this.observing) { + this.convertProperty(); + } + this.addSubscriber(context, callable); }; - BindingEngine.prototype.parseExpression = function parseExpression(expression) { - return this.parser.parse(expression); + SetterObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + this.removeSubscriber(context, callable); }; - BindingEngine.prototype.registerAdapter = function registerAdapter(adapter) { - this.observerLocator.addAdapter(adapter); + SetterObserver.prototype.convertProperty = function convertProperty() { + this.observing = true; + this.currentValue = this.obj[this.propertyName]; + this.setValue = this.setterValue; + this.getValue = this.getterValue; + + if (!Reflect.defineProperty(this.obj, this.propertyName, { + configurable: true, + enumerable: this.propertyName in this.obj ? this.obj.propertyIsEnumerable(this.propertyName) : true, + get: this.getValue.bind(this), + set: this.setValue.bind(this) + })) { + logger.warn('Cannot observe property \'' + this.propertyName + '\' of object', this.obj); + } }; - return BindingEngine; - }(), _class13.inject = [ObserverLocator, Parser], _temp2); + return SetterObserver; + }()) || _class7); + var XLinkAttributeObserver = exports.XLinkAttributeObserver = function () { + function XLinkAttributeObserver(element, propertyName, attributeName) { + - var setProto = Set.prototype; + this.element = element; + this.propertyName = propertyName; + this.attributeName = attributeName; + } - function _getSetObserver(taskQueue, set) { - return ModifySetObserver.for(taskQueue, set); - } + XLinkAttributeObserver.prototype.getValue = function getValue() { + return this.element.getAttributeNS('http://www.w3.org/1999/xlink', this.attributeName); + }; - exports.getSetObserver = _getSetObserver; + XLinkAttributeObserver.prototype.setValue = function setValue(newValue) { + return this.element.setAttributeNS('http://www.w3.org/1999/xlink', this.attributeName, newValue); + }; - var ModifySetObserver = function (_ModifyCollectionObse3) { - _inherits(ModifySetObserver, _ModifyCollectionObse3); + XLinkAttributeObserver.prototype.subscribe = function subscribe() { + throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "' + this.propertyName + '" property is not supported.'); + }; - function ModifySetObserver(taskQueue, set) { + return XLinkAttributeObserver; + }(); + + var dataAttributeAccessor = exports.dataAttributeAccessor = { + getValue: function getValue(obj, propertyName) { + return obj.getAttribute(propertyName); + }, + setValue: function setValue(value, obj, propertyName) { + return obj.setAttribute(propertyName, value); + } + }; + + var DataAttributeObserver = exports.DataAttributeObserver = function () { + function DataAttributeObserver(element, propertyName) { - return _possibleConstructorReturn(this, _ModifyCollectionObse3.call(this, taskQueue, set)); + this.element = element; + this.propertyName = propertyName; } - ModifySetObserver.for = function _for(taskQueue, set) { - if (!('__set_observer__' in set)) { - Reflect.defineProperty(set, '__set_observer__', { - value: ModifySetObserver.create(taskQueue, set), - enumerable: false, configurable: false - }); - } - return set.__set_observer__; + DataAttributeObserver.prototype.getValue = function getValue() { + return this.element.getAttribute(this.propertyName); }; - ModifySetObserver.create = function create(taskQueue, set) { - var observer = new ModifySetObserver(taskQueue, set); - - var proto = setProto; - if (proto.add !== set.add || proto.delete !== set.delete || proto.clear !== set.clear) { - proto = { - add: set.add, - delete: set.delete, - clear: set.clear - }; - } + DataAttributeObserver.prototype.setValue = function setValue(newValue) { + return this.element.setAttribute(this.propertyName, newValue); + }; - set.add = function () { - var type = 'add'; - var oldSize = set.size; - var methodCallResult = proto.add.apply(set, arguments); - var hasValue = set.size === oldSize; - if (!hasValue) { - observer.addChangeRecord({ - type: type, - object: set, - value: Array.from(set).pop() - }); - } - return methodCallResult; - }; + DataAttributeObserver.prototype.subscribe = function subscribe() { + throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "' + this.propertyName + '" property is not supported.'); + }; - set.delete = function () { - var hasValue = set.has(arguments[0]); - var methodCallResult = proto.delete.apply(set, arguments); - if (hasValue) { - observer.addChangeRecord({ - type: 'delete', - object: set, - value: arguments[0] - }); - } - return methodCallResult; - }; + return DataAttributeObserver; + }(); - set.clear = function () { - var methodCallResult = proto.clear.apply(set, arguments); - observer.addChangeRecord({ - type: 'clear', - object: set - }); - return methodCallResult; - }; + var StyleObserver = exports.StyleObserver = function () { + function StyleObserver(element, propertyName) { + - return observer; + this.element = element; + this.propertyName = propertyName; + + this.styles = null; + this.version = 0; + } + + StyleObserver.prototype.getValue = function getValue() { + return this.element.style.cssText; }; - return ModifySetObserver; - }(ModifyCollectionObserver); + StyleObserver.prototype._setProperty = function _setProperty(style, value) { + var priority = ''; - function observable(targetOrConfig, key, descriptor) { - function deco(target, key, descriptor, config) { - var isClassDecorator = key === undefined; - if (isClassDecorator) { - target = target.prototype; - key = typeof config === 'string' ? config : config.name; + if (value !== null && value !== undefined && typeof value.indexOf === 'function' && value.indexOf('!important') !== -1) { + priority = 'important'; + value = value.replace('!important', ''); } + this.element.style.setProperty(style, value, priority); + }; - var innerPropertyName = '_' + key; - var innerPropertyDescriptor = { - configurable: true, - enumerable: false, - writable: true - }; + StyleObserver.prototype.setValue = function setValue(newValue) { + var styles = this.styles || {}; + var style = void 0; + var version = this.version; - var callbackName = config && config.changeHandler || key + 'Changed'; + if (newValue !== null && newValue !== undefined) { + if (newValue instanceof Object) { + var value = void 0; + for (style in newValue) { + if (newValue.hasOwnProperty(style)) { + value = newValue[style]; + style = style.replace(/([A-Z])/g, function (m) { + return '-' + m.toLowerCase(); + }); + styles[style] = version; + this._setProperty(style, value); + } + } + } else if (newValue.length) { + var rx = /\s*([\w\-]+)\s*:\s*((?:(?:[\w\-]+\(\s*(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[\w\-]+\(\s*(?:^"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^\)]*)\),?|[^\)]*)\),?|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^;]*),?\s*)+);?/g; + var pair = void 0; + while ((pair = rx.exec(newValue)) !== null) { + style = pair[1]; + if (!style) { + continue; + } - if (descriptor) { - if (typeof descriptor.initializer === 'function') { - innerPropertyDescriptor.value = descriptor.initializer(); + styles[style] = version; + this._setProperty(style, pair[2]); + } } - } else { - descriptor = {}; - } - - if (!('enumerable' in descriptor)) { - descriptor.enumerable = true; } - delete descriptor.value; - delete descriptor.writable; - delete descriptor.initializer; + this.styles = styles; + this.version += 1; - Reflect.defineProperty(target, innerPropertyName, innerPropertyDescriptor); + if (version === 0) { + return; + } - descriptor.get = function () { - return this[innerPropertyName]; - }; - descriptor.set = function (newValue) { - var oldValue = this[innerPropertyName]; - if (newValue === oldValue) { - return; + version -= 1; + for (style in styles) { + if (!styles.hasOwnProperty(style) || styles[style] !== version) { + continue; } - this[innerPropertyName] = newValue; - Reflect.defineProperty(this, innerPropertyName, { enumerable: false }); + this.element.style.removeProperty(style); + } + }; - if (this[callbackName]) { - this[callbackName](newValue, oldValue, key); - } - }; + StyleObserver.prototype.subscribe = function subscribe() { + throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "' + this.propertyName + '" property is not supported.'); + }; - descriptor.get.dependencies = [innerPropertyName]; + return StyleObserver; + }(); - if (isClassDecorator) { - Reflect.defineProperty(target, key, descriptor); - } else { - return descriptor; + var ValueAttributeObserver = exports.ValueAttributeObserver = (_dec7 = subscriberCollection(), _dec7(_class8 = function () { + function ValueAttributeObserver(element, propertyName, handler) { + + + this.element = element; + this.propertyName = propertyName; + this.handler = handler; + if (propertyName === 'files') { + this.setValue = function () {}; } } - if (key === undefined) { - return function (t, k, d) { - return deco(t, k, d, targetOrConfig); - }; - } - return deco(targetOrConfig, key, descriptor); - } -}); -define('aurelia-bootstrapper',['exports', 'aurelia-pal', 'aurelia-pal-browser', 'aurelia-polyfills'], function (exports, _aureliaPal, _aureliaPalBrowser) { - 'use strict'; + ValueAttributeObserver.prototype.getValue = function getValue() { + return this.element[this.propertyName]; + }; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.bootstrap = bootstrap; + ValueAttributeObserver.prototype.setValue = function setValue(newValue) { + newValue = newValue === undefined || newValue === null ? '' : newValue; + if (this.element[this.propertyName] !== newValue) { + this.element[this.propertyName] = newValue; + this.notify(); + } + }; + ValueAttributeObserver.prototype.notify = function notify() { + var oldValue = this.oldValue; + var newValue = this.getValue(); - var bootstrapQueue = []; - var sharedLoader = null; - var Aurelia = null; + this.callSubscribers(newValue, oldValue); - function onBootstrap(callback) { - return new Promise(function (resolve, reject) { - if (sharedLoader) { - resolve(callback(sharedLoader)); - } else { - bootstrapQueue.push(function () { - try { - resolve(callback(sharedLoader)); - } catch (e) { - reject(e); - } - }); - } - }); - } + this.oldValue = newValue; + }; - function ready(global) { - return new Promise(function (resolve, reject) { - if (global.document.readyState === 'complete') { - resolve(global.document); - } else { - global.document.addEventListener('DOMContentLoaded', completed); - global.addEventListener('load', completed); + ValueAttributeObserver.prototype.subscribe = function subscribe(context, callable) { + if (!this.hasSubscribers()) { + this.oldValue = this.getValue(); + this.disposeHandler = this.handler.subscribe(this.element, this.notify.bind(this)); } - function completed() { - global.document.removeEventListener('DOMContentLoaded', completed); - global.removeEventListener('load', completed); - resolve(global.document); + this.addSubscriber(context, callable); + }; + + ValueAttributeObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { + this.disposeHandler(); + this.disposeHandler = null; } - }); - } + }; - function createLoader() { - if (_aureliaPal.PLATFORM.Loader) { - return Promise.resolve(new _aureliaPal.PLATFORM.Loader()); - } + return ValueAttributeObserver; + }()) || _class8); - if (window.System && typeof window.System.import === 'function') { - return System.normalize('aurelia-bootstrapper').then(function (bootstrapperName) { - return System.normalize('aurelia-loader-default', bootstrapperName); - }).then(function (loaderName) { - return System.import(loaderName).then(function (m) { - return new m.DefaultLoader(); - }); - }); - } - if (typeof window.require === 'function') { - return new Promise(function (resolve, reject) { - return require(['aurelia-loader-default'], function (m) { - return resolve(new m.DefaultLoader()); - }, reject); - }); - } + var checkedArrayContext = 'CheckedObserver:array'; + var checkedValueContext = 'CheckedObserver:value'; - return Promise.reject('No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.'); - } + var CheckedObserver = exports.CheckedObserver = (_dec8 = subscriberCollection(), _dec8(_class9 = function () { + function CheckedObserver(element, handler, observerLocator) { + - function preparePlatform(loader) { - return loader.normalize('aurelia-bootstrapper').then(function (bootstrapperName) { - return loader.normalize('aurelia-framework', bootstrapperName).then(function (frameworkName) { - loader.map('aurelia-framework', frameworkName); + this.element = element; + this.handler = handler; + this.observerLocator = observerLocator; + } - return Promise.all([loader.normalize('aurelia-dependency-injection', frameworkName).then(function (diName) { - return loader.map('aurelia-dependency-injection', diName); - }), loader.normalize('aurelia-router', bootstrapperName).then(function (routerName) { - return loader.map('aurelia-router', routerName); - }), loader.normalize('aurelia-logging-console', bootstrapperName).then(function (loggingConsoleName) { - return loader.map('aurelia-logging-console', loggingConsoleName); - })]).then(function () { - return loader.loadModule(frameworkName).then(function (m) { - return Aurelia = m.Aurelia; - }); - }); - }); - }); - } + CheckedObserver.prototype.getValue = function getValue() { + return this.value; + }; - function handleApp(loader, appHost) { - var moduleId = appHost.getAttribute('aurelia-app') || appHost.getAttribute('data-aurelia-app'); - return config(loader, appHost, moduleId); - } + CheckedObserver.prototype.setValue = function setValue(newValue) { + if (this.value === newValue) { + return; + } - function config(loader, appHost, configModuleId) { - var aurelia = new Aurelia(loader); - aurelia.host = appHost; - aurelia.configModuleId = configModuleId || null; + if (this.arrayObserver) { + this.arrayObserver.unsubscribe(checkedArrayContext, this); + this.arrayObserver = null; + } - if (configModuleId) { - return loader.loadModule(configModuleId).then(function (customConfig) { - if (!customConfig.configure) { - throw new Error("Cannot initialize module '" + configModuleId + "' without a configure function."); - } + if (this.element.type === 'checkbox' && Array.isArray(newValue)) { + this.arrayObserver = this.observerLocator.getArrayObserver(newValue); + this.arrayObserver.subscribe(checkedArrayContext, this); + } - customConfig.configure(aurelia); - }); - } + this.oldValue = this.value; + this.value = newValue; + this.synchronizeElement(); + this.notify(); - aurelia.use.standardConfiguration().developmentLogging(); + if (!this.initialSync) { + this.initialSync = true; + this.observerLocator.taskQueue.queueMicroTask(this); + } + }; - return aurelia.start().then(function () { - return aurelia.setRoot(); - }); - } + CheckedObserver.prototype.call = function call(context, splices) { + this.synchronizeElement(); - function run() { - return ready(window).then(function (doc) { - (0, _aureliaPalBrowser.initialize)(); + if (!this.valueObserver) { + this.valueObserver = this.element.__observers__.model || this.element.__observers__.value; + if (this.valueObserver) { + this.valueObserver.subscribe(checkedValueContext, this); + } + } + }; - var appHost = doc.querySelectorAll('[aurelia-app],[data-aurelia-app]'); - return createLoader().then(function (loader) { - return preparePlatform(loader).then(function () { - for (var i = 0, ii = appHost.length; i < ii; ++i) { - handleApp(loader, appHost[i]).catch(console.error.bind(console)); - } + CheckedObserver.prototype.synchronizeElement = function synchronizeElement() { + var value = this.value; + var element = this.element; + var elementValue = element.hasOwnProperty('model') ? element.model : element.value; + var isRadio = element.type === 'radio'; + var matcher = element.matcher || function (a, b) { + return a === b; + }; - sharedLoader = loader; - for (var _i = 0, _ii = bootstrapQueue.length; _i < _ii; ++_i) { - bootstrapQueue[_i](); - } - bootstrapQueue = null; - }); - }); - }); - } + element.checked = isRadio && !!matcher(value, elementValue) || !isRadio && value === true || !isRadio && Array.isArray(value) && value.findIndex(function (item) { + return !!matcher(item, elementValue); + }) !== -1; + }; - function bootstrap(configure) { - return onBootstrap(function (loader) { - var aurelia = new Aurelia(loader); - return configure(aurelia); - }); - } + CheckedObserver.prototype.synchronizeValue = function synchronizeValue() { + var value = this.value; + var element = this.element; + var elementValue = element.hasOwnProperty('model') ? element.model : element.value; + var index = void 0; + var matcher = element.matcher || function (a, b) { + return a === b; + }; - run(); -}); -define('aurelia-framework',['exports', 'aurelia-dependency-injection', 'aurelia-binding', 'aurelia-metadata', 'aurelia-templating', 'aurelia-loader', 'aurelia-task-queue', 'aurelia-path', 'aurelia-pal', 'aurelia-logging'], function (exports, _aureliaDependencyInjection, _aureliaBinding, _aureliaMetadata, _aureliaTemplating, _aureliaLoader, _aureliaTaskQueue, _aureliaPath, _aureliaPal, _aureliaLogging) { - 'use strict'; + if (element.type === 'checkbox') { + if (Array.isArray(value)) { + index = value.findIndex(function (item) { + return !!matcher(item, elementValue); + }); + if (element.checked && index === -1) { + value.push(elementValue); + } else if (!element.checked && index !== -1) { + value.splice(index, 1); + } - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.LogManager = exports.FrameworkConfiguration = exports.Aurelia = undefined; - Object.keys(_aureliaDependencyInjection).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaDependencyInjection[key]; - } - }); - }); - Object.keys(_aureliaBinding).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaBinding[key]; - } - }); - }); - Object.keys(_aureliaMetadata).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaMetadata[key]; - } - }); - }); - Object.keys(_aureliaTemplating).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaTemplating[key]; - } - }); - }); - Object.keys(_aureliaLoader).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaLoader[key]; - } - }); - }); - Object.keys(_aureliaTaskQueue).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaTaskQueue[key]; - } - }); - }); - Object.keys(_aureliaPath).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaPath[key]; - } - }); - }); - Object.keys(_aureliaPal).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _aureliaPal[key]; + return; + } + + value = element.checked; + } else if (element.checked) { + value = elementValue; + } else { + return; } - }); - }); - var TheLogManager = _interopRequireWildcard(_aureliaLogging); + this.oldValue = this.value; + this.value = value; + this.notify(); + }; - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; + CheckedObserver.prototype.notify = function notify() { + var oldValue = this.oldValue; + var newValue = this.value; - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } + this.callSubscribers(newValue, oldValue); + }; + + CheckedObserver.prototype.subscribe = function subscribe(context, callable) { + if (!this.hasSubscribers()) { + this.disposeHandler = this.handler.subscribe(this.element, this.synchronizeValue.bind(this, false)); } + this.addSubscriber(context, callable); + }; - newObj.default = obj; - return newObj; - } - } + CheckedObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { + this.disposeHandler(); + this.disposeHandler = null; + } + }; - + CheckedObserver.prototype.unbind = function unbind() { + if (this.arrayObserver) { + this.arrayObserver.unsubscribe(checkedArrayContext, this); + this.arrayObserver = null; + } + if (this.valueObserver) { + this.valueObserver.unsubscribe(checkedValueContext, this); + } + }; - function preventActionlessFormSubmit() { - _aureliaPal.DOM.addEventListener('submit', function (evt) { - var target = evt.target; - var action = target.action; + return CheckedObserver; + }()) || _class9); - if (target.tagName.toLowerCase() === 'form' && !action) { - evt.preventDefault(); - } - }); - } - var Aurelia = exports.Aurelia = function () { - function Aurelia(loader, container, resources) { + var selectArrayContext = 'SelectValueObserver:array'; + + var SelectValueObserver = exports.SelectValueObserver = (_dec9 = subscriberCollection(), _dec9(_class10 = function () { + function SelectValueObserver(element, handler, observerLocator) { - this.loader = loader || new _aureliaPal.PLATFORM.Loader(); - this.container = container || new _aureliaDependencyInjection.Container().makeGlobal(); - this.resources = resources || new _aureliaTemplating.ViewResources(); - this.use = new FrameworkConfiguration(this); - this.logger = TheLogManager.getLogger('aurelia'); - this.hostConfigured = false; - this.host = null; - - this.use.instance(Aurelia, this); - this.use.instance(_aureliaLoader.Loader, this.loader); - this.use.instance(_aureliaTemplating.ViewResources, this.resources); + this.element = element; + this.handler = handler; + this.observerLocator = observerLocator; } - Aurelia.prototype.start = function start() { - var _this = this; + SelectValueObserver.prototype.getValue = function getValue() { + return this.value; + }; - if (this.started) { - return Promise.resolve(this); + SelectValueObserver.prototype.setValue = function setValue(newValue) { + if (newValue !== null && newValue !== undefined && this.element.multiple && !Array.isArray(newValue)) { + throw new Error('Only null or Array instances can be bound to a multi-select.'); + } + if (this.value === newValue) { + return; } - this.started = true; - this.logger.info('Aurelia Starting'); + if (this.arrayObserver) { + this.arrayObserver.unsubscribe(selectArrayContext, this); + this.arrayObserver = null; + } - return this.use.apply().then(function () { - preventActionlessFormSubmit(); + if (Array.isArray(newValue)) { + this.arrayObserver = this.observerLocator.getArrayObserver(newValue); + this.arrayObserver.subscribe(selectArrayContext, this); + } - if (!_this.container.hasResolver(_aureliaTemplating.BindingLanguage)) { - var message = 'You must configure Aurelia with a BindingLanguage implementation.'; - _this.logger.error(message); - throw new Error(message); + this.oldValue = this.value; + this.value = newValue; + this.synchronizeOptions(); + this.notify(); + + if (!this.initialSync) { + this.initialSync = true; + this.observerLocator.taskQueue.queueMicroTask(this); + } + }; + + SelectValueObserver.prototype.call = function call(context, splices) { + this.synchronizeOptions(); + }; + + SelectValueObserver.prototype.synchronizeOptions = function synchronizeOptions() { + var value = this.value; + var clear = void 0; + var isArray = void 0; + + if (value === null || value === undefined) { + clear = true; + } else if (Array.isArray(value)) { + isArray = true; + } + + var options = this.element.options; + var i = options.length; + var matcher = this.element.matcher || function (a, b) { + return a === b; + }; + + var _loop = function _loop() { + var option = options.item(i); + if (clear) { + option.selected = false; + return 'continue'; + } + var optionValue = option.hasOwnProperty('model') ? option.model : option.value; + if (isArray) { + option.selected = value.findIndex(function (item) { + return !!matcher(optionValue, item); + }) !== -1; + return 'continue'; } + option.selected = !!matcher(optionValue, value); + }; - _this.logger.info('Aurelia Started'); - var evt = _aureliaPal.DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true }); - _aureliaPal.DOM.dispatchEvent(evt); - return _this; + while (i--) { + var _ret3 = _loop(); + + if (_ret3 === 'continue') continue; + } + }; + + SelectValueObserver.prototype.synchronizeValue = function synchronizeValue() { + var _this24 = this; + + var options = this.element.options; + var count = 0; + var value = []; + + for (var _i23 = 0, ii = options.length; _i23 < ii; _i23++) { + var _option = options.item(_i23); + if (!_option.selected) { + continue; + } + value.push(_option.hasOwnProperty('model') ? _option.model : _option.value); + count++; + } + + if (this.element.multiple) { + if (Array.isArray(this.value)) { + var _ret4 = function () { + var matcher = _this24.element.matcher || function (a, b) { + return a === b; + }; + + var i = 0; + + var _loop2 = function _loop2() { + var a = _this24.value[i]; + if (value.findIndex(function (b) { + return matcher(a, b); + }) === -1) { + _this24.value.splice(i, 1); + } else { + i++; + } + }; + + while (i < _this24.value.length) { + _loop2(); + } + + i = 0; + + var _loop3 = function _loop3() { + var a = value[i]; + if (_this24.value.findIndex(function (b) { + return matcher(a, b); + }) === -1) { + _this24.value.push(a); + } + i++; + }; + + while (i < value.length) { + _loop3(); + } + return { + v: void 0 + }; + }(); + + if ((typeof _ret4 === 'undefined' ? 'undefined' : _typeof(_ret4)) === "object") return _ret4.v; + } + } else { + if (count === 0) { + value = null; + } else { + value = value[0]; + } + } + + if (value !== this.value) { + this.oldValue = this.value; + this.value = value; + this.notify(); + } + }; + + SelectValueObserver.prototype.notify = function notify() { + var oldValue = this.oldValue; + var newValue = this.value; + + this.callSubscribers(newValue, oldValue); + }; + + SelectValueObserver.prototype.subscribe = function subscribe(context, callable) { + if (!this.hasSubscribers()) { + this.disposeHandler = this.handler.subscribe(this.element, this.synchronizeValue.bind(this, false)); + } + this.addSubscriber(context, callable); + }; + + SelectValueObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) { + this.disposeHandler(); + this.disposeHandler = null; + } + }; + + SelectValueObserver.prototype.bind = function bind() { + var _this25 = this; + + this.domObserver = _aureliaPal.DOM.createMutationObserver(function () { + _this25.synchronizeOptions(); + _this25.synchronizeValue(); }); + this.domObserver.observe(this.element, { childList: true, subtree: true }); + }; + + SelectValueObserver.prototype.unbind = function unbind() { + this.domObserver.disconnect(); + this.domObserver = null; + + if (this.arrayObserver) { + this.arrayObserver.unsubscribe(selectArrayContext, this); + this.arrayObserver = null; + } + }; + + return SelectValueObserver; + }()) || _class10); + + var ClassObserver = exports.ClassObserver = function () { + function ClassObserver(element) { + + + this.element = element; + this.doNotCache = true; + this.value = ''; + this.version = 0; + } + + ClassObserver.prototype.getValue = function getValue() { + return this.value; }; - Aurelia.prototype.enhance = function enhance() { - var _this2 = this; + ClassObserver.prototype.setValue = function setValue(newValue) { + var nameIndex = this.nameIndex || {}; + var version = this.version; + var names = void 0; + var name = void 0; + + if (newValue !== null && newValue !== undefined && newValue.length) { + names = newValue.split(/\s+/); + for (var _i24 = 0, length = names.length; _i24 < length; _i24++) { + name = names[_i24]; + if (name === '') { + continue; + } + nameIndex[name] = version; + this.element.classList.add(name); + } + } + + this.value = newValue; + this.nameIndex = nameIndex; + this.version += 1; + + if (version === 0) { + return; + } + + version -= 1; + for (name in nameIndex) { + if (!nameIndex.hasOwnProperty(name) || nameIndex[name] !== version) { + continue; + } + this.element.classList.remove(name); + } + }; + + ClassObserver.prototype.subscribe = function subscribe() { + throw new Error('Observation of a "' + this.element.nodeName + '" element\'s "class" property is not supported.'); + }; + + return ClassObserver; + }(); + + function hasDeclaredDependencies(descriptor) { + return !!(descriptor && descriptor.get && descriptor.get.dependencies); + } + + function declarePropertyDependencies(ctor, propertyName, dependencies) { + var descriptor = Object.getOwnPropertyDescriptor(ctor.prototype, propertyName); + descriptor.get.dependencies = dependencies; + } + + function computedFrom() { + for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) { + rest[_key] = arguments[_key]; + } + + return function (target, key, descriptor) { + descriptor.get.dependencies = rest; + return descriptor; + }; + } + + var ComputedExpression = exports.ComputedExpression = function (_Expression19) { + _inherits(ComputedExpression, _Expression19); + + function ComputedExpression(name, dependencies) { + + + var _this26 = _possibleConstructorReturn(this, _Expression19.call(this)); + + _this26.name = name; + _this26.dependencies = dependencies; + _this26.isAssignable = true; + return _this26; + } + + ComputedExpression.prototype.evaluate = function evaluate(scope, lookupFunctions) { + return scope.bindingContext[this.name]; + }; + + ComputedExpression.prototype.assign = function assign(scope, value) { + scope.bindingContext[this.name] = value; + }; + + ComputedExpression.prototype.accept = function accept(visitor) { + throw new Error('not implemented'); + }; + + ComputedExpression.prototype.connect = function connect(binding, scope) { + var dependencies = this.dependencies; + var i = dependencies.length; + while (i--) { + dependencies[i].connect(binding, scope); + } + }; + + return ComputedExpression; + }(Expression); + + function createComputedObserver(obj, propertyName, descriptor, observerLocator) { + var dependencies = descriptor.get.dependencies; + if (!(dependencies instanceof ComputedExpression)) { + var _i25 = dependencies.length; + while (_i25--) { + dependencies[_i25] = observerLocator.parser.parse(dependencies[_i25]); + } + dependencies = descriptor.get.dependencies = new ComputedExpression(propertyName, dependencies); + } + + var scope = { bindingContext: obj, overrideContext: createOverrideContext(obj) }; + return new ExpressionObserver(scope, dependencies, observerLocator); + } + + var elements = exports.elements = { + a: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'target', 'transform', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + altGlyph: ['class', 'dx', 'dy', 'externalResourcesRequired', 'format', 'glyphRef', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + altGlyphDef: ['id', 'xml:base', 'xml:lang', 'xml:space'], + altGlyphItem: ['id', 'xml:base', 'xml:lang', 'xml:space'], + animate: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + animateColor: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + animateMotion: ['accumulate', 'additive', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keyPoints', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'origin', 'path', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'rotate', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + animateTransform: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'type', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + circle: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'r', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + clipPath: ['class', 'clipPathUnits', 'externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + 'color-profile': ['id', 'local', 'name', 'rendering-intent', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + cursor: ['externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + defs: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + desc: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'], + ellipse: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + feBlend: ['class', 'height', 'id', 'in', 'in2', 'mode', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feColorMatrix: ['class', 'height', 'id', 'in', 'result', 'style', 'type', 'values', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feComponentTransfer: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feComposite: ['class', 'height', 'id', 'in', 'in2', 'k1', 'k2', 'k3', 'k4', 'operator', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feConvolveMatrix: ['bias', 'class', 'divisor', 'edgeMode', 'height', 'id', 'in', 'kernelMatrix', 'kernelUnitLength', 'order', 'preserveAlpha', 'result', 'style', 'targetX', 'targetY', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feDiffuseLighting: ['class', 'diffuseConstant', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feDisplacementMap: ['class', 'height', 'id', 'in', 'in2', 'result', 'scale', 'style', 'width', 'x', 'xChannelSelector', 'xml:base', 'xml:lang', 'xml:space', 'y', 'yChannelSelector'], + feDistantLight: ['azimuth', 'elevation', 'id', 'xml:base', 'xml:lang', 'xml:space'], + feFlood: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feFuncA: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], + feFuncB: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], + feFuncG: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], + feFuncR: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'], + feGaussianBlur: ['class', 'height', 'id', 'in', 'result', 'stdDeviation', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feImage: ['class', 'externalResourcesRequired', 'height', 'id', 'preserveAspectRatio', 'result', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feMerge: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feMergeNode: ['id', 'xml:base', 'xml:lang', 'xml:space'], + feMorphology: ['class', 'height', 'id', 'in', 'operator', 'radius', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feOffset: ['class', 'dx', 'dy', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + fePointLight: ['id', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'], + feSpecularLighting: ['class', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'specularConstant', 'specularExponent', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feSpotLight: ['id', 'limitingConeAngle', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'specularExponent', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'], + feTile: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + feTurbulence: ['baseFrequency', 'class', 'height', 'id', 'numOctaves', 'result', 'seed', 'stitchTiles', 'style', 'type', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + filter: ['class', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'height', 'id', 'primitiveUnits', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + font: ['class', 'externalResourcesRequired', 'horiz-adv-x', 'horiz-origin-x', 'horiz-origin-y', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'], + 'font-face': ['accent-height', 'alphabetic', 'ascent', 'bbox', 'cap-height', 'descent', 'font-family', 'font-size', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'hanging', 'id', 'ideographic', 'mathematical', 'overline-position', 'overline-thickness', 'panose-1', 'slope', 'stemh', 'stemv', 'strikethrough-position', 'strikethrough-thickness', 'underline-position', 'underline-thickness', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'widths', 'x-height', 'xml:base', 'xml:lang', 'xml:space'], + 'font-face-format': ['id', 'string', 'xml:base', 'xml:lang', 'xml:space'], + 'font-face-name': ['id', 'name', 'xml:base', 'xml:lang', 'xml:space'], + 'font-face-src': ['id', 'xml:base', 'xml:lang', 'xml:space'], + 'font-face-uri': ['id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + foreignObject: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + g: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + glyph: ['arabic-form', 'class', 'd', 'glyph-name', 'horiz-adv-x', 'id', 'lang', 'orientation', 'style', 'unicode', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'], + glyphRef: ['class', 'dx', 'dy', 'format', 'glyphRef', 'id', 'style', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + hkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'], + image: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + line: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'x1', 'x2', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'], + linearGradient: ['class', 'externalResourcesRequired', 'gradientTransform', 'gradientUnits', 'id', 'spreadMethod', 'style', 'x1', 'x2', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'], + marker: ['class', 'externalResourcesRequired', 'id', 'markerHeight', 'markerUnits', 'markerWidth', 'orient', 'preserveAspectRatio', 'refX', 'refY', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'], + mask: ['class', 'externalResourcesRequired', 'height', 'id', 'maskContentUnits', 'maskUnits', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + metadata: ['id', 'xml:base', 'xml:lang', 'xml:space'], + 'missing-glyph': ['class', 'd', 'horiz-adv-x', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'], + mpath: ['externalResourcesRequired', 'id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + path: ['class', 'd', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'pathLength', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + pattern: ['class', 'externalResourcesRequired', 'height', 'id', 'patternContentUnits', 'patternTransform', 'patternUnits', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'viewBox', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + polygon: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + polyline: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + radialGradient: ['class', 'cx', 'cy', 'externalResourcesRequired', 'fx', 'fy', 'gradientTransform', 'gradientUnits', 'id', 'r', 'spreadMethod', 'style', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + rect: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + script: ['externalResourcesRequired', 'id', 'type', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + set: ['attributeName', 'attributeType', 'begin', 'dur', 'end', 'externalResourcesRequired', 'fill', 'id', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + stop: ['class', 'id', 'offset', 'style', 'xml:base', 'xml:lang', 'xml:space'], + style: ['id', 'media', 'title', 'type', 'xml:base', 'xml:lang', 'xml:space'], + svg: ['baseProfile', 'class', 'contentScriptType', 'contentStyleType', 'externalResourcesRequired', 'height', 'id', 'onabort', 'onactivate', 'onclick', 'onerror', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onresize', 'onscroll', 'onunload', 'onzoom', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'version', 'viewBox', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'zoomAndPan'], + switch: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'], + symbol: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'], + text: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'transform', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + textPath: ['class', 'externalResourcesRequired', 'id', 'lengthAdjust', 'method', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'spacing', 'startOffset', 'style', 'systemLanguage', 'textLength', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'], + title: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'], + tref: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + tspan: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'], + use: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'], + view: ['externalResourcesRequired', 'id', 'preserveAspectRatio', 'viewBox', 'viewTarget', 'xml:base', 'xml:lang', 'xml:space', 'zoomAndPan'], + vkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'] + }; + var presentationElements = exports.presentationElements = { + 'a': true, + 'altGlyph': true, + 'animate': true, + 'animateColor': true, + 'circle': true, + 'clipPath': true, + 'defs': true, + 'ellipse': true, + 'feBlend': true, + 'feColorMatrix': true, + 'feComponentTransfer': true, + 'feComposite': true, + 'feConvolveMatrix': true, + 'feDiffuseLighting': true, + 'feDisplacementMap': true, + 'feFlood': true, + 'feGaussianBlur': true, + 'feImage': true, + 'feMerge': true, + 'feMorphology': true, + 'feOffset': true, + 'feSpecularLighting': true, + 'feTile': true, + 'feTurbulence': true, + 'filter': true, + 'font': true, + 'foreignObject': true, + 'g': true, + 'glyph': true, + 'glyphRef': true, + 'image': true, + 'line': true, + 'linearGradient': true, + 'marker': true, + 'mask': true, + 'missing-glyph': true, + 'path': true, + 'pattern': true, + 'polygon': true, + 'polyline': true, + 'radialGradient': true, + 'rect': true, + 'stop': true, + 'svg': true, + 'switch': true, + 'symbol': true, + 'text': true, + 'textPath': true, + 'tref': true, + 'tspan': true, + 'use': true + }; + + var presentationAttributes = exports.presentationAttributes = { + 'alignment-baseline': true, + 'baseline-shift': true, + 'clip-path': true, + 'clip-rule': true, + 'clip': true, + 'color-interpolation-filters': true, + 'color-interpolation': true, + 'color-profile': true, + 'color-rendering': true, + 'color': true, + 'cursor': true, + 'direction': true, + 'display': true, + 'dominant-baseline': true, + 'enable-background': true, + 'fill-opacity': true, + 'fill-rule': true, + 'fill': true, + 'filter': true, + 'flood-color': true, + 'flood-opacity': true, + 'font-family': true, + 'font-size-adjust': true, + 'font-size': true, + 'font-stretch': true, + 'font-style': true, + 'font-variant': true, + 'font-weight': true, + 'glyph-orientation-horizontal': true, + 'glyph-orientation-vertical': true, + 'image-rendering': true, + 'kerning': true, + 'letter-spacing': true, + 'lighting-color': true, + 'marker-end': true, + 'marker-mid': true, + 'marker-start': true, + 'mask': true, + 'opacity': true, + 'overflow': true, + 'pointer-events': true, + 'shape-rendering': true, + 'stop-color': true, + 'stop-opacity': true, + 'stroke-dasharray': true, + 'stroke-dashoffset': true, + 'stroke-linecap': true, + 'stroke-linejoin': true, + 'stroke-miterlimit': true, + 'stroke-opacity': true, + 'stroke-width': true, + 'stroke': true, + 'text-anchor': true, + 'text-decoration': true, + 'text-rendering': true, + 'unicode-bidi': true, + 'visibility': true, + 'word-spacing': true, + 'writing-mode': true + }; + + function createElement(html) { + var div = _aureliaPal.DOM.createElement('div'); + div.innerHTML = html; + return div.firstChild; + } - var bindingContext = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var applicationHost = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; + var SVGAnalyzer = exports.SVGAnalyzer = function () { + function SVGAnalyzer() { + - this._configureHost(applicationHost || _aureliaPal.DOM.querySelectorAll('body')[0]); + if (createElement('').firstElementChild.nodeName === 'altglyph' && elements.altGlyph) { + elements.altglyph = elements.altGlyph; + delete elements.altGlyph; + elements.altglyphdef = elements.altGlyphDef; + delete elements.altGlyphDef; + elements.altglyphitem = elements.altGlyphItem; + delete elements.altGlyphItem; + elements.glyphref = elements.glyphRef; + delete elements.glyphRef; + } + } - return new Promise(function (resolve) { - var engine = _this2.container.get(_aureliaTemplating.TemplatingEngine); - _this2.root = engine.enhance({ container: _this2.container, element: _this2.host, resources: _this2.resources, bindingContext: bindingContext }); - _this2.root.attached(); - _this2._onAureliaComposed(); - resolve(_this2); - }); + SVGAnalyzer.prototype.isStandardSvgAttribute = function isStandardSvgAttribute(nodeName, attributeName) { + return presentationElements[nodeName] && presentationAttributes[attributeName] || elements[nodeName] && elements[nodeName].indexOf(attributeName) !== -1; }; - Aurelia.prototype.setRoot = function setRoot() { - var _this3 = this; + return SVGAnalyzer; + }(); - var root = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; - var applicationHost = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; + var ObserverLocator = exports.ObserverLocator = (_temp = _class11 = function () { + function ObserverLocator(taskQueue, eventManager, dirtyChecker, svgAnalyzer, parser) { + - var instruction = {}; + this.taskQueue = taskQueue; + this.eventManager = eventManager; + this.dirtyChecker = dirtyChecker; + this.svgAnalyzer = svgAnalyzer; + this.parser = parser; + this.adapters = []; + this.logger = LogManager.getLogger('observer-locator'); + } - if (this.root && this.root.viewModel && this.root.viewModel.router) { - this.root.viewModel.router.deactivate(); - this.root.viewModel.router.reset(); - } + ObserverLocator.prototype.getObserver = function getObserver(obj, propertyName) { + var observersLookup = obj.__observers__; + var observer = void 0; - this._configureHost(applicationHost); + if (observersLookup && propertyName in observersLookup) { + return observersLookup[propertyName]; + } - var engine = this.container.get(_aureliaTemplating.TemplatingEngine); - var transaction = this.container.get(_aureliaTemplating.CompositionTransaction); - delete transaction.initialComposition; + observer = this.createPropertyObserver(obj, propertyName); - if (!root) { - if (this.configModuleId) { - root = (0, _aureliaPath.relativeToFile)('./app', this.configModuleId); - } else { - root = 'app'; + if (!observer.doNotCache) { + if (observersLookup === undefined) { + observersLookup = this.getOrCreateObserversLookup(obj); } - } - instruction.viewModel = root; - instruction.container = instruction.childContainer = this.container; - instruction.viewSlot = this.hostSlot; - instruction.host = this.host; + observersLookup[propertyName] = observer; + } - return engine.compose(instruction).then(function (r) { - _this3.root = r; - instruction.viewSlot.attached(); - _this3._onAureliaComposed(); - return _this3; - }); + return observer; }; - Aurelia.prototype._configureHost = function _configureHost(applicationHost) { - if (this.hostConfigured) { - return; - } - applicationHost = applicationHost || this.host; + ObserverLocator.prototype.getOrCreateObserversLookup = function getOrCreateObserversLookup(obj) { + return obj.__observers__ || this.createObserversLookup(obj); + }; - if (!applicationHost || typeof applicationHost === 'string') { - this.host = _aureliaPal.DOM.getElementById(applicationHost || 'applicationHost'); - } else { - this.host = applicationHost; - } + ObserverLocator.prototype.createObserversLookup = function createObserversLookup(obj) { + var value = {}; - if (!this.host) { - throw new Error('No applicationHost was specified.'); + if (!Reflect.defineProperty(obj, '__observers__', { + enumerable: false, + configurable: false, + writable: false, + value: value + })) { + this.logger.warn('Cannot add observers to object', obj); } - this.hostConfigured = true; - this.host.aurelia = this; - this.hostSlot = new _aureliaTemplating.ViewSlot(this.host, true); - this.hostSlot.transformChildNodesIntoView(); - this.container.registerInstance(_aureliaPal.DOM.boundary, this.host); + return value; }; - Aurelia.prototype._onAureliaComposed = function _onAureliaComposed() { - var evt = _aureliaPal.DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true }); - setTimeout(function () { - return _aureliaPal.DOM.dispatchEvent(evt); - }, 1); + ObserverLocator.prototype.addAdapter = function addAdapter(adapter) { + this.adapters.push(adapter); }; - return Aurelia; - }(); + ObserverLocator.prototype.getAdapterObserver = function getAdapterObserver(obj, propertyName, descriptor) { + for (var _i26 = 0, ii = this.adapters.length; _i26 < ii; _i26++) { + var adapter = this.adapters[_i26]; + var observer = adapter.getObserver(obj, propertyName, descriptor); + if (observer) { + return observer; + } + } + return null; + }; - var logger = TheLogManager.getLogger('aurelia'); - var extPattern = /\.[^/.]+$/; + ObserverLocator.prototype.createPropertyObserver = function createPropertyObserver(obj, propertyName) { + var descriptor = void 0; + var handler = void 0; + var xlinkResult = void 0; - function runTasks(config, tasks) { - var current = void 0; - var next = function next() { - current = tasks.shift(); - if (current) { - return Promise.resolve(current(config)).then(next); + if (!(obj instanceof Object)) { + return new PrimitiveObserver(obj, propertyName); } - return Promise.resolve(); - }; + if (obj instanceof _aureliaPal.DOM.Element) { + if (propertyName === 'class') { + return new ClassObserver(obj); + } + if (propertyName === 'style' || propertyName === 'css') { + return new StyleObserver(obj, propertyName); + } + handler = this.eventManager.getElementHandler(obj, propertyName); + if (propertyName === 'value' && obj.tagName.toLowerCase() === 'select') { + return new SelectValueObserver(obj, handler, this); + } + if (propertyName === 'checked' && obj.tagName.toLowerCase() === 'input') { + return new CheckedObserver(obj, handler, this); + } + if (handler) { + return new ValueAttributeObserver(obj, propertyName, handler); + } + xlinkResult = /^xlink:(.+)$/.exec(propertyName); + if (xlinkResult) { + return new XLinkAttributeObserver(obj, propertyName, xlinkResult[1]); + } + if (propertyName === 'role' && (obj instanceof _aureliaPal.DOM.Element || obj instanceof _aureliaPal.DOM.SVGElement) || /^\w+:|^data-|^aria-/.test(propertyName) || obj instanceof _aureliaPal.DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) { + return new DataAttributeObserver(obj, propertyName); + } + } - return next(); - } + descriptor = Object.getPropertyDescriptor(obj, propertyName); - function loadPlugin(config, loader, info) { - logger.debug('Loading plugin ' + info.moduleId + '.'); - config.resourcesRelativeTo = info.resourcesRelativeTo; + if (hasDeclaredDependencies(descriptor)) { + return createComputedObserver(obj, propertyName, descriptor, this); + } - var id = info.moduleId; + if (descriptor) { + var existingGetterOrSetter = descriptor.get || descriptor.set; + if (existingGetterOrSetter) { + if (existingGetterOrSetter.getObserver) { + return existingGetterOrSetter.getObserver(obj); + } - if (info.resourcesRelativeTo.length > 1) { - return loader.normalize(info.moduleId, info.resourcesRelativeTo[1]).then(function (normalizedId) { - return _loadPlugin(normalizedId); - }); - } + var adapterObserver = this.getAdapterObserver(obj, propertyName, descriptor); + if (adapterObserver) { + return adapterObserver; + } + return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); + } + } - return _loadPlugin(id); + if (obj instanceof Array) { + if (propertyName === 'length') { + return this.getArrayObserver(obj).getLengthObserver(); + } - function _loadPlugin(moduleId) { - return loader.loadModule(moduleId).then(function (m) { - if ('configure' in m) { - return Promise.resolve(m.configure(config, info.config || {})).then(function () { - config.resourcesRelativeTo = null; - logger.debug('Configured plugin ' + info.moduleId + '.'); - }); + return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); + } else if (obj instanceof Map) { + if (propertyName === 'size') { + return this.getMapObserver(obj).getLengthObserver(); } - config.resourcesRelativeTo = null; - logger.debug('Loaded plugin ' + info.moduleId + '.'); - }); - } - } + return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); + } else if (obj instanceof Set) { + if (propertyName === 'size') { + return this.getSetObserver(obj).getLengthObserver(); + } - function loadResources(aurelia, resourcesToLoad, appResources) { - var viewEngine = aurelia.container.get(_aureliaTemplating.ViewEngine); + return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName); + } - return Promise.all(Object.keys(resourcesToLoad).map(function (n) { - return _normalize(resourcesToLoad[n]); - })).then(function (loads) { - var names = []; - var importIds = []; + return new SetterObserver(this.taskQueue, obj, propertyName); + }; - loads.forEach(function (l) { - names.push(undefined); - importIds.push(l.importId); - }); + ObserverLocator.prototype.getAccessor = function getAccessor(obj, propertyName) { + if (obj instanceof _aureliaPal.DOM.Element) { + if (propertyName === 'class' || propertyName === 'style' || propertyName === 'css' || propertyName === 'value' && (obj.tagName.toLowerCase() === 'input' || obj.tagName.toLowerCase() === 'select') || propertyName === 'checked' && obj.tagName.toLowerCase() === 'input' || propertyName === 'model' && obj.tagName.toLowerCase() === 'input' || /^xlink:.+$/.exec(propertyName)) { + return this.getObserver(obj, propertyName); + } + if (/^\w+:|^data-|^aria-/.test(propertyName) || obj instanceof _aureliaPal.DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) { + return dataAttributeAccessor; + } + } + return propertyAccessor; + }; - return viewEngine.importViewResources(importIds, names, appResources); - }); + ObserverLocator.prototype.getArrayObserver = function getArrayObserver(array) { + return _getArrayObserver(this.taskQueue, array); + }; - function _normalize(load) { - var moduleId = load.moduleId; - var ext = getExt(moduleId); + ObserverLocator.prototype.getMapObserver = function getMapObserver(map) { + return _getMapObserver(this.taskQueue, map); + }; - if (isOtherResource(moduleId)) { - moduleId = removeExt(moduleId); - } + ObserverLocator.prototype.getSetObserver = function getSetObserver(set) { + return _getSetObserver(this.taskQueue, set); + }; - return aurelia.loader.normalize(moduleId, load.relativeTo).then(function (normalized) { - return { - name: load.moduleId, - importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized - }; - }); - } + return ObserverLocator; + }(), _class11.inject = [_aureliaTaskQueue.TaskQueue, EventManager, DirtyChecker, SVGAnalyzer, Parser], _temp); - function isOtherResource(name) { - var ext = getExt(name); - if (!ext) return false; - if (ext === '') return false; - if (ext === '.js' || ext === '.ts') return false; - return true; + var ObjectObservationAdapter = exports.ObjectObservationAdapter = function () { + function ObjectObservationAdapter() { + } - function removeExt(name) { - return name.replace(extPattern, ''); - } + ObjectObservationAdapter.prototype.getObserver = function getObserver(object, propertyName, descriptor) { + throw new Error('BindingAdapters must implement getObserver(object, propertyName).'); + }; - function addOriginalExt(normalized, ext) { - return removeExt(normalized) + '.' + ext; - } - } + return ObjectObservationAdapter; + }(); - function getExt(name) { - var match = name.match(extPattern); - if (match && match.length > 0) { - return match[0].split('.')[1]; - } - } + var BindingExpression = exports.BindingExpression = function () { + function BindingExpression(observerLocator, targetProperty, sourceExpression, mode, lookupFunctions, attribute) { + - function assertProcessed(plugins) { - if (plugins.processed) { - throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.'); + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = attribute; + this.discrete = false; } - } - var FrameworkConfiguration = function () { - function FrameworkConfiguration(aurelia) { - var _this4 = this; + BindingExpression.prototype.createBinding = function createBinding(target) { + return new Binding(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.mode, this.lookupFunctions); + }; + + return BindingExpression; + }(); + + var targetContext = 'Binding:target'; + var Binding = exports.Binding = (_dec10 = connectable(), _dec10(_class12 = function () { + function Binding(observerLocator, sourceExpression, target, targetProperty, mode, lookupFunctions) { - this.aurelia = aurelia; - this.container = aurelia.container; - this.info = []; - this.processed = false; - this.preTasks = []; - this.postTasks = []; - this.resourcesToLoad = {}; - this.preTask(function () { - return aurelia.loader.normalize('aurelia-bootstrapper').then(function (name) { - return _this4.bootstrapperName = name; - }); - }); - this.postTask(function () { - return loadResources(aurelia, _this4.resourcesToLoad, aurelia.resources); - }); + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.target = target; + this.targetProperty = targetProperty; + this.mode = mode; + this.lookupFunctions = lookupFunctions; } - FrameworkConfiguration.prototype.instance = function instance(type, _instance) { - this.container.registerInstance(type, _instance); - return this; + Binding.prototype.updateTarget = function updateTarget(value) { + this.targetObserver.setValue(value, this.target, this.targetProperty); }; - FrameworkConfiguration.prototype.singleton = function singleton(type, implementation) { - this.container.registerSingleton(type, implementation); - return this; + Binding.prototype.updateSource = function updateSource(value) { + this.sourceExpression.assign(this.source, value, this.lookupFunctions); }; - FrameworkConfiguration.prototype.transient = function transient(type, implementation) { - this.container.registerTransient(type, implementation); - return this; + Binding.prototype.call = function call(context, newValue, oldValue) { + if (!this.isBound) { + return; + } + if (context === sourceContext) { + oldValue = this.targetObserver.getValue(this.target, this.targetProperty); + newValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + if (newValue !== oldValue) { + this.updateTarget(newValue); + } + if (this.mode !== bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + this.unobserve(false); + } + return; + } + if (context === targetContext) { + if (newValue !== this.sourceExpression.evaluate(this.source, this.lookupFunctions)) { + this.updateSource(newValue); + } + return; + } + throw new Error('Unexpected call context ' + context); }; - FrameworkConfiguration.prototype.preTask = function preTask(task) { - assertProcessed(this); - this.preTasks.push(task); - return this; + Binding.prototype.bind = function bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + + var mode = this.mode; + if (!this.targetObserver) { + var method = mode === bindingMode.twoWay ? 'getObserver' : 'getAccessor'; + this.targetObserver = this.observerLocator[method](this.target, this.targetProperty); + } + + if ('bind' in this.targetObserver) { + this.targetObserver.bind(); + } + var value = this.sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(value); + + if (mode === bindingMode.oneWay) { + enqueueBindingConnect(this); + } else if (mode === bindingMode.twoWay) { + this.sourceExpression.connect(this, source); + this.targetObserver.subscribe(targetContext, this); + } }; - FrameworkConfiguration.prototype.postTask = function postTask(task) { - assertProcessed(this); - this.postTasks.push(task); - return this; + Binding.prototype.unbind = function unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + if ('unbind' in this.targetObserver) { + this.targetObserver.unbind(); + } + if (this.targetObserver.unsubscribe) { + this.targetObserver.unsubscribe(targetContext, this); + } + this.unobserve(true); }; - FrameworkConfiguration.prototype.feature = function feature(plugin, config) { - if (getExt(plugin)) { - return this.plugin({ moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: config || {} }); + Binding.prototype.connect = function connect(evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(value); } + this.sourceExpression.connect(this, this.source); + }; - return this.plugin({ moduleId: plugin + '/index', resourcesRelativeTo: [plugin, ''], config: config || {} }); + return Binding; + }()) || _class12); + + var CallExpression = exports.CallExpression = function () { + function CallExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions) { + + + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.sourceExpression = sourceExpression; + this.lookupFunctions = lookupFunctions; + } + + CallExpression.prototype.createBinding = function createBinding(target) { + return new Call(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.lookupFunctions); }; - FrameworkConfiguration.prototype.globalResources = function globalResources(resources) { - assertProcessed(this); + return CallExpression; + }(); - var toAdd = Array.isArray(resources) ? resources : arguments; - var resource = void 0; - var resourcesRelativeTo = this.resourcesRelativeTo || ['', '']; + var Call = exports.Call = function () { + function Call(observerLocator, sourceExpression, target, targetProperty, lookupFunctions) { + - for (var i = 0, ii = toAdd.length; i < ii; ++i) { - resource = toAdd[i]; - if (typeof resource !== 'string') { - throw new Error('Invalid resource path [' + resource + ']. Resources must be specified as relative module IDs.'); - } + this.sourceExpression = sourceExpression; + this.target = target; + this.targetProperty = observerLocator.getObserver(target, targetProperty); + this.lookupFunctions = lookupFunctions; + } + + Call.prototype.callSource = function callSource($event) { + var overrideContext = this.source.overrideContext; + Object.assign(overrideContext, $event); + overrideContext.$event = $event; + var mustEvaluate = true; + var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate); + delete overrideContext.$event; + for (var prop in $event) { + delete overrideContext[prop]; + } + return result; + }; - var parent = resourcesRelativeTo[0]; - var grandParent = resourcesRelativeTo[1]; - var name = resource; + Call.prototype.bind = function bind(source) { + var _this27 = this; - if ((resource.startsWith('./') || resource.startsWith('../')) && parent !== '') { - name = (0, _aureliaPath.join)(parent, resource); + if (this.isBound) { + if (this.source === source) { + return; } - - this.resourcesToLoad[name] = { moduleId: name, relativeTo: grandParent }; + this.unbind(); } + this.isBound = true; + this.source = source; - return this; - }; - - FrameworkConfiguration.prototype.globalName = function globalName(resourcePath, newName) { - assertProcessed(this); - this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' }; - return this; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + this.targetProperty.setValue(function ($event) { + return _this27.callSource($event); + }); }; - FrameworkConfiguration.prototype.plugin = function plugin(_plugin, config) { - assertProcessed(this); - - if (typeof _plugin === 'string') { - return this.plugin({ moduleId: _plugin, resourcesRelativeTo: [_plugin, ''], config: config || {} }); + Call.prototype.unbind = function unbind() { + if (!this.isBound) { + return; } - - this.info.push(_plugin); - return this; + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.targetProperty.setValue(null); }; - FrameworkConfiguration.prototype._addNormalizedPlugin = function _addNormalizedPlugin(name, config) { - var _this5 = this; + return Call; + }(); - var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} }; - this.plugin(plugin); + var ValueConverterResource = exports.ValueConverterResource = function () { + function ValueConverterResource(name) { + - this.preTask(function () { - var relativeTo = [name, _this5.bootstrapperName]; - plugin.moduleId = name; - plugin.resourcesRelativeTo = relativeTo; - return Promise.resolve(); - }); + this.name = name; + } - return this; + ValueConverterResource.convention = function convention(name) { + if (name.endsWith('ValueConverter')) { + return new ValueConverterResource(camelCase(name.substring(0, name.length - 14))); + } }; - FrameworkConfiguration.prototype.defaultBindingLanguage = function defaultBindingLanguage() { - return this._addNormalizedPlugin('aurelia-templating-binding'); + ValueConverterResource.prototype.initialize = function initialize(container, target) { + this.instance = container.get(target); }; - FrameworkConfiguration.prototype.router = function router() { - return this._addNormalizedPlugin('aurelia-templating-router'); + ValueConverterResource.prototype.register = function register(registry, name) { + registry.registerValueConverter(name || this.name, this.instance); }; - FrameworkConfiguration.prototype.history = function history() { - return this._addNormalizedPlugin('aurelia-history-browser'); - }; + ValueConverterResource.prototype.load = function load(container, target) {}; - FrameworkConfiguration.prototype.defaultResources = function defaultResources() { - return this._addNormalizedPlugin('aurelia-templating-resources'); - }; + return ValueConverterResource; + }(); - FrameworkConfiguration.prototype.eventAggregator = function eventAggregator() { - return this._addNormalizedPlugin('aurelia-event-aggregator'); - }; + function valueConverter(nameOrTarget) { + if (nameOrTarget === undefined || typeof nameOrTarget === 'string') { + return function (target) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ValueConverterResource(nameOrTarget), target); + }; + } - FrameworkConfiguration.prototype.basicConfiguration = function basicConfiguration() { - return this.defaultBindingLanguage().defaultResources().eventAggregator(); - }; + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ValueConverterResource(), nameOrTarget); + } - FrameworkConfiguration.prototype.standardConfiguration = function standardConfiguration() { - return this.basicConfiguration().history().router(); - }; + var BindingBehaviorResource = exports.BindingBehaviorResource = function () { + function BindingBehaviorResource(name) { + - FrameworkConfiguration.prototype.developmentLogging = function developmentLogging() { - var _this6 = this; + this.name = name; + } - this.preTask(function () { - return _this6.aurelia.loader.normalize('aurelia-logging-console', _this6.bootstrapperName).then(function (name) { - return _this6.aurelia.loader.loadModule(name).then(function (m) { - TheLogManager.addAppender(new m.ConsoleAppender()); - TheLogManager.setLevel(TheLogManager.logLevel.debug); - }); - }); - }); + BindingBehaviorResource.convention = function convention(name) { + if (name.endsWith('BindingBehavior')) { + return new BindingBehaviorResource(camelCase(name.substring(0, name.length - 15))); + } + }; - return this; + BindingBehaviorResource.prototype.initialize = function initialize(container, target) { + this.instance = container.get(target); }; - FrameworkConfiguration.prototype.apply = function apply() { - var _this7 = this; + BindingBehaviorResource.prototype.register = function register(registry, name) { + registry.registerBindingBehavior(name || this.name, this.instance); + }; - if (this.processed) { - return Promise.resolve(); - } + BindingBehaviorResource.prototype.load = function load(container, target) {}; - return runTasks(this, this.preTasks).then(function () { - var loader = _this7.aurelia.loader; - var info = _this7.info; - var current = void 0; + return BindingBehaviorResource; + }(); - var next = function next() { - current = info.shift(); - if (current) { - return loadPlugin(_this7, loader, current).then(next); - } + function bindingBehavior(nameOrTarget) { + if (nameOrTarget === undefined || typeof nameOrTarget === 'string') { + return function (target) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new BindingBehaviorResource(nameOrTarget), target); + }; + } - _this7.processed = true; - return Promise.resolve(); - }; + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new BindingBehaviorResource(), nameOrTarget); + } - return next().then(function () { - return runTasks(_this7, _this7.postTasks); - }); - }); + var ListenerExpression = exports.ListenerExpression = function () { + function ListenerExpression(eventManager, targetEvent, sourceExpression, delegationStrategy, preventDefault, lookupFunctions) { + + + this.eventManager = eventManager; + this.targetEvent = targetEvent; + this.sourceExpression = sourceExpression; + this.delegationStrategy = delegationStrategy; + this.discrete = true; + this.preventDefault = preventDefault; + this.lookupFunctions = lookupFunctions; + } + + ListenerExpression.prototype.createBinding = function createBinding(target) { + return new Listener(this.eventManager, this.targetEvent, this.delegationStrategy, this.sourceExpression, target, this.preventDefault, this.lookupFunctions); }; - return FrameworkConfiguration; + return ListenerExpression; }(); - exports.FrameworkConfiguration = FrameworkConfiguration; - var LogManager = exports.LogManager = TheLogManager; -}); -define('aurelia-event-aggregator',['exports', 'aurelia-logging'], function (exports, _aureliaLogging) { - 'use strict'; + var Listener = exports.Listener = function () { + function Listener(eventManager, targetEvent, delegationStrategy, sourceExpression, target, preventDefault, lookupFunctions) { + - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.EventAggregator = undefined; - exports.includeEventsIn = includeEventsIn; - exports.configure = configure; + this.eventManager = eventManager; + this.targetEvent = targetEvent; + this.delegationStrategy = delegationStrategy; + this.sourceExpression = sourceExpression; + this.target = target; + this.preventDefault = preventDefault; + this.lookupFunctions = lookupFunctions; + } - var LogManager = _interopRequireWildcard(_aureliaLogging); + Listener.prototype.callSource = function callSource(event) { + var overrideContext = this.source.overrideContext; + overrideContext.$event = event; + var mustEvaluate = true; + var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate); + delete overrideContext.$event; + if (result !== true && this.preventDefault) { + event.preventDefault(); + } + return result; + }; - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; + Listener.prototype.bind = function bind(source) { + var _this28 = this; - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + if (this.isBound) { + if (this.source === source) { + return; } + this.unbind(); } + this.isBound = true; + this.source = source; - newObj.default = obj; - return newObj; - } - } - - - - var logger = LogManager.getLogger('event-aggregator'); - - var Handler = function () { - function Handler(messageType, callback) { - - - this.messageType = messageType; - this.callback = callback; - } + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + this._disposeListener = this.eventManager.addEventListener(this.target, this.targetEvent, function (event) { + return _this28.callSource(event); + }, this.delegationStrategy); + }; - Handler.prototype.handle = function handle(message) { - if (message instanceof this.messageType) { - this.callback.call(null, message); + Listener.prototype.unbind = function unbind() { + if (!this.isBound) { + return; } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this._disposeListener(); + this._disposeListener = null; }; - return Handler; + return Listener; }(); - function invokeCallback(callback, data, event) { - try { - callback(data, event); - } catch (e) { - logger.error(e); - } - } + function getAU(element) { + var au = element.au; - function invokeHandler(handler, data) { - try { - handler.handle(data); - } catch (e) { - logger.error(e); + if (au === undefined) { + throw new Error('No Aurelia APIs are defined for the element: "' + element.tagName + '".'); } + + return au; } - var EventAggregator = exports.EventAggregator = function () { - function EventAggregator() { + var NameExpression = exports.NameExpression = function () { + function NameExpression(sourceExpression, apiName, lookupFunctions) { - this.eventLookup = {}; - this.messageHandlers = []; + this.sourceExpression = sourceExpression; + this.apiName = apiName; + this.lookupFunctions = lookupFunctions; + this.discrete = true; } - EventAggregator.prototype.publish = function publish(event, data) { - var subscribers = void 0; - var i = void 0; - - if (!event) { - throw new Error('Event was invalid.'); - } + NameExpression.prototype.createBinding = function createBinding(target) { + return new NameBinder(this.sourceExpression, NameExpression.locateAPI(target, this.apiName), this.lookupFunctions); + }; - if (typeof event === 'string') { - subscribers = this.eventLookup[event]; - if (subscribers) { - subscribers = subscribers.slice(); - i = subscribers.length; + NameExpression.locateAPI = function locateAPI(element, apiName) { + switch (apiName) { + case 'element': + return element; + case 'controller': + return getAU(element).controller; + case 'view-model': + return getAU(element).controller.viewModel; + case 'view': + return getAU(element).controller.view; + default: + var target = getAU(element)[apiName]; - while (i--) { - invokeCallback(subscribers[i], data, event); + if (target === undefined) { + throw new Error('Attempted to reference "' + apiName + '", but it was not found amongst the target\'s API.'); } - } - } else { - subscribers = this.messageHandlers.slice(); - i = subscribers.length; - while (i--) { - invokeHandler(subscribers[i], event); - } + return target.viewModel; } }; - EventAggregator.prototype.subscribe = function subscribe(event, callback) { - var handler = void 0; - var subscribers = void 0; + return NameExpression; + }(); - if (!event) { - throw new Error('Event channel/type was invalid.'); + var NameBinder = function () { + function NameBinder(sourceExpression, target, lookupFunctions) { + + + this.sourceExpression = sourceExpression; + this.target = target; + this.lookupFunctions = lookupFunctions; + } + + NameBinder.prototype.bind = function bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); } + this.sourceExpression.assign(this.source, this.target, this.lookupFunctions); + }; - if (typeof event === 'string') { - handler = callback; - subscribers = this.eventLookup[event] || (this.eventLookup[event] = []); - } else { - handler = new Handler(event, callback); - subscribers = this.messageHandlers; + NameBinder.prototype.unbind = function unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.evaluate(this.source, this.lookupFunctions) === this.target) { + this.sourceExpression.assign(this.source, null, this.lookupFunctions); + } + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); } + this.source = null; + }; - subscribers.push(handler); + return NameBinder; + }(); + + var LookupFunctions = { + bindingBehaviors: function bindingBehaviors(name) { + return null; + }, + valueConverters: function valueConverters(name) { + return null; + } + }; + + var BindingEngine = exports.BindingEngine = (_temp2 = _class13 = function () { + function BindingEngine(observerLocator, parser) { + + + this.observerLocator = observerLocator; + this.parser = parser; + } + + BindingEngine.prototype.createBindingExpression = function createBindingExpression(targetProperty, sourceExpression) { + var mode = arguments.length <= 2 || arguments[2] === undefined ? bindingMode.oneWay : arguments[2]; + var lookupFunctions = arguments.length <= 3 || arguments[3] === undefined ? LookupFunctions : arguments[3]; + + return new BindingExpression(this.observerLocator, targetProperty, this.parser.parse(sourceExpression), mode, lookupFunctions); + }; + + BindingEngine.prototype.propertyObserver = function propertyObserver(obj, propertyName) { + var _this29 = this; return { - dispose: function dispose() { - var idx = subscribers.indexOf(handler); - if (idx !== -1) { - subscribers.splice(idx, 1); - } + subscribe: function subscribe(callback) { + var observer = _this29.observerLocator.getObserver(obj, propertyName); + observer.subscribe(callback); + return { + dispose: function dispose() { + return observer.unsubscribe(callback); + } + }; } }; }; - EventAggregator.prototype.subscribeOnce = function subscribeOnce(event, callback) { - var sub = this.subscribe(event, function (a, b) { - sub.dispose(); - return callback(a, b); - }); + BindingEngine.prototype.collectionObserver = function collectionObserver(collection) { + var _this30 = this; - return sub; + return { + subscribe: function subscribe(callback) { + var observer = void 0; + if (collection instanceof Array) { + observer = _this30.observerLocator.getArrayObserver(collection); + } else if (collection instanceof Map) { + observer = _this30.observerLocator.getMapObserver(collection); + } else if (collection instanceof Set) { + observer = _this30.observerLocator.getSetObserver(collection); + } else { + throw new Error('collection must be an instance of Array, Map or Set.'); + } + observer.subscribe(callback); + return { + dispose: function dispose() { + return observer.unsubscribe(callback); + } + }; + } + }; }; - return EventAggregator; - }(); - - function includeEventsIn(obj) { - var ea = new EventAggregator(); - - obj.subscribeOnce = function (event, callback) { - return ea.subscribeOnce(event, callback); + BindingEngine.prototype.expressionObserver = function expressionObserver(bindingContext, expression) { + var scope = { bindingContext: bindingContext, overrideContext: createOverrideContext(bindingContext) }; + return new ExpressionObserver(scope, this.parser.parse(expression), this.observerLocator, LookupFunctions); }; - obj.subscribe = function (event, callback) { - return ea.subscribe(event, callback); + BindingEngine.prototype.parseExpression = function parseExpression(expression) { + return this.parser.parse(expression); }; - obj.publish = function (event, data) { - ea.publish(event, data); + BindingEngine.prototype.registerAdapter = function registerAdapter(adapter) { + this.observerLocator.addAdapter(adapter); }; - return ea; - } - - function configure(config) { - config.instance(EventAggregator, includeEventsIn(config.aurelia)); - } -}); -define('aurelia-dependency-injection',['exports', 'aurelia-metadata', 'aurelia-pal'], function (exports, _aureliaMetadata, _aureliaPal) { - 'use strict'; + return BindingEngine; + }(), _class13.inject = [ObserverLocator, Parser], _temp2); - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Container = exports.InvocationHandler = exports._emptyParameters = exports.SingletonRegistration = exports.TransientRegistration = exports.FactoryInvoker = exports.NewInstance = exports.Factory = exports.StrategyResolver = exports.Parent = exports.Optional = exports.All = exports.Lazy = exports.resolver = undefined; - exports.getDecoratorDependencies = getDecoratorDependencies; - exports.lazy = lazy; - exports.all = all; - exports.optional = optional; - exports.parent = parent; - exports.factory = factory; - exports.newInstance = newInstance; - exports.invoker = invoker; - exports.invokeAsFactory = invokeAsFactory; - exports.registration = registration; - exports.transient = transient; - exports.singleton = singleton; - exports.autoinject = autoinject; - exports.inject = inject; - + var setProto = Set.prototype; - var _dec, _class, _dec2, _class3, _dec3, _class5, _dec4, _class7, _dec5, _class9, _dec6, _class11, _dec7, _class13, _classInvokers; + function _getSetObserver(taskQueue, set) { + return ModifySetObserver.for(taskQueue, set); + } - var resolver = exports.resolver = _aureliaMetadata.protocol.create('aurelia:resolver', function (target) { - if (!(typeof target.get === 'function')) { - return 'Resolvers must implement: get(container: Container, key: any): any'; - } + exports.getSetObserver = _getSetObserver; - return true; - }); + var ModifySetObserver = function (_ModifyCollectionObse3) { + _inherits(ModifySetObserver, _ModifyCollectionObse3); - var Lazy = exports.Lazy = (_dec = resolver(), _dec(_class = function () { - function Lazy(key) { + function ModifySetObserver(taskQueue, set) { - this._key = key; + return _possibleConstructorReturn(this, _ModifyCollectionObse3.call(this, taskQueue, set)); } - Lazy.prototype.get = function get(container) { - var _this = this; - - return function () { - return container.get(_this._key); - }; + ModifySetObserver.for = function _for(taskQueue, set) { + if (!('__set_observer__' in set)) { + Reflect.defineProperty(set, '__set_observer__', { + value: ModifySetObserver.create(taskQueue, set), + enumerable: false, configurable: false + }); + } + return set.__set_observer__; }; - Lazy.of = function of(key) { - return new Lazy(key); - }; + ModifySetObserver.create = function create(taskQueue, set) { + var observer = new ModifySetObserver(taskQueue, set); - return Lazy; - }()) || _class); - var All = exports.All = (_dec2 = resolver(), _dec2(_class3 = function () { - function All(key) { - + var proto = setProto; + if (proto.add !== set.add || proto.delete !== set.delete || proto.clear !== set.clear) { + proto = { + add: set.add, + delete: set.delete, + clear: set.clear + }; + } - this._key = key; - } + set.add = function () { + var type = 'add'; + var oldSize = set.size; + var methodCallResult = proto.add.apply(set, arguments); + var hasValue = set.size === oldSize; + if (!hasValue) { + observer.addChangeRecord({ + type: type, + object: set, + value: Array.from(set).pop() + }); + } + return methodCallResult; + }; - All.prototype.get = function get(container) { - return container.getAll(this._key); - }; + set.delete = function () { + var hasValue = set.has(arguments[0]); + var methodCallResult = proto.delete.apply(set, arguments); + if (hasValue) { + observer.addChangeRecord({ + type: 'delete', + object: set, + value: arguments[0] + }); + } + return methodCallResult; + }; - All.of = function of(key) { - return new All(key); + set.clear = function () { + var methodCallResult = proto.clear.apply(set, arguments); + observer.addChangeRecord({ + type: 'clear', + object: set + }); + return methodCallResult; + }; + + return observer; }; - return All; - }()) || _class3); - var Optional = exports.Optional = (_dec3 = resolver(), _dec3(_class5 = function () { - function Optional(key) { - var checkParent = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; + return ModifySetObserver; + }(ModifyCollectionObserver); - + function observable(targetOrConfig, key, descriptor) { + function deco(target, key, descriptor, config) { + var isClassDecorator = key === undefined; + if (isClassDecorator) { + target = target.prototype; + key = typeof config === 'string' ? config : config.name; + } - this._key = key; - this._checkParent = checkParent; - } + var innerPropertyName = '_' + key; + var innerPropertyDescriptor = { + configurable: true, + enumerable: false, + writable: true + }; - Optional.prototype.get = function get(container) { - if (container.hasResolver(this._key, this._checkParent)) { - return container.get(this._key); + var callbackName = config && config.changeHandler || key + 'Changed'; + + if (descriptor) { + if (typeof descriptor.initializer === 'function') { + innerPropertyDescriptor.value = descriptor.initializer(); + } + } else { + descriptor = {}; } - return null; - }; + if (!('enumerable' in descriptor)) { + descriptor.enumerable = true; + } - Optional.of = function of(key) { - var checkParent = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; + delete descriptor.value; + delete descriptor.writable; + delete descriptor.initializer; - return new Optional(key, checkParent); - }; + Reflect.defineProperty(target, innerPropertyName, innerPropertyDescriptor); - return Optional; - }()) || _class5); - var Parent = exports.Parent = (_dec4 = resolver(), _dec4(_class7 = function () { - function Parent(key) { - + descriptor.get = function () { + return this[innerPropertyName]; + }; + descriptor.set = function (newValue) { + var oldValue = this[innerPropertyName]; + if (newValue === oldValue) { + return; + } - this._key = key; - } + this[innerPropertyName] = newValue; + Reflect.defineProperty(this, innerPropertyName, { enumerable: false }); - Parent.prototype.get = function get(container) { - return container.parent ? container.parent.get(this._key) : null; - }; + if (this[callbackName]) { + this[callbackName](newValue, oldValue, key); + } + }; - Parent.of = function of(key) { - return new Parent(key); - }; + descriptor.get.dependencies = [innerPropertyName]; - return Parent; - }()) || _class7); - var StrategyResolver = exports.StrategyResolver = (_dec5 = resolver(), _dec5(_class9 = function () { - function StrategyResolver(strategy, state) { - + if (isClassDecorator) { + Reflect.defineProperty(target, key, descriptor); + } else { + return descriptor; + } + } - this.strategy = strategy; - this.state = state; + if (key === undefined) { + return function (t, k, d) { + return deco(t, k, d, targetOrConfig); + }; } + return deco(targetOrConfig, key, descriptor); + } +}); +define('aurelia-framework',['exports', 'aurelia-dependency-injection', 'aurelia-binding', 'aurelia-metadata', 'aurelia-templating', 'aurelia-loader', 'aurelia-task-queue', 'aurelia-path', 'aurelia-pal', 'aurelia-logging'], function (exports, _aureliaDependencyInjection, _aureliaBinding, _aureliaMetadata, _aureliaTemplating, _aureliaLoader, _aureliaTaskQueue, _aureliaPath, _aureliaPal, _aureliaLogging) { + 'use strict'; - StrategyResolver.prototype.get = function get(container, key) { - switch (this.strategy) { - case 0: - return this.state; - case 1: - var singleton = container.invoke(this.state); - this.state = singleton; - this.strategy = 0; - return singleton; - case 2: - return container.invoke(this.state); - case 3: - return this.state(container, key, this); - case 4: - return this.state[0].get(container, key); - case 5: - return container.get(this.state); - default: - throw new Error('Invalid strategy: ' + this.strategy); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.LogManager = exports.FrameworkConfiguration = exports.Aurelia = undefined; + Object.keys(_aureliaDependencyInjection).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaDependencyInjection[key]; + } + }); + }); + Object.keys(_aureliaBinding).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaBinding[key]; + } + }); + }); + Object.keys(_aureliaMetadata).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaMetadata[key]; + } + }); + }); + Object.keys(_aureliaTemplating).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaTemplating[key]; + } + }); + }); + Object.keys(_aureliaLoader).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaLoader[key]; + } + }); + }); + Object.keys(_aureliaTaskQueue).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaTaskQueue[key]; + } + }); + }); + Object.keys(_aureliaPath).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaPath[key]; } - }; - - return StrategyResolver; - }()) || _class9); - var Factory = exports.Factory = (_dec6 = resolver(), _dec6(_class11 = function () { - function Factory(key) { - + }); + }); + Object.keys(_aureliaPal).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _aureliaPal[key]; + } + }); + }); - this._key = key; - } + var TheLogManager = _interopRequireWildcard(_aureliaLogging); - Factory.prototype.get = function get(container) { - var _this2 = this; + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; - return function () { - for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) { - rest[_key] = arguments[_key]; + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } - - return container.invoke(_this2._key, rest); - }; - }; - - Factory.of = function of(key) { - return new Factory(key); - }; - - return Factory; - }()) || _class11); - var NewInstance = exports.NewInstance = (_dec7 = resolver(), _dec7(_class13 = function () { - function NewInstance(key) { - - - this.key = key; - this.asKey = key; - - for (var _len2 = arguments.length, dynamicDependencies = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - dynamicDependencies[_key2 - 1] = arguments[_key2]; } - this.dynamicDependencies = dynamicDependencies; + newObj.default = obj; + return newObj; } + } - NewInstance.prototype.get = function get(container) { - var dynamicDependencies = this.dynamicDependencies.length > 0 ? this.dynamicDependencies.map(function (dependency) { - return dependency['protocol:aurelia:resolver'] ? dependency.get(container) : container.get(dependency); - }) : undefined; - var instance = container.invoke(this.key, dynamicDependencies); - container.registerInstance(this.asKey, instance); - return instance; - }; + - NewInstance.prototype.as = function as(key) { - this.asKey = key; - return this; - }; + function preventActionlessFormSubmit() { + _aureliaPal.DOM.addEventListener('submit', function (evt) { + var target = evt.target; + var action = target.action; - NewInstance.of = function of(key) { - for (var _len3 = arguments.length, dynamicDependencies = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { - dynamicDependencies[_key3 - 1] = arguments[_key3]; + if (target.tagName.toLowerCase() === 'form' && !action) { + evt.preventDefault(); } + }); + } - return new (Function.prototype.bind.apply(NewInstance, [null].concat([key], dynamicDependencies)))(); - }; + var Aurelia = exports.Aurelia = function () { + function Aurelia(loader, container, resources) { + - return NewInstance; - }()) || _class13); - function getDecoratorDependencies(target, name) { - var dependencies = target.inject; - if (typeof dependencies === 'function') { - throw new Error('Decorator ' + name + ' cannot be used with "inject()". Please use an array instead.'); - } - if (!dependencies) { - dependencies = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, target).slice(); - target.inject = dependencies; + this.loader = loader || new _aureliaPal.PLATFORM.Loader(); + this.container = container || new _aureliaDependencyInjection.Container().makeGlobal(); + this.resources = resources || new _aureliaTemplating.ViewResources(); + this.use = new FrameworkConfiguration(this); + this.logger = TheLogManager.getLogger('aurelia'); + this.hostConfigured = false; + this.host = null; + + this.use.instance(Aurelia, this); + this.use.instance(_aureliaLoader.Loader, this.loader); + this.use.instance(_aureliaTemplating.ViewResources, this.resources); } - return dependencies; - } + Aurelia.prototype.start = function start() { + var _this = this; - function lazy(keyValue) { - return function (target, key, index) { - var params = getDecoratorDependencies(target, 'lazy'); - params[index] = Lazy.of(keyValue); - }; - } + if (this.started) { + return Promise.resolve(this); + } - function all(keyValue) { - return function (target, key, index) { - var params = getDecoratorDependencies(target, 'all'); - params[index] = All.of(keyValue); - }; - } + this.started = true; + this.logger.info('Aurelia Starting'); - function optional() { - var checkParentOrTarget = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + return this.use.apply().then(function () { + preventActionlessFormSubmit(); - var deco = function deco(checkParent) { - return function (target, key, index) { - var params = getDecoratorDependencies(target, 'optional'); - params[index] = Optional.of(params[index], checkParent); - }; + if (!_this.container.hasResolver(_aureliaTemplating.BindingLanguage)) { + var message = 'You must configure Aurelia with a BindingLanguage implementation.'; + _this.logger.error(message); + throw new Error(message); + } + + _this.logger.info('Aurelia Started'); + var evt = _aureliaPal.DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true }); + _aureliaPal.DOM.dispatchEvent(evt); + return _this; + }); }; - if (typeof checkParentOrTarget === 'boolean') { - return deco(checkParentOrTarget); - } - return deco(true); - } - function parent(target, key, index) { - var params = getDecoratorDependencies(target, 'parent'); - params[index] = Parent.of(params[index]); - } + Aurelia.prototype.enhance = function enhance() { + var _this2 = this; - function factory(keyValue, asValue) { - return function (target, key, index) { - var params = getDecoratorDependencies(target, 'factory'); - var factory = Factory.of(keyValue); - params[index] = asValue ? factory.as(asValue) : factory; - }; - } + var bindingContext = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + var applicationHost = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; - function newInstance(asKeyOrTarget) { - for (var _len4 = arguments.length, dynamicDependencies = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { - dynamicDependencies[_key4 - 1] = arguments[_key4]; - } + this._configureHost(applicationHost || _aureliaPal.DOM.querySelectorAll('body')[0]); - var deco = function deco(asKey) { - return function (target, key, index) { - var params = getDecoratorDependencies(target, 'newInstance'); - params[index] = NewInstance.of.apply(NewInstance, [params[index]].concat(dynamicDependencies)); - if (!!asKey) { - params[index].as(asKey); - } - }; + return new Promise(function (resolve) { + var engine = _this2.container.get(_aureliaTemplating.TemplatingEngine); + _this2.root = engine.enhance({ container: _this2.container, element: _this2.host, resources: _this2.resources, bindingContext: bindingContext }); + _this2.root.attached(); + _this2._onAureliaComposed(); + resolve(_this2); + }); }; - if (arguments.length >= 1) { - return deco(asKeyOrTarget); - } - return deco(); - } - function invoker(value) { - return function (target) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.invoker, value, target); - }; - } + Aurelia.prototype.setRoot = function setRoot() { + var _this3 = this; - function invokeAsFactory(potentialTarget) { - var deco = function deco(target) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.invoker, FactoryInvoker.instance, target); - }; + var root = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; + var applicationHost = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; - return potentialTarget ? deco(potentialTarget) : deco; - } + var instruction = {}; - var FactoryInvoker = exports.FactoryInvoker = function () { - function FactoryInvoker() { - - } + if (this.root && this.root.viewModel && this.root.viewModel.router) { + this.root.viewModel.router.deactivate(); + this.root.viewModel.router.reset(); + } - FactoryInvoker.prototype.invoke = function invoke(container, fn, dependencies) { - var i = dependencies.length; - var args = new Array(i); + this._configureHost(applicationHost); - while (i--) { - args[i] = container.get(dependencies[i]); + var engine = this.container.get(_aureliaTemplating.TemplatingEngine); + var transaction = this.container.get(_aureliaTemplating.CompositionTransaction); + delete transaction.initialComposition; + + if (!root) { + if (this.configModuleId) { + root = (0, _aureliaPath.relativeToFile)('./app', this.configModuleId); + } else { + root = 'app'; + } } - return fn.apply(undefined, args); - }; + instruction.viewModel = root; + instruction.container = instruction.childContainer = this.container; + instruction.viewSlot = this.hostSlot; + instruction.host = this.host; - FactoryInvoker.prototype.invokeWithDynamicDependencies = function invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) { - var i = staticDependencies.length; - var args = new Array(i); + return engine.compose(instruction).then(function (r) { + _this3.root = r; + instruction.viewSlot.attached(); + _this3._onAureliaComposed(); + return _this3; + }); + }; - while (i--) { - args[i] = container.get(staticDependencies[i]); + Aurelia.prototype._configureHost = function _configureHost(applicationHost) { + if (this.hostConfigured) { + return; } + applicationHost = applicationHost || this.host; - if (dynamicDependencies !== undefined) { - args = args.concat(dynamicDependencies); + if (!applicationHost || typeof applicationHost === 'string') { + this.host = _aureliaPal.DOM.getElementById(applicationHost || 'applicationHost'); + } else { + this.host = applicationHost; } - return fn.apply(undefined, args); + if (!this.host) { + throw new Error('No applicationHost was specified.'); + } + + this.hostConfigured = true; + this.host.aurelia = this; + this.hostSlot = new _aureliaTemplating.ViewSlot(this.host, true); + this.hostSlot.transformChildNodesIntoView(); + this.container.registerInstance(_aureliaPal.DOM.boundary, this.host); }; - return FactoryInvoker; + Aurelia.prototype._onAureliaComposed = function _onAureliaComposed() { + var evt = _aureliaPal.DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true }); + setTimeout(function () { + return _aureliaPal.DOM.dispatchEvent(evt); + }, 1); + }; + + return Aurelia; }(); - FactoryInvoker.instance = new FactoryInvoker(); + var logger = TheLogManager.getLogger('aurelia'); + var extPattern = /\.[^/.]+$/; - function registration(value) { - return function (target) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.registration, value, target); + function runTasks(config, tasks) { + var current = void 0; + var next = function next() { + current = tasks.shift(); + if (current) { + return Promise.resolve(current(config)).then(next); + } + + return Promise.resolve(); }; - } - function transient(key) { - return registration(new TransientRegistration(key)); + return next(); } - function singleton(keyOrRegisterInChild) { - var registerInChild = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + function loadPlugin(config, loader, info) { + logger.debug('Loading plugin ' + info.moduleId + '.'); + config.resourcesRelativeTo = info.resourcesRelativeTo; - return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild)); - } + var id = info.moduleId; - var TransientRegistration = exports.TransientRegistration = function () { - function TransientRegistration(key) { - + if (info.resourcesRelativeTo.length > 1) { + return loader.normalize(info.moduleId, info.resourcesRelativeTo[1]).then(function (normalizedId) { + return _loadPlugin(normalizedId); + }); + } - this._key = key; + return _loadPlugin(id); + + function _loadPlugin(moduleId) { + return loader.loadModule(moduleId).then(function (m) { + if ('configure' in m) { + return Promise.resolve(m.configure(config, info.config || {})).then(function () { + config.resourcesRelativeTo = null; + logger.debug('Configured plugin ' + info.moduleId + '.'); + }); + } + + config.resourcesRelativeTo = null; + logger.debug('Loaded plugin ' + info.moduleId + '.'); + }); } + } - TransientRegistration.prototype.registerResolver = function registerResolver(container, key, fn) { - var existingResolver = container.getResolver(this._key || key); - return existingResolver === undefined ? container.registerTransient(this._key || key, fn) : existingResolver; - }; + function loadResources(aurelia, resourcesToLoad, appResources) { + var viewEngine = aurelia.container.get(_aureliaTemplating.ViewEngine); - return TransientRegistration; - }(); + return Promise.all(Object.keys(resourcesToLoad).map(function (n) { + return _normalize(resourcesToLoad[n]); + })).then(function (loads) { + var names = []; + var importIds = []; - var SingletonRegistration = exports.SingletonRegistration = function () { - function SingletonRegistration(keyOrRegisterInChild) { - var registerInChild = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + loads.forEach(function (l) { + names.push(undefined); + importIds.push(l.importId); + }); - + return viewEngine.importViewResources(importIds, names, appResources); + }); - if (typeof keyOrRegisterInChild === 'boolean') { - this._registerInChild = keyOrRegisterInChild; - } else { - this._key = keyOrRegisterInChild; - this._registerInChild = registerInChild; + function _normalize(load) { + var moduleId = load.moduleId; + var ext = getExt(moduleId); + + if (isOtherResource(moduleId)) { + moduleId = removeExt(moduleId); } + + return aurelia.loader.normalize(moduleId, load.relativeTo).then(function (normalized) { + return { + name: load.moduleId, + importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized + }; + }); } - SingletonRegistration.prototype.registerResolver = function registerResolver(container, key, fn) { - var targetContainer = this._registerInChild ? container : container.root; - var existingResolver = targetContainer.getResolver(this._key || key); - return existingResolver === undefined ? targetContainer.registerSingleton(this._key || key, fn) : existingResolver; - }; + function isOtherResource(name) { + var ext = getExt(name); + if (!ext) return false; + if (ext === '') return false; + if (ext === '.js' || ext === '.ts') return false; + return true; + } - return SingletonRegistration; - }(); + function removeExt(name) { + return name.replace(extPattern, ''); + } - function validateKey(key) { - if (key === null || key === undefined) { - throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\'t exist with DI?'); + function addOriginalExt(normalized, ext) { + return removeExt(normalized) + '.' + ext; } } - var _emptyParameters = exports._emptyParameters = Object.freeze([]); - _aureliaMetadata.metadata.registration = 'aurelia:registration'; - _aureliaMetadata.metadata.invoker = 'aurelia:invoker'; + function getExt(name) { + var match = name.match(extPattern); + if (match && match.length > 0) { + return match[0].split('.')[1]; + } + } - var resolverDecorates = resolver.decorates; + function assertProcessed(plugins) { + if (plugins.processed) { + throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.'); + } + } + + var FrameworkConfiguration = function () { + function FrameworkConfiguration(aurelia) { + var _this4 = this; - var InvocationHandler = exports.InvocationHandler = function () { - function InvocationHandler(fn, invoker, dependencies) { - this.fn = fn; - this.invoker = invoker; - this.dependencies = dependencies; + this.aurelia = aurelia; + this.container = aurelia.container; + this.info = []; + this.processed = false; + this.preTasks = []; + this.postTasks = []; + this.resourcesToLoad = {}; + this.preTask(function () { + return aurelia.loader.normalize('aurelia-bootstrapper').then(function (name) { + return _this4.bootstrapperName = name; + }); + }); + this.postTask(function () { + return loadResources(aurelia, _this4.resourcesToLoad, aurelia.resources); + }); } - InvocationHandler.prototype.invoke = function invoke(container, dynamicDependencies) { - return dynamicDependencies !== undefined ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies) : this.invoker.invoke(container, this.fn, this.dependencies); + FrameworkConfiguration.prototype.instance = function instance(type, _instance) { + this.container.registerInstance(type, _instance); + return this; }; - return InvocationHandler; - }(); - - function invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) { - var i = staticDependencies.length; - var args = new Array(i); + FrameworkConfiguration.prototype.singleton = function singleton(type, implementation) { + this.container.registerSingleton(type, implementation); + return this; + }; - while (i--) { - args[i] = container.get(staticDependencies[i]); - } + FrameworkConfiguration.prototype.transient = function transient(type, implementation) { + this.container.registerTransient(type, implementation); + return this; + }; - if (dynamicDependencies !== undefined) { - args = args.concat(dynamicDependencies); - } + FrameworkConfiguration.prototype.preTask = function preTask(task) { + assertProcessed(this); + this.preTasks.push(task); + return this; + }; - return Reflect.construct(fn, args); - } + FrameworkConfiguration.prototype.postTask = function postTask(task) { + assertProcessed(this); + this.postTasks.push(task); + return this; + }; - var classInvokers = (_classInvokers = {}, _classInvokers[0] = { - invoke: function invoke(container, Type) { - return new Type(); - }, + FrameworkConfiguration.prototype.feature = function feature(plugin, config) { + if (getExt(plugin)) { + return this.plugin({ moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: config || {} }); + } - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers[1] = { - invoke: function invoke(container, Type, deps) { - return new Type(container.get(deps[0])); - }, + return this.plugin({ moduleId: plugin + '/index', resourcesRelativeTo: [plugin, ''], config: config || {} }); + }; - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers[2] = { - invoke: function invoke(container, Type, deps) { - return new Type(container.get(deps[0]), container.get(deps[1])); - }, + FrameworkConfiguration.prototype.globalResources = function globalResources(resources) { + assertProcessed(this); - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers[3] = { - invoke: function invoke(container, Type, deps) { - return new Type(container.get(deps[0]), container.get(deps[1]), container.get(deps[2])); - }, + var toAdd = Array.isArray(resources) ? resources : arguments; + var resource = void 0; + var resourcesRelativeTo = this.resourcesRelativeTo || ['', '']; - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers[4] = { - invoke: function invoke(container, Type, deps) { - return new Type(container.get(deps[0]), container.get(deps[1]), container.get(deps[2]), container.get(deps[3])); - }, + for (var i = 0, ii = toAdd.length; i < ii; ++i) { + resource = toAdd[i]; + if (typeof resource !== 'string') { + throw new Error('Invalid resource path [' + resource + ']. Resources must be specified as relative module IDs.'); + } - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers[5] = { - invoke: function invoke(container, Type, deps) { - return new Type(container.get(deps[0]), container.get(deps[1]), container.get(deps[2]), container.get(deps[3]), container.get(deps[4])); - }, + var parent = resourcesRelativeTo[0]; + var grandParent = resourcesRelativeTo[1]; + var name = resource; - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers.fallback = { - invoke: invokeWithDynamicDependencies, - invokeWithDynamicDependencies: invokeWithDynamicDependencies - }, _classInvokers); + if ((resource.startsWith('./') || resource.startsWith('../')) && parent !== '') { + name = (0, _aureliaPath.join)(parent, resource); + } - function getDependencies(f) { - if (!f.hasOwnProperty('inject')) { - return []; - } + this.resourcesToLoad[name] = { moduleId: name, relativeTo: grandParent }; + } - if (typeof f.inject === 'function') { - return f.inject(); - } + return this; + }; - return f.inject; - } + FrameworkConfiguration.prototype.globalName = function globalName(resourcePath, newName) { + assertProcessed(this); + this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' }; + return this; + }; - var Container = exports.Container = function () { - function Container(configuration) { - + FrameworkConfiguration.prototype.plugin = function plugin(_plugin, config) { + assertProcessed(this); - if (configuration === undefined) { - configuration = {}; + if (typeof _plugin === 'string') { + return this.plugin({ moduleId: _plugin, resourcesRelativeTo: [_plugin, ''], config: config || {} }); } - this._configuration = configuration; - this._onHandlerCreated = configuration.onHandlerCreated; - this._handlers = configuration.handlers || (configuration.handlers = new Map()); - this._resolvers = new Map(); - this.root = this; - this.parent = null; - } + this.info.push(_plugin); + return this; + }; + + FrameworkConfiguration.prototype._addNormalizedPlugin = function _addNormalizedPlugin(name, config) { + var _this5 = this; + + var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} }; + this.plugin(plugin); + + this.preTask(function () { + var relativeTo = [name, _this5.bootstrapperName]; + plugin.moduleId = name; + plugin.resourcesRelativeTo = relativeTo; + return Promise.resolve(); + }); - Container.prototype.makeGlobal = function makeGlobal() { - Container.instance = this; return this; }; - Container.prototype.setHandlerCreatedCallback = function setHandlerCreatedCallback(onHandlerCreated) { - this._onHandlerCreated = onHandlerCreated; - this._configuration.onHandlerCreated = onHandlerCreated; + FrameworkConfiguration.prototype.defaultBindingLanguage = function defaultBindingLanguage() { + return this._addNormalizedPlugin('aurelia-templating-binding'); }; - Container.prototype.registerInstance = function registerInstance(key, instance) { - return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance)); + FrameworkConfiguration.prototype.router = function router() { + return this._addNormalizedPlugin('aurelia-templating-router'); }; - Container.prototype.registerSingleton = function registerSingleton(key, fn) { - return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn)); + FrameworkConfiguration.prototype.history = function history() { + return this._addNormalizedPlugin('aurelia-history-browser'); }; - Container.prototype.registerTransient = function registerTransient(key, fn) { - return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn)); + FrameworkConfiguration.prototype.defaultResources = function defaultResources() { + return this._addNormalizedPlugin('aurelia-templating-resources'); }; - Container.prototype.registerHandler = function registerHandler(key, handler) { - return this.registerResolver(key, new StrategyResolver(3, handler)); + FrameworkConfiguration.prototype.eventAggregator = function eventAggregator() { + return this._addNormalizedPlugin('aurelia-event-aggregator'); }; - Container.prototype.registerAlias = function registerAlias(originalKey, aliasKey) { - return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey)); + FrameworkConfiguration.prototype.basicConfiguration = function basicConfiguration() { + return this.defaultBindingLanguage().defaultResources().eventAggregator(); }; - Container.prototype.registerResolver = function registerResolver(key, resolver) { - validateKey(key); + FrameworkConfiguration.prototype.standardConfiguration = function standardConfiguration() { + return this.basicConfiguration().history().router(); + }; - var allResolvers = this._resolvers; - var result = allResolvers.get(key); + FrameworkConfiguration.prototype.developmentLogging = function developmentLogging() { + var _this6 = this; - if (result === undefined) { - allResolvers.set(key, resolver); - } else if (result.strategy === 4) { - result.state.push(resolver); - } else { - allResolvers.set(key, new StrategyResolver(4, [result, resolver])); + this.preTask(function () { + return _this6.aurelia.loader.normalize('aurelia-logging-console', _this6.bootstrapperName).then(function (name) { + return _this6.aurelia.loader.loadModule(name).then(function (m) { + TheLogManager.addAppender(new m.ConsoleAppender()); + TheLogManager.setLevel(TheLogManager.logLevel.debug); + }); + }); + }); + + return this; + }; + + FrameworkConfiguration.prototype.apply = function apply() { + var _this7 = this; + + if (this.processed) { + return Promise.resolve(); } - return resolver; + return runTasks(this, this.preTasks).then(function () { + var loader = _this7.aurelia.loader; + var info = _this7.info; + var current = void 0; + + var next = function next() { + current = info.shift(); + if (current) { + return loadPlugin(_this7, loader, current).then(next); + } + + _this7.processed = true; + return Promise.resolve(); + }; + + return next().then(function () { + return runTasks(_this7, _this7.postTasks); + }); + }); }; - Container.prototype.autoRegister = function autoRegister(key, fn) { - fn = fn === undefined ? key : fn; + return FrameworkConfiguration; + }(); - if (typeof fn === 'function') { - var _registration = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.registration, fn); + exports.FrameworkConfiguration = FrameworkConfiguration; + var LogManager = exports.LogManager = TheLogManager; +}); +define('aurelia-bootstrapper',['exports', 'aurelia-pal', 'aurelia-pal-browser', 'aurelia-polyfills'], function (exports, _aureliaPal, _aureliaPalBrowser) { + 'use strict'; - if (_registration === undefined) { - return this.registerResolver(key, new StrategyResolver(1, fn)); - } + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.bootstrap = bootstrap; - return _registration.registerResolver(this, key, fn); + + var bootstrapQueue = []; + var sharedLoader = null; + var Aurelia = null; + + function onBootstrap(callback) { + return new Promise(function (resolve, reject) { + if (sharedLoader) { + resolve(callback(sharedLoader)); + } else { + bootstrapQueue.push(function () { + try { + resolve(callback(sharedLoader)); + } catch (e) { + reject(e); + } + }); } + }); + } - return this.registerResolver(key, new StrategyResolver(0, fn)); - }; + function ready(global) { + return new Promise(function (resolve, reject) { + if (global.document.readyState === 'complete') { + resolve(global.document); + } else { + global.document.addEventListener('DOMContentLoaded', completed); + global.addEventListener('load', completed); + } - Container.prototype.autoRegisterAll = function autoRegisterAll(fns) { - var i = fns.length; - while (i--) { - this.autoRegister(fns[i]); + function completed() { + global.document.removeEventListener('DOMContentLoaded', completed); + global.removeEventListener('load', completed); + resolve(global.document); } - }; + }); + } + + function createLoader() { + if (_aureliaPal.PLATFORM.Loader) { + return Promise.resolve(new _aureliaPal.PLATFORM.Loader()); + } + + if (window.System && typeof window.System.import === 'function') { + return System.normalize('aurelia-bootstrapper').then(function (bootstrapperName) { + return System.normalize('aurelia-loader-default', bootstrapperName); + }).then(function (loaderName) { + return System.import(loaderName).then(function (m) { + return new m.DefaultLoader(); + }); + }); + } + + if (typeof window.require === 'function') { + return new Promise(function (resolve, reject) { + return require(['aurelia-loader-default'], function (m) { + return resolve(new m.DefaultLoader()); + }, reject); + }); + } + + return Promise.reject('No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.'); + } + + function preparePlatform(loader) { + return loader.normalize('aurelia-bootstrapper').then(function (bootstrapperName) { + return loader.normalize('aurelia-framework', bootstrapperName).then(function (frameworkName) { + loader.map('aurelia-framework', frameworkName); + + return Promise.all([loader.normalize('aurelia-dependency-injection', frameworkName).then(function (diName) { + return loader.map('aurelia-dependency-injection', diName); + }), loader.normalize('aurelia-router', bootstrapperName).then(function (routerName) { + return loader.map('aurelia-router', routerName); + }), loader.normalize('aurelia-logging-console', bootstrapperName).then(function (loggingConsoleName) { + return loader.map('aurelia-logging-console', loggingConsoleName); + })]).then(function () { + return loader.loadModule(frameworkName).then(function (m) { + return Aurelia = m.Aurelia; + }); + }); + }); + }); + } + + function handleApp(loader, appHost) { + var moduleId = appHost.getAttribute('aurelia-app') || appHost.getAttribute('data-aurelia-app'); + return config(loader, appHost, moduleId); + } - Container.prototype.unregister = function unregister(key) { - this._resolvers.delete(key); - }; + function config(loader, appHost, configModuleId) { + var aurelia = new Aurelia(loader); + aurelia.host = appHost; + aurelia.configModuleId = configModuleId || null; - Container.prototype.hasResolver = function hasResolver(key) { - var checkParent = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + if (configModuleId) { + return loader.loadModule(configModuleId).then(function (customConfig) { + if (!customConfig.configure) { + throw new Error("Cannot initialize module '" + configModuleId + "' without a configure function."); + } - validateKey(key); + customConfig.configure(aurelia); + }); + } - return this._resolvers.has(key) || checkParent && this.parent !== null && this.parent.hasResolver(key, checkParent); - }; + aurelia.use.standardConfiguration().developmentLogging(); - Container.prototype.getResolver = function getResolver(key) { - return this._resolvers.get(key); - }; + return aurelia.start().then(function () { + return aurelia.setRoot(); + }); + } - Container.prototype.get = function get(key) { - validateKey(key); + function run() { + return ready(window).then(function (doc) { + (0, _aureliaPalBrowser.initialize)(); - if (key === Container) { - return this; - } + var appHost = doc.querySelectorAll('[aurelia-app],[data-aurelia-app]'); + return createLoader().then(function (loader) { + return preparePlatform(loader).then(function () { + for (var i = 0, ii = appHost.length; i < ii; ++i) { + handleApp(loader, appHost[i]).catch(console.error.bind(console)); + } - if (resolverDecorates(key)) { - return key.get(this, key); - } + sharedLoader = loader; + for (var _i = 0, _ii = bootstrapQueue.length; _i < _ii; ++_i) { + bootstrapQueue[_i](); + } + bootstrapQueue = null; + }); + }); + }); + } - var resolver = this._resolvers.get(key); + function bootstrap(configure) { + return onBootstrap(function (loader) { + var aurelia = new Aurelia(loader); + return configure(aurelia); + }); + } - if (resolver === undefined) { - if (this.parent === null) { - return this.autoRegister(key).get(this, key); - } + run(); +}); +define('aurelia-history',['exports'], function (exports) { + 'use strict'; - var _registration2 = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.registration, key); + Object.defineProperty(exports, "__esModule", { + value: true + }); - if (_registration2 === undefined) { - return this.parent._get(key); - } + - return _registration2.registerResolver(this, key, key).get(this, key); - } + function mi(name) { + throw new Error('History must implement ' + name + '().'); + } - return resolver.get(this, key); + var History = exports.History = function () { + function History() { + + } + + History.prototype.activate = function activate(options) { + mi('activate'); }; - Container.prototype._get = function _get(key) { - var resolver = this._resolvers.get(key); + History.prototype.deactivate = function deactivate() { + mi('deactivate'); + }; - if (resolver === undefined) { - if (this.parent === null) { - return this.autoRegister(key).get(this, key); - } + History.prototype.getAbsoluteRoot = function getAbsoluteRoot() { + mi('getAbsoluteRoot'); + }; - return this.parent._get(key); - } + History.prototype.navigate = function navigate(fragment, options) { + mi('navigate'); + }; - return resolver.get(this, key); + History.prototype.navigateBack = function navigateBack() { + mi('navigateBack'); }; - Container.prototype.getAll = function getAll(key) { - validateKey(key); + History.prototype.setTitle = function setTitle(title) { + mi('setTitle'); + }; - var resolver = this._resolvers.get(key); + return History; + }(); +}); +define('aurelia-loader',['exports', 'aurelia-path', 'aurelia-metadata'], function (exports, _aureliaPath, _aureliaMetadata) { + 'use strict'; - if (resolver === undefined) { - if (this.parent === null) { - return _emptyParameters; - } + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.Loader = exports.TemplateRegistryEntry = exports.TemplateDependency = undefined; - return this.parent.getAll(key); + var _createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); } + } - if (resolver.strategy === 4) { - var state = resolver.state; - var i = state.length; - var results = new Array(i); + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); - while (i--) { - results[i] = state[i].get(this, key); - } + - return results; - } + var TemplateDependency = exports.TemplateDependency = function TemplateDependency(src, name) { + - return [resolver.get(this, key)]; - }; + this.src = src; + this.name = name; + }; - Container.prototype.createChild = function createChild() { - var child = new Container(this._configuration); - child.root = this.root; - child.parent = this; - return child; - }; + var TemplateRegistryEntry = exports.TemplateRegistryEntry = function () { + function TemplateRegistryEntry(address) { + - Container.prototype.invoke = function invoke(fn, dynamicDependencies) { - try { - var _handler = this._handlers.get(fn); + this.templateIsLoaded = false; + this.factoryIsReady = false; + this.resources = null; + this.dependencies = null; - if (_handler === undefined) { - _handler = this._createInvocationHandler(fn); - this._handlers.set(fn, _handler); - } + this.address = address; + this.onReady = null; + this._template = null; + this._factory = null; + } - return _handler.invoke(this, dynamicDependencies); - } catch (e) { - throw new _aureliaPal.AggregateError('Error invoking ' + fn.name + '. Check the inner error for details.', e, true); - } + TemplateRegistryEntry.prototype.addDependency = function addDependency(src, name) { + var finalSrc = typeof src === 'string' ? (0, _aureliaPath.relativeToFile)(src, this.address) : _aureliaMetadata.Origin.get(src).moduleId; + + this.dependencies.push(new TemplateDependency(finalSrc, name)); }; - Container.prototype._createInvocationHandler = function _createInvocationHandler(fn) { - var dependencies = void 0; + _createClass(TemplateRegistryEntry, [{ + key: 'template', + get: function get() { + return this._template; + }, + set: function set(value) { + var address = this.address; + var requires = void 0; + var current = void 0; + var src = void 0; + var dependencies = void 0; - if (fn.inject === undefined) { - dependencies = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, fn) || _emptyParameters; - } else { - dependencies = []; - var ctor = fn; - while (typeof ctor === 'function') { - var _dependencies; + this._template = value; + this.templateIsLoaded = true; - (_dependencies = dependencies).push.apply(_dependencies, getDependencies(ctor)); - ctor = Object.getPrototypeOf(ctor); - } - } + requires = value.content.querySelectorAll('require'); + dependencies = this.dependencies = new Array(requires.length); - var invoker = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.invoker, fn) || classInvokers[dependencies.length] || classInvokers.fallback; + for (var i = 0, ii = requires.length; i < ii; ++i) { + current = requires[i]; + src = current.getAttribute('from'); - var handler = new InvocationHandler(fn, invoker, dependencies); - return this._onHandlerCreated !== undefined ? this._onHandlerCreated(handler) : handler; - }; + if (!src) { + throw new Error(' element in ' + address + ' has no "from" attribute.'); + } - return Container; - }(); + dependencies[i] = new TemplateDependency((0, _aureliaPath.relativeToFile)(src, address), current.getAttribute('as')); - function autoinject(potentialTarget) { - var deco = function deco(target) { - var previousInject = target.inject ? target.inject.slice() : null; - var autoInject = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, target) || _emptyParameters; - if (!previousInject) { - target.inject = autoInject; - } else { - for (var i = 0; i < autoInject.length; i++) { - if (previousInject[i] && previousInject[i] !== autoInject[i]) { - var prevIndex = previousInject.indexOf(autoInject[i]); - if (prevIndex > -1) { - previousInject.splice(prevIndex, 1); - } - previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { - previousInject[i] = autoInject[i]; + if (current.parentNode) { + current.parentNode.removeChild(current); } } - target.inject = previousInject; } - }; + }, { + key: 'factory', + get: function get() { + return this._factory; + }, + set: function set(value) { + this._factory = value; + this.factoryIsReady = true; + } + }]); - return potentialTarget ? deco(potentialTarget) : deco; - } + return TemplateRegistryEntry; + }(); - function inject() { - for (var _len5 = arguments.length, rest = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { - rest[_key5] = arguments[_key5]; - } + var Loader = exports.Loader = function () { + function Loader() { + - return function (target, key, descriptor) { - if (typeof descriptor === 'number' && rest.length === 1) { - var params = target.inject; - if (typeof params === 'function') { - throw new Error('Decorator inject cannot be used with "inject()". Please use an array instead.'); - } - if (!params) { - params = _aureliaMetadata.metadata.getOwn(_aureliaMetadata.metadata.paramTypes, target).slice(); - target.inject = params; - } - params[descriptor] = rest[0]; - return; - } + this.templateRegistry = {}; + } - if (descriptor) { - var _fn = descriptor.value; - _fn.inject = rest; - } else { - target.inject = rest; - } + Loader.prototype.map = function map(id, source) { + throw new Error('Loaders must implement map(id, source).'); }; - } -}); -define('aurelia-history',['exports'], function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - + Loader.prototype.normalizeSync = function normalizeSync(moduleId, relativeTo) { + throw new Error('Loaders must implement normalizeSync(moduleId, relativeTo).'); + }; - function mi(name) { - throw new Error('History must implement ' + name + '().'); - } + Loader.prototype.normalize = function normalize(moduleId, relativeTo) { + throw new Error('Loaders must implement normalize(moduleId: string, relativeTo: string): Promise.'); + }; - var History = exports.History = function () { - function History() { - - } + Loader.prototype.loadModule = function loadModule(id) { + throw new Error('Loaders must implement loadModule(id).'); + }; - History.prototype.activate = function activate(options) { - mi('activate'); + Loader.prototype.loadAllModules = function loadAllModules(ids) { + throw new Error('Loader must implement loadAllModules(ids).'); }; - History.prototype.deactivate = function deactivate() { - mi('deactivate'); + Loader.prototype.loadTemplate = function loadTemplate(url) { + throw new Error('Loader must implement loadTemplate(url).'); }; - History.prototype.getAbsoluteRoot = function getAbsoluteRoot() { - mi('getAbsoluteRoot'); + Loader.prototype.loadText = function loadText(url) { + throw new Error('Loader must implement loadText(url).'); }; - History.prototype.navigate = function navigate(fragment, options) { - mi('navigate'); + Loader.prototype.applyPluginToUrl = function applyPluginToUrl(url, pluginName) { + throw new Error('Loader must implement applyPluginToUrl(url, pluginName).'); }; - History.prototype.navigateBack = function navigateBack() { - mi('navigateBack'); + Loader.prototype.addPlugin = function addPlugin(pluginName, implementation) { + throw new Error('Loader must implement addPlugin(pluginName, implementation).'); }; - History.prototype.setTitle = function setTitle(title) { - mi('setTitle'); + Loader.prototype.getOrCreateTemplateRegistryEntry = function getOrCreateTemplateRegistryEntry(address) { + return this.templateRegistry[address] || (this.templateRegistry[address] = new TemplateRegistryEntry(address)); }; - return History; + return Loader; }(); }); define('aurelia-history-browser',['exports', 'aurelia-pal', 'aurelia-history'], function (exports, _aureliaPal, _aureliaHistory) { @@ -13781,185 +13934,32 @@ define('aurelia-history-browser',['exports', 'aurelia-pal', 'aurelia-history'], BrowserHistory.prototype._loadUrl = function _loadUrl(fragmentOverride) { var fragment = this.fragment = this._getFragment(fragmentOverride); - return this.options.routeHandler ? this.options.routeHandler(fragment) : false; - }; - - return BrowserHistory; - }(_aureliaHistory.History), _class.inject = [LinkHandler], _temp); - - var routeStripper = /^#?\/*|\s+$/g; - - var rootStripper = /^\/+|\/+$/g; - - var trailingSlash = /\/$/; - - var absoluteUrl = /^([a-z][a-z0-9+\-.]*:)?\/\//i; - - function updateHash(location, fragment, replace) { - if (replace) { - var _href = location.href.replace(/(javascript:|#).*$/, ''); - location.replace(_href + '#' + fragment); - } else { - location.hash = '#' + fragment; - } - } - - function createOrigin(protocol, hostname, port) { - return protocol + '//' + hostname + (port ? ':' + port : ''); - } -}); -define('aurelia-loader',['exports', 'aurelia-path', 'aurelia-metadata'], function (exports, _aureliaPath, _aureliaMetadata) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Loader = exports.TemplateRegistryEntry = exports.TemplateDependency = undefined; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - - - var TemplateDependency = exports.TemplateDependency = function TemplateDependency(src, name) { - - - this.src = src; - this.name = name; - }; - - var TemplateRegistryEntry = exports.TemplateRegistryEntry = function () { - function TemplateRegistryEntry(address) { - - - this.templateIsLoaded = false; - this.factoryIsReady = false; - this.resources = null; - this.dependencies = null; - - this.address = address; - this.onReady = null; - this._template = null; - this._factory = null; - } - - TemplateRegistryEntry.prototype.addDependency = function addDependency(src, name) { - var finalSrc = typeof src === 'string' ? (0, _aureliaPath.relativeToFile)(src, this.address) : _aureliaMetadata.Origin.get(src).moduleId; - - this.dependencies.push(new TemplateDependency(finalSrc, name)); - }; - - _createClass(TemplateRegistryEntry, [{ - key: 'template', - get: function get() { - return this._template; - }, - set: function set(value) { - var address = this.address; - var requires = void 0; - var current = void 0; - var src = void 0; - var dependencies = void 0; - - this._template = value; - this.templateIsLoaded = true; - - requires = value.content.querySelectorAll('require'); - dependencies = this.dependencies = new Array(requires.length); - - for (var i = 0, ii = requires.length; i < ii; ++i) { - current = requires[i]; - src = current.getAttribute('from'); - - if (!src) { - throw new Error(' element in ' + address + ' has no "from" attribute.'); - } - - dependencies[i] = new TemplateDependency((0, _aureliaPath.relativeToFile)(src, address), current.getAttribute('as')); - - if (current.parentNode) { - current.parentNode.removeChild(current); - } - } - } - }, { - key: 'factory', - get: function get() { - return this._factory; - }, - set: function set(value) { - this._factory = value; - this.factoryIsReady = true; - } - }]); - - return TemplateRegistryEntry; - }(); - - var Loader = exports.Loader = function () { - function Loader() { - - - this.templateRegistry = {}; - } - - Loader.prototype.map = function map(id, source) { - throw new Error('Loaders must implement map(id, source).'); - }; - - Loader.prototype.normalizeSync = function normalizeSync(moduleId, relativeTo) { - throw new Error('Loaders must implement normalizeSync(moduleId, relativeTo).'); - }; - - Loader.prototype.normalize = function normalize(moduleId, relativeTo) { - throw new Error('Loaders must implement normalize(moduleId: string, relativeTo: string): Promise.'); - }; - - Loader.prototype.loadModule = function loadModule(id) { - throw new Error('Loaders must implement loadModule(id).'); - }; - - Loader.prototype.loadAllModules = function loadAllModules(ids) { - throw new Error('Loader must implement loadAllModules(ids).'); - }; - - Loader.prototype.loadTemplate = function loadTemplate(url) { - throw new Error('Loader must implement loadTemplate(url).'); + return this.options.routeHandler ? this.options.routeHandler(fragment) : false; }; - Loader.prototype.loadText = function loadText(url) { - throw new Error('Loader must implement loadText(url).'); - }; + return BrowserHistory; + }(_aureliaHistory.History), _class.inject = [LinkHandler], _temp); - Loader.prototype.applyPluginToUrl = function applyPluginToUrl(url, pluginName) { - throw new Error('Loader must implement applyPluginToUrl(url, pluginName).'); - }; + var routeStripper = /^#?\/*|\s+$/g; - Loader.prototype.addPlugin = function addPlugin(pluginName, implementation) { - throw new Error('Loader must implement addPlugin(pluginName, implementation).'); - }; + var rootStripper = /^\/+|\/+$/g; - Loader.prototype.getOrCreateTemplateRegistryEntry = function getOrCreateTemplateRegistryEntry(address) { - return this.templateRegistry[address] || (this.templateRegistry[address] = new TemplateRegistryEntry(address)); - }; + var trailingSlash = /\/$/; - return Loader; - }(); + var absoluteUrl = /^([a-z][a-z0-9+\-.]*:)?\/\//i; + + function updateHash(location, fragment, replace) { + if (replace) { + var _href = location.href.replace(/(javascript:|#).*$/, ''); + location.replace(_href + '#' + fragment); + } else { + location.hash = '#' + fragment; + } + } + + function createOrigin(protocol, hostname, port) { + return protocol + '//' + hostname + (port ? ':' + port : ''); + } }); define('aurelia-loader-default',['exports', 'aurelia-loader', 'aurelia-pal', 'aurelia-metadata'], function (exports, _aureliaLoader, _aureliaPal, _aureliaMetadata) { 'use strict'; @@ -14180,245 +14180,44 @@ define('aurelia-loader-default',['exports', 'aurelia-loader', 'aurelia-pal', 'au return Promise.resolve(existing); } - return System.import(newId).then(function (m) { - _this3.moduleRegistry[newId] = m; - return ensureOriginOnExports(m, newId); - }); - }); - }; - - DefaultLoader.prototype.map = function (id, source) { - System.map[id] = source; - }; - - DefaultLoader.prototype.normalizeSync = function (moduleId, relativeTo) { - return System.normalizeSync(moduleId, relativeTo); - }; - - DefaultLoader.prototype.normalize = function (moduleId, relativeTo) { - return System.normalize(moduleId, relativeTo); - }; - - DefaultLoader.prototype.applyPluginToUrl = function (url, pluginName) { - return url + '!' + pluginName; - }; - - DefaultLoader.prototype.addPlugin = function (pluginName, implementation) { - System.set(pluginName, System.newModule({ - 'fetch': function fetch(load, _fetch) { - var result = implementation.fetch(load.address); - return Promise.resolve(result).then(function (x) { - load.metadata.result = x; - return ''; - }); - }, - 'instantiate': function instantiate(load) { - return load.metadata.result; - } - })); - }; - } -}); -define('aurelia-logging',['exports'], function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.getLogger = getLogger; - exports.addAppender = addAppender; - exports.setLevel = setLevel; - exports.getLevel = getLevel; - - - - var logLevel = exports.logLevel = { - none: 0, - error: 1, - warn: 2, - info: 3, - debug: 4 - }; - - var loggers = {}; - var appenders = []; - var slice = Array.prototype.slice; - var loggerConstructionKey = {}; - var globalDefaultLevel = logLevel.none; - - function log(logger, level, args) { - var i = appenders.length; - var current = void 0; - - args = slice.call(args); - args.unshift(logger); - - while (i--) { - current = appenders[i]; - current[level].apply(current, args); - } - } - - function debug() { - if (this.level < 4) { - return; - } - - log(this, 'debug', arguments); - } - - function info() { - if (this.level < 3) { - return; - } - - log(this, 'info', arguments); - } - - function warn() { - if (this.level < 2) { - return; - } - - log(this, 'warn', arguments); - } - - function error() { - if (this.level < 1) { - return; - } - - log(this, 'error', arguments); - } - - function connectLogger(logger) { - logger.debug = debug; - logger.info = info; - logger.warn = warn; - logger.error = error; - } - - function createLogger(id) { - var logger = new Logger(id, loggerConstructionKey); - logger.setLevel(globalDefaultLevel); - - if (appenders.length) { - connectLogger(logger); - } - - return logger; - } - - function getLogger(id) { - return loggers[id] || (loggers[id] = createLogger(id)); - } - - function addAppender(appender) { - appenders.push(appender); - - if (appenders.length === 1) { - for (var key in loggers) { - connectLogger(loggers[key]); - } - } - } - - function setLevel(level) { - globalDefaultLevel = level; - for (var key in loggers) { - loggers[key].setLevel(level); - } - } - - function getLevel() { - return globalDefaultLevel; - } - - var Logger = exports.Logger = function () { - function Logger(id, key) { - - - this.level = logLevel.none; - - if (key !== loggerConstructionKey) { - throw new Error('Cannot instantiate "Logger". Use "getLogger" instead.'); - } - - this.id = id; - } - - Logger.prototype.debug = function debug(message) {}; - - Logger.prototype.info = function info(message) {}; - - Logger.prototype.warn = function warn(message) {}; - - Logger.prototype.error = function error(message) {}; - - Logger.prototype.setLevel = function setLevel(level) { - this.level = level; - }; - - return Logger; - }(); -}); -define('aurelia-logging-console',['exports', 'aurelia-logging'], function (exports, _aureliaLogging) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.ConsoleAppender = undefined; - - - - var ConsoleAppender = exports.ConsoleAppender = function () { - function ConsoleAppender() { - - } - - ConsoleAppender.prototype.debug = function debug(logger) { - var _console; - - for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - rest[_key - 1] = arguments[_key]; - } - - (_console = console).debug.apply(_console, ['DEBUG [' + logger.id + ']'].concat(rest)); - }; - - ConsoleAppender.prototype.info = function info(logger) { - var _console2; - - for (var _len2 = arguments.length, rest = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - rest[_key2 - 1] = arguments[_key2]; - } - - (_console2 = console).info.apply(_console2, ['INFO [' + logger.id + ']'].concat(rest)); - }; - - ConsoleAppender.prototype.warn = function warn(logger) { - var _console3; - - for (var _len3 = arguments.length, rest = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { - rest[_key3 - 1] = arguments[_key3]; - } + return System.import(newId).then(function (m) { + _this3.moduleRegistry[newId] = m; + return ensureOriginOnExports(m, newId); + }); + }); + }; - (_console3 = console).warn.apply(_console3, ['WARN [' + logger.id + ']'].concat(rest)); + DefaultLoader.prototype.map = function (id, source) { + System.map[id] = source; }; - ConsoleAppender.prototype.error = function error(logger) { - var _console4; + DefaultLoader.prototype.normalizeSync = function (moduleId, relativeTo) { + return System.normalizeSync(moduleId, relativeTo); + }; - for (var _len4 = arguments.length, rest = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { - rest[_key4 - 1] = arguments[_key4]; - } + DefaultLoader.prototype.normalize = function (moduleId, relativeTo) { + return System.normalize(moduleId, relativeTo); + }; - (_console4 = console).error.apply(_console4, ['ERROR [' + logger.id + ']'].concat(rest)); + DefaultLoader.prototype.applyPluginToUrl = function (url, pluginName) { + return url + '!' + pluginName; }; - return ConsoleAppender; - }(); + DefaultLoader.prototype.addPlugin = function (pluginName, implementation) { + System.set(pluginName, System.newModule({ + 'fetch': function fetch(load, _fetch) { + var result = implementation.fetch(load.address); + return Promise.resolve(result).then(function (x) { + load.metadata.result = x; + return ''; + }); + }, + 'instantiate': function instantiate(load) { + return load.metadata.result; + } + })); + }; + } }); define('aurelia-metadata',['exports', 'aurelia-pal'], function (exports, _aureliaPal) { 'use strict'; @@ -14774,37 +14573,238 @@ define('aurelia-pal',['exports'], function (exports) { return self; } - if (typeof global !== 'undefined') { - return global; + if (typeof global !== 'undefined') { + return global; + } + + return new Function('return this')(); + }(); + + var DOM = exports.DOM = {}; + var isInitialized = exports.isInitialized = false; + function initializePAL(callback) { + if (isInitialized) { + return; + } + exports.isInitialized = isInitialized = true; + if (typeof Object.getPropertyDescriptor !== 'function') { + Object.getPropertyDescriptor = function (subject, name) { + var pd = Object.getOwnPropertyDescriptor(subject, name); + var proto = Object.getPrototypeOf(subject); + while (typeof pd === 'undefined' && proto !== null) { + pd = Object.getOwnPropertyDescriptor(proto, name); + proto = Object.getPrototypeOf(proto); + } + return pd; + }; + } + + callback(PLATFORM, FEATURE, DOM); + } + function reset() { + exports.isInitialized = isInitialized = false; + } +}); +define('aurelia-logging-console',['exports', 'aurelia-logging'], function (exports, _aureliaLogging) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ConsoleAppender = undefined; + + + + var ConsoleAppender = exports.ConsoleAppender = function () { + function ConsoleAppender() { + + } + + ConsoleAppender.prototype.debug = function debug(logger) { + var _console; + + for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + rest[_key - 1] = arguments[_key]; + } + + (_console = console).debug.apply(_console, ['DEBUG [' + logger.id + ']'].concat(rest)); + }; + + ConsoleAppender.prototype.info = function info(logger) { + var _console2; + + for (var _len2 = arguments.length, rest = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + rest[_key2 - 1] = arguments[_key2]; + } + + (_console2 = console).info.apply(_console2, ['INFO [' + logger.id + ']'].concat(rest)); + }; + + ConsoleAppender.prototype.warn = function warn(logger) { + var _console3; + + for (var _len3 = arguments.length, rest = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { + rest[_key3 - 1] = arguments[_key3]; + } + + (_console3 = console).warn.apply(_console3, ['WARN [' + logger.id + ']'].concat(rest)); + }; + + ConsoleAppender.prototype.error = function error(logger) { + var _console4; + + for (var _len4 = arguments.length, rest = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + rest[_key4 - 1] = arguments[_key4]; + } + + (_console4 = console).error.apply(_console4, ['ERROR [' + logger.id + ']'].concat(rest)); + }; + + return ConsoleAppender; + }(); +}); +define('aurelia-logging',['exports'], function (exports) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.getLogger = getLogger; + exports.addAppender = addAppender; + exports.setLevel = setLevel; + exports.getLevel = getLevel; + + + + var logLevel = exports.logLevel = { + none: 0, + error: 1, + warn: 2, + info: 3, + debug: 4 + }; + + var loggers = {}; + var appenders = []; + var slice = Array.prototype.slice; + var loggerConstructionKey = {}; + var globalDefaultLevel = logLevel.none; + + function log(logger, level, args) { + var i = appenders.length; + var current = void 0; + + args = slice.call(args); + args.unshift(logger); + + while (i--) { + current = appenders[i]; + current[level].apply(current, args); + } + } + + function debug() { + if (this.level < 4) { + return; + } + + log(this, 'debug', arguments); + } + + function info() { + if (this.level < 3) { + return; + } + + log(this, 'info', arguments); + } + + function warn() { + if (this.level < 2) { + return; + } + + log(this, 'warn', arguments); + } + + function error() { + if (this.level < 1) { + return; + } + + log(this, 'error', arguments); + } + + function connectLogger(logger) { + logger.debug = debug; + logger.info = info; + logger.warn = warn; + logger.error = error; + } + + function createLogger(id) { + var logger = new Logger(id, loggerConstructionKey); + logger.setLevel(globalDefaultLevel); + + if (appenders.length) { + connectLogger(logger); + } + + return logger; + } + + function getLogger(id) { + return loggers[id] || (loggers[id] = createLogger(id)); + } + + function addAppender(appender) { + appenders.push(appender); + + if (appenders.length === 1) { + for (var key in loggers) { + connectLogger(loggers[key]); + } + } + } + + function setLevel(level) { + globalDefaultLevel = level; + for (var key in loggers) { + loggers[key].setLevel(level); + } + } + + function getLevel() { + return globalDefaultLevel; + } + + var Logger = exports.Logger = function () { + function Logger(id, key) { + + + this.level = logLevel.none; + + if (key !== loggerConstructionKey) { + throw new Error('Cannot instantiate "Logger". Use "getLogger" instead.'); + } + + this.id = id; } - return new Function('return this')(); - }(); + Logger.prototype.debug = function debug(message) {}; - var DOM = exports.DOM = {}; - var isInitialized = exports.isInitialized = false; - function initializePAL(callback) { - if (isInitialized) { - return; - } - exports.isInitialized = isInitialized = true; - if (typeof Object.getPropertyDescriptor !== 'function') { - Object.getPropertyDescriptor = function (subject, name) { - var pd = Object.getOwnPropertyDescriptor(subject, name); - var proto = Object.getPrototypeOf(subject); - while (typeof pd === 'undefined' && proto !== null) { - pd = Object.getOwnPropertyDescriptor(proto, name); - proto = Object.getPrototypeOf(proto); - } - return pd; - }; - } + Logger.prototype.info = function info(message) {}; - callback(PLATFORM, FEATURE, DOM); - } - function reset() { - exports.isInitialized = isInitialized = false; - } + Logger.prototype.warn = function warn(message) {}; + + Logger.prototype.error = function error(message) {}; + + Logger.prototype.setLevel = function setLevel(level) { + this.level = level; + }; + + return Logger; + }(); }); define('aurelia-pal-browser',['exports', 'aurelia-pal'], function (exports, _aureliaPal) { 'use strict'; @@ -15291,245 +15291,30 @@ define('aurelia-pal-browser',['exports', 'aurelia-pal'], function (exports, _aur if (platform.global.console && _typeof(console.log) === 'object') { ['log', 'info', 'warn', 'error', 'assert', 'dir', 'clear', 'profile', 'profileEnd'].forEach(function (method) { console[method] = this.bind(console[method], console); - }, Function.prototype.call); - } - - Object.defineProperty(dom, 'title', { - get: function get() { - return document.title; - }, - set: function set(value) { - document.title = value; - } - }); - - Object.defineProperty(dom, 'activeElement', { - get: function get() { - return document.activeElement; - } - }); - - Object.defineProperty(platform, 'XMLHttpRequest', { - get: function get() { - return platform.global.XMLHttpRequest; - } - }); - }); - } -}); -define('aurelia-path',['exports'], function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.relativeToFile = relativeToFile; - exports.join = join; - exports.buildQueryString = buildQueryString; - exports.parseQueryString = parseQueryString; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; - }; - - function trimDots(ary) { - for (var i = 0; i < ary.length; ++i) { - var part = ary[i]; - if (part === '.') { - ary.splice(i, 1); - i -= 1; - } else if (part === '..') { - if (i === 0 || i === 1 && ary[2] === '..' || ary[i - 1] === '..') { - continue; - } else if (i > 0) { - ary.splice(i - 1, 2); - i -= 2; - } - } - } - } - - function relativeToFile(name, file) { - var fileParts = file && file.split('/'); - var nameParts = name.trim().split('/'); - - if (nameParts[0].charAt(0) === '.' && fileParts) { - var normalizedBaseParts = fileParts.slice(0, fileParts.length - 1); - nameParts.unshift.apply(nameParts, normalizedBaseParts); - } - - trimDots(nameParts); - - return nameParts.join('/'); - } - - function join(path1, path2) { - if (!path1) { - return path2; - } - - if (!path2) { - return path1; - } - - var schemeMatch = path1.match(/^([^/]*?:)\//); - var scheme = schemeMatch && schemeMatch.length > 0 ? schemeMatch[1] : ''; - path1 = path1.substr(scheme.length); - - var urlPrefix = void 0; - if (path1.indexOf('///') === 0 && scheme === 'file:') { - urlPrefix = '///'; - } else if (path1.indexOf('//') === 0) { - urlPrefix = '//'; - } else if (path1.indexOf('/') === 0) { - urlPrefix = '/'; - } else { - urlPrefix = ''; - } - - var trailingSlash = path2.slice(-1) === '/' ? '/' : ''; - - var url1 = path1.split('/'); - var url2 = path2.split('/'); - var url3 = []; - - for (var i = 0, ii = url1.length; i < ii; ++i) { - if (url1[i] === '..') { - url3.pop(); - } else if (url1[i] === '.' || url1[i] === '') { - continue; - } else { - url3.push(url1[i]); - } - } - - for (var _i = 0, _ii = url2.length; _i < _ii; ++_i) { - if (url2[_i] === '..') { - url3.pop(); - } else if (url2[_i] === '.' || url2[_i] === '') { - continue; - } else { - url3.push(url2[_i]); - } - } - - return scheme + urlPrefix + url3.join('/') + trailingSlash; - } - - var encode = encodeURIComponent; - var encodeKey = function encodeKey(k) { - return encode(k).replace('%24', '$'); - }; - - function buildParam(key, value, traditional) { - var result = []; - if (value === null || value === undefined) { - return result; - } - if (Array.isArray(value)) { - for (var i = 0, l = value.length; i < l; i++) { - if (traditional) { - result.push(encodeKey(key) + '=' + encode(value[i])); - } else { - var arrayKey = key + '[' + (_typeof(value[i]) === 'object' && value[i] !== null ? i : '') + ']'; - result = result.concat(buildParam(arrayKey, value[i])); - } - } - } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !traditional) { - for (var propertyName in value) { - result = result.concat(buildParam(key + '[' + propertyName + ']', value[propertyName])); - } - } else { - result.push(encodeKey(key) + '=' + encode(value)); - } - return result; - } - - function buildQueryString(params, traditional) { - var pairs = []; - var keys = Object.keys(params || {}).sort(); - for (var i = 0, len = keys.length; i < len; i++) { - var key = keys[i]; - pairs = pairs.concat(buildParam(key, params[key], traditional)); - } - - if (pairs.length === 0) { - return ''; - } - - return pairs.join('&'); - } - - function processScalarParam(existedParam, value) { - if (Array.isArray(existedParam)) { - existedParam.push(value); - return existedParam; - } - if (existedParam !== undefined) { - return [existedParam, value]; - } - - return value; - } - - function parseComplexParam(queryParams, keys, value) { - var currentParams = queryParams; - var keysLastIndex = keys.length - 1; - for (var j = 0; j <= keysLastIndex; j++) { - var key = keys[j] === '' ? currentParams.length : keys[j]; - if (j < keysLastIndex) { - var prevValue = !currentParams[key] || _typeof(currentParams[key]) === 'object' ? currentParams[key] : [currentParams[key]]; - currentParams = currentParams[key] = prevValue || (isNaN(keys[j + 1]) ? {} : []); - } else { - currentParams = currentParams[key] = value; - } - } - } - - function parseQueryString(queryString) { - var queryParams = {}; - if (!queryString || typeof queryString !== 'string') { - return queryParams; - } - - var query = queryString; - if (query.charAt(0) === '?') { - query = query.substr(1); - } - - var pairs = query.replace(/\+/g, ' ').split('&'); - for (var i = 0; i < pairs.length; i++) { - var pair = pairs[i].split('='); - var key = decodeURIComponent(pair[0]); - if (!key) { - continue; + }, Function.prototype.call); } - var keys = key.split(']['); - var keysLastIndex = keys.length - 1; + Object.defineProperty(dom, 'title', { + get: function get() { + return document.title; + }, + set: function set(value) { + document.title = value; + } + }); - if (/\[/.test(keys[0]) && /\]$/.test(keys[keysLastIndex])) { - keys[keysLastIndex] = keys[keysLastIndex].replace(/\]$/, ''); - keys = keys.shift().split('[').concat(keys); - keysLastIndex = keys.length - 1; - } else { - keysLastIndex = 0; - } + Object.defineProperty(dom, 'activeElement', { + get: function get() { + return document.activeElement; + } + }); - if (pair.length >= 2) { - var value = pair[1] ? decodeURIComponent(pair[1]) : ''; - if (keysLastIndex) { - parseComplexParam(queryParams, keys, value); - } else { - queryParams[key] = processScalarParam(queryParams[key], value); + Object.defineProperty(platform, 'XMLHttpRequest', { + get: function get() { + return platform.global.XMLHttpRequest; } - } else { - queryParams[key] = true; - } - } - return queryParams; + }); + }); } }); define('aurelia-polyfills',['aurelia-pal'], function (_aureliaPal) { @@ -16328,17 +16113,232 @@ define('aurelia-polyfills',['aurelia-pal'], function (_aureliaPal) { return new Target(args[0], args[1], args[2], args[3]); } } - - var a = [null]; - a.push.apply(a, args); - return new (bind.apply(Target, a))(); - }; - } - - if (typeof Reflect.ownKeys !== 'function') { - Reflect.ownKeys = function (o) { - return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o)); - }; + + var a = [null]; + a.push.apply(a, args); + return new (bind.apply(Target, a))(); + }; + } + + if (typeof Reflect.ownKeys !== 'function') { + Reflect.ownKeys = function (o) { + return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o)); + }; + } +}); +define('aurelia-path',['exports'], function (exports) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.relativeToFile = relativeToFile; + exports.join = join; + exports.buildQueryString = buildQueryString; + exports.parseQueryString = parseQueryString; + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + }; + + function trimDots(ary) { + for (var i = 0; i < ary.length; ++i) { + var part = ary[i]; + if (part === '.') { + ary.splice(i, 1); + i -= 1; + } else if (part === '..') { + if (i === 0 || i === 1 && ary[2] === '..' || ary[i - 1] === '..') { + continue; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + function relativeToFile(name, file) { + var fileParts = file && file.split('/'); + var nameParts = name.trim().split('/'); + + if (nameParts[0].charAt(0) === '.' && fileParts) { + var normalizedBaseParts = fileParts.slice(0, fileParts.length - 1); + nameParts.unshift.apply(nameParts, normalizedBaseParts); + } + + trimDots(nameParts); + + return nameParts.join('/'); + } + + function join(path1, path2) { + if (!path1) { + return path2; + } + + if (!path2) { + return path1; + } + + var schemeMatch = path1.match(/^([^/]*?:)\//); + var scheme = schemeMatch && schemeMatch.length > 0 ? schemeMatch[1] : ''; + path1 = path1.substr(scheme.length); + + var urlPrefix = void 0; + if (path1.indexOf('///') === 0 && scheme === 'file:') { + urlPrefix = '///'; + } else if (path1.indexOf('//') === 0) { + urlPrefix = '//'; + } else if (path1.indexOf('/') === 0) { + urlPrefix = '/'; + } else { + urlPrefix = ''; + } + + var trailingSlash = path2.slice(-1) === '/' ? '/' : ''; + + var url1 = path1.split('/'); + var url2 = path2.split('/'); + var url3 = []; + + for (var i = 0, ii = url1.length; i < ii; ++i) { + if (url1[i] === '..') { + url3.pop(); + } else if (url1[i] === '.' || url1[i] === '') { + continue; + } else { + url3.push(url1[i]); + } + } + + for (var _i = 0, _ii = url2.length; _i < _ii; ++_i) { + if (url2[_i] === '..') { + url3.pop(); + } else if (url2[_i] === '.' || url2[_i] === '') { + continue; + } else { + url3.push(url2[_i]); + } + } + + return scheme + urlPrefix + url3.join('/') + trailingSlash; + } + + var encode = encodeURIComponent; + var encodeKey = function encodeKey(k) { + return encode(k).replace('%24', '$'); + }; + + function buildParam(key, value, traditional) { + var result = []; + if (value === null || value === undefined) { + return result; + } + if (Array.isArray(value)) { + for (var i = 0, l = value.length; i < l; i++) { + if (traditional) { + result.push(encodeKey(key) + '=' + encode(value[i])); + } else { + var arrayKey = key + '[' + (_typeof(value[i]) === 'object' && value[i] !== null ? i : '') + ']'; + result = result.concat(buildParam(arrayKey, value[i])); + } + } + } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !traditional) { + for (var propertyName in value) { + result = result.concat(buildParam(key + '[' + propertyName + ']', value[propertyName])); + } + } else { + result.push(encodeKey(key) + '=' + encode(value)); + } + return result; + } + + function buildQueryString(params, traditional) { + var pairs = []; + var keys = Object.keys(params || {}).sort(); + for (var i = 0, len = keys.length; i < len; i++) { + var key = keys[i]; + pairs = pairs.concat(buildParam(key, params[key], traditional)); + } + + if (pairs.length === 0) { + return ''; + } + + return pairs.join('&'); + } + + function processScalarParam(existedParam, value) { + if (Array.isArray(existedParam)) { + existedParam.push(value); + return existedParam; + } + if (existedParam !== undefined) { + return [existedParam, value]; + } + + return value; + } + + function parseComplexParam(queryParams, keys, value) { + var currentParams = queryParams; + var keysLastIndex = keys.length - 1; + for (var j = 0; j <= keysLastIndex; j++) { + var key = keys[j] === '' ? currentParams.length : keys[j]; + if (j < keysLastIndex) { + var prevValue = !currentParams[key] || _typeof(currentParams[key]) === 'object' ? currentParams[key] : [currentParams[key]]; + currentParams = currentParams[key] = prevValue || (isNaN(keys[j + 1]) ? {} : []); + } else { + currentParams = currentParams[key] = value; + } + } + } + + function parseQueryString(queryString) { + var queryParams = {}; + if (!queryString || typeof queryString !== 'string') { + return queryParams; + } + + var query = queryString; + if (query.charAt(0) === '?') { + query = query.substr(1); + } + + var pairs = query.replace(/\+/g, ' ').split('&'); + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i].split('='); + var key = decodeURIComponent(pair[0]); + if (!key) { + continue; + } + + var keys = key.split(']['); + var keysLastIndex = keys.length - 1; + + if (/\[/.test(keys[0]) && /\]$/.test(keys[keysLastIndex])) { + keys[keysLastIndex] = keys[keysLastIndex].replace(/\]$/, ''); + keys = keys.shift().split('[').concat(keys); + keysLastIndex = keys.length - 1; + } else { + keysLastIndex = 0; + } + + if (pair.length >= 2) { + var value = pair[1] ? decodeURIComponent(pair[1]) : ''; + if (keysLastIndex) { + parseComplexParam(queryParams, keys, value); + } else { + queryParams[key] = processScalarParam(queryParams[key], value); + } + } else { + queryParams[key] = true; + } + } + return queryParams; } }); define('aurelia-route-recognizer',['exports', 'aurelia-path'], function (exports, _aureliaPath) { @@ -16857,18 +16857,35 @@ define('aurelia-route-recognizer',['exports', 'aurelia-path'], function (exports return state; } }); -define('aurelia-router',['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-dependency-injection', 'aurelia-history', 'aurelia-event-aggregator'], function (exports, _aureliaLogging, _aureliaRouteRecognizer, _aureliaDependencyInjection, _aureliaHistory, _aureliaEventAggregator) { +define('aurelia-templating',['exports', 'aurelia-logging', 'aurelia-metadata', 'aurelia-pal', 'aurelia-path', 'aurelia-loader', 'aurelia-dependency-injection', 'aurelia-binding', 'aurelia-task-queue'], function (exports, _aureliaLogging, _aureliaMetadata, _aureliaPal, _aureliaPath, _aureliaLoader, _aureliaDependencyInjection, _aureliaBinding, _aureliaTaskQueue) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); - exports.AppRouter = exports.PipelineProvider = exports.LoadRouteStep = exports.RouteLoader = exports.ActivateNextStep = exports.DeactivatePreviousStep = exports.CanActivateNextStep = exports.CanDeactivatePreviousStep = exports.Router = exports.BuildNavigationPlanStep = exports.activationStrategy = exports.RouterConfiguration = exports.RedirectToRoute = exports.Redirect = exports.NavModel = exports.NavigationInstruction = exports.CommitChangesStep = exports.Pipeline = exports.pipelineStatus = undefined; - exports._normalizeAbsolutePath = _normalizeAbsolutePath; - exports._createRootedPath = _createRootedPath; - exports._resolveUrl = _resolveUrl; - exports.isNavigationCommand = isNavigationCommand; - exports._buildNavigationPlan = _buildNavigationPlan; + exports.TemplatingEngine = exports.ElementConfigResource = exports.CompositionEngine = exports.HtmlBehaviorResource = exports.BindableProperty = exports.BehaviorPropertyObserver = exports.Controller = exports.ViewEngine = exports.ModuleAnalyzer = exports.ResourceDescription = exports.ResourceModule = exports.ViewCompiler = exports.ViewFactory = exports.BoundViewFactory = exports.ViewSlot = exports.View = exports.ViewResources = exports.ShadowDOM = exports.ShadowSlot = exports.PassThroughSlot = exports.SlotCustomAttribute = exports.BindingLanguage = exports.ViewLocator = exports.InlineViewStrategy = exports.TemplateRegistryViewStrategy = exports.NoViewStrategy = exports.ConventionalViewStrategy = exports.RelativeViewStrategy = exports.viewStrategy = exports.TargetInstruction = exports.BehaviorInstruction = exports.ViewCompileInstruction = exports.ResourceLoadContext = exports.ElementEvents = exports.ViewEngineHooksResource = exports.CompositionTransaction = exports.CompositionTransactionOwnershipToken = exports.CompositionTransactionNotifier = exports.Animator = exports.animationEvent = undefined; + exports._hyphenate = _hyphenate; + exports._isAllWhitespace = _isAllWhitespace; + exports.viewEngineHooks = viewEngineHooks; + exports.children = children; + exports.child = child; + exports.resource = resource; + exports.behavior = behavior; + exports.customElement = customElement; + exports.customAttribute = customAttribute; + exports.templateController = templateController; + exports.bindable = bindable; + exports.dynamicOptions = dynamicOptions; + exports.useShadowDOM = useShadowDOM; + exports.processAttributes = processAttributes; + exports.processContent = processContent; + exports.containerless = containerless; + exports.useViewStrategy = useViewStrategy; + exports.useView = useView; + exports.inlineView = inlineView; + exports.noView = noView; + exports.elementConfig = elementConfig; + exports.viewResources = viewResources; var LogManager = _interopRequireWildcard(_aureliaLogging); @@ -16889,36 +16906,6 @@ define('aurelia-router',['exports', 'aurelia-logging', 'aurelia-route-recognizer } } - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && (typeof call === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; - }; - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { @@ -16937,6755 +16924,6767 @@ define('aurelia-router',['exports', 'aurelia-logging', 'aurelia-route-recognizer }; }(); - - - function _normalizeAbsolutePath(path, hasPushState) { - var absolute = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; - - if (!hasPushState && path[0] !== '#') { - path = '#' + path; - } - - if (hasPushState && absolute) { - path = path.substring(1, path.length); - } - - return path; - } - - function _createRootedPath(fragment, baseUrl, hasPushState, absolute) { - if (isAbsoluteUrl.test(fragment)) { - return fragment; - } - - var path = ''; + var _class, _temp, _dec, _class2, _dec2, _class3, _dec3, _class4, _dec4, _class5, _dec5, _class6, _class7, _temp2, _dec6, _class8, _class9, _temp3, _class11, _dec7, _class13, _dec8, _class14, _class15, _temp4, _dec9, _class16, _dec10, _class17, _dec11, _class18; - if (baseUrl.length && baseUrl[0] !== '/') { - path += '/'; - } + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; - path += baseUrl; + - if ((!path.length || path[path.length - 1] !== '/') && fragment[0] !== '/') { - path += '/'; - } + var animationEvent = exports.animationEvent = { + enterBegin: 'animation:enter:begin', + enterActive: 'animation:enter:active', + enterDone: 'animation:enter:done', + enterTimeout: 'animation:enter:timeout', - if (path.length && path[path.length - 1] === '/' && fragment[0] === '/') { - path = path.substring(0, path.length - 1); - } + leaveBegin: 'animation:leave:begin', + leaveActive: 'animation:leave:active', + leaveDone: 'animation:leave:done', + leaveTimeout: 'animation:leave:timeout', - return _normalizeAbsolutePath(path + fragment, hasPushState, absolute); - } + staggerNext: 'animation:stagger:next', - function _resolveUrl(fragment, baseUrl, hasPushState) { - if (isRootedPath.test(fragment)) { - return _normalizeAbsolutePath(fragment, hasPushState); - } + removeClassBegin: 'animation:remove-class:begin', + removeClassActive: 'animation:remove-class:active', + removeClassDone: 'animation:remove-class:done', + removeClassTimeout: 'animation:remove-class:timeout', - return _createRootedPath(fragment, baseUrl, hasPushState); - } + addClassBegin: 'animation:add-class:begin', + addClassActive: 'animation:add-class:active', + addClassDone: 'animation:add-class:done', + addClassTimeout: 'animation:add-class:timeout', - var isRootedPath = /^#?\//; - var isAbsoluteUrl = /^([a-z][a-z0-9+\-.]*:)?\/\//i; + animateBegin: 'animation:animate:begin', + animateActive: 'animation:animate:active', + animateDone: 'animation:animate:done', + animateTimeout: 'animation:animate:timeout', - var pipelineStatus = exports.pipelineStatus = { - completed: 'completed', - canceled: 'canceled', - rejected: 'rejected', - running: 'running' + sequenceBegin: 'animation:sequence:begin', + sequenceDone: 'animation:sequence:done' }; - var Pipeline = exports.Pipeline = function () { - function Pipeline() { + var Animator = exports.Animator = function () { + function Animator() { - - this.steps = []; } - Pipeline.prototype.addStep = function addStep(step) { - var run = void 0; + Animator.prototype.enter = function enter(element) { + return Promise.resolve(false); + }; - if (typeof step === 'function') { - run = step; - } else if (typeof step.getSteps === 'function') { - var steps = step.getSteps(); - for (var i = 0, l = steps.length; i < l; i++) { - this.addStep(steps[i]); - } + Animator.prototype.leave = function leave(element) { + return Promise.resolve(false); + }; - return this; - } else { - run = step.run.bind(step); - } + Animator.prototype.removeClass = function removeClass(element, className) { + element.classList.remove(className); + return Promise.resolve(false); + }; - this.steps.push(run); + Animator.prototype.addClass = function addClass(element, className) { + element.classList.add(className); + return Promise.resolve(false); + }; - return this; + Animator.prototype.animate = function animate(element, className) { + return Promise.resolve(false); }; - Pipeline.prototype.run = function run(instruction) { - var index = -1; - var steps = this.steps; + Animator.prototype.runSequence = function runSequence(animations) {}; - function next() { - index++; + Animator.prototype.registerEffect = function registerEffect(effectName, properties) {}; - if (index < steps.length) { - var currentStep = steps[index]; + Animator.prototype.unregisterEffect = function unregisterEffect(effectName) {}; - try { - return currentStep(instruction, next); - } catch (e) { - return next.reject(e); - } - } else { - return next.complete(); - } - } + return Animator; + }(); - next.complete = createCompletionHandler(next, pipelineStatus.completed); - next.cancel = createCompletionHandler(next, pipelineStatus.canceled); - next.reject = createCompletionHandler(next, pipelineStatus.rejected); + var CompositionTransactionNotifier = exports.CompositionTransactionNotifier = function () { + function CompositionTransactionNotifier(owner) { + - return next(); + this.owner = owner; + this.owner._compositionCount++; + } + + CompositionTransactionNotifier.prototype.done = function done() { + this.owner._compositionCount--; + this.owner._tryCompleteTransaction(); }; - return Pipeline; + return CompositionTransactionNotifier; }(); - function createCompletionHandler(next, status) { - return function (output) { - return Promise.resolve({ status: status, output: output, completed: status === pipelineStatus.completed }); - }; - } - - var CommitChangesStep = exports.CommitChangesStep = function () { - function CommitChangesStep() { + var CompositionTransactionOwnershipToken = exports.CompositionTransactionOwnershipToken = function () { + function CompositionTransactionOwnershipToken(owner) { + + this.owner = owner; + this.owner._ownershipToken = this; + this.thenable = this._createThenable(); } - CommitChangesStep.prototype.run = function run(navigationInstruction, next) { - return navigationInstruction._commitChanges(true).then(function () { - navigationInstruction._updateTitle(); - return next(); + CompositionTransactionOwnershipToken.prototype.waitForCompositionComplete = function waitForCompositionComplete() { + this.owner._tryCompleteTransaction(); + return this.thenable; + }; + + CompositionTransactionOwnershipToken.prototype.resolve = function resolve() { + this._resolveCallback(); + }; + + CompositionTransactionOwnershipToken.prototype._createThenable = function _createThenable() { + var _this = this; + + return new Promise(function (resolve, reject) { + _this._resolveCallback = resolve; }); }; - return CommitChangesStep; + return CompositionTransactionOwnershipToken; }(); - var NavigationInstruction = exports.NavigationInstruction = function () { - function NavigationInstruction(init) { + var CompositionTransaction = exports.CompositionTransaction = function () { + function CompositionTransaction() { - this.plan = null; - this.options = {}; - - Object.assign(this, init); - - this.params = this.params || {}; - this.viewPortInstructions = {}; + this._ownershipToken = null; + this._compositionCount = 0; + } - var ancestorParams = []; - var current = this; - do { - var currentParams = Object.assign({}, current.params); - if (current.config && current.config.hasChildRouter) { - delete currentParams[current.getWildCardName()]; - } + CompositionTransaction.prototype.tryCapture = function tryCapture() { + return this._ownershipToken === null ? new CompositionTransactionOwnershipToken(this) : null; + }; - ancestorParams.unshift(currentParams); - current = current.parentInstruction; - } while (current); + CompositionTransaction.prototype.enlist = function enlist() { + return new CompositionTransactionNotifier(this); + }; - var allParams = Object.assign.apply(Object, [{}, this.queryParams].concat(ancestorParams)); - this.lifecycleArgs = [allParams, this.config, this]; - } + CompositionTransaction.prototype._tryCompleteTransaction = function _tryCompleteTransaction() { + if (this._compositionCount <= 0) { + this._compositionCount = 0; - NavigationInstruction.prototype.getAllInstructions = function getAllInstructions() { - var instructions = [this]; - for (var key in this.viewPortInstructions) { - var childInstruction = this.viewPortInstructions[key].childNavigationInstruction; - if (childInstruction) { - instructions.push.apply(instructions, childInstruction.getAllInstructions()); + if (this._ownershipToken !== null) { + var token = this._ownershipToken; + this._ownershipToken = null; + token.resolve(); } } - - return instructions; }; - NavigationInstruction.prototype.getAllPreviousInstructions = function getAllPreviousInstructions() { - return this.getAllInstructions().map(function (c) { - return c.previousInstruction; - }).filter(function (c) { - return c; - }); - }; + return CompositionTransaction; + }(); - NavigationInstruction.prototype.addViewPortInstruction = function addViewPortInstruction(viewPortName, strategy, moduleId, component) { - var viewportInstruction = this.viewPortInstructions[viewPortName] = { - name: viewPortName, - strategy: strategy, - moduleId: moduleId, - component: component, - childRouter: component.childRouter, - lifecycleArgs: this.lifecycleArgs.slice() - }; + var capitalMatcher = /([A-Z])/g; - return viewportInstruction; - }; + function addHyphenAndLower(char) { + return '-' + char.toLowerCase(); + } - NavigationInstruction.prototype.getWildCardName = function getWildCardName() { - var wildcardIndex = this.config.route.lastIndexOf('*'); - return this.config.route.substr(wildcardIndex + 1); - }; + function _hyphenate(name) { + return (name.charAt(0).toLowerCase() + name.slice(1)).replace(capitalMatcher, addHyphenAndLower); + } - NavigationInstruction.prototype.getWildcardPath = function getWildcardPath() { - var wildcardName = this.getWildCardName(); - var path = this.params[wildcardName] || ''; + function _isAllWhitespace(node) { + return !(node.auInterpolationTarget || /[^\t\n\r ]/.test(node.textContent)); + } - if (this.queryString) { - path += '?' + this.queryString; - } + var ViewEngineHooksResource = exports.ViewEngineHooksResource = function () { + function ViewEngineHooksResource() { + + } - return path; + ViewEngineHooksResource.prototype.initialize = function initialize(container, target) { + this.instance = container.get(target); }; - NavigationInstruction.prototype.getBaseUrl = function getBaseUrl() { - if (!this.params) { - return this.fragment; - } + ViewEngineHooksResource.prototype.register = function register(registry, name) { + registry.registerViewEngineHooks(this.instance); + }; - var wildcardName = this.getWildCardName(); - var path = this.params[wildcardName] || ''; + ViewEngineHooksResource.prototype.load = function load(container, target) {}; - if (!path) { - return this.fragment; + ViewEngineHooksResource.convention = function convention(name) { + if (name.endsWith('ViewEngineHooks')) { + return new ViewEngineHooksResource(); } - - path = encodeURI(path); - return this.fragment.substr(0, this.fragment.lastIndexOf(path)); }; - NavigationInstruction.prototype._commitChanges = function _commitChanges(waitToSwap) { - var _this = this; - - var router = this.router; - router.currentInstruction = this; + return ViewEngineHooksResource; + }(); - if (this.previousInstruction) { - this.previousInstruction.config.navModel.isActive = false; - } + function viewEngineHooks(target) { + var deco = function deco(t) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ViewEngineHooksResource(), t); + }; - this.config.navModel.isActive = true; + return target ? deco(target) : deco; + } - router._refreshBaseUrl(); - router.refreshNavigation(); + var ElementEvents = exports.ElementEvents = function () { + function ElementEvents(element) { + - var loads = []; - var delaySwaps = []; + this.element = element; + this.subscriptions = {}; + } - var _loop = function _loop(viewPortName) { - var viewPortInstruction = _this.viewPortInstructions[viewPortName]; - var viewPort = router.viewPorts[viewPortName]; + ElementEvents.prototype._enqueueHandler = function _enqueueHandler(handler) { + this.subscriptions[handler.eventName] = this.subscriptions[handler.eventName] || []; + this.subscriptions[handler.eventName].push(handler); + }; - if (!viewPort) { - throw new Error('There was no router-view found in the view for ' + viewPortInstruction.moduleId + '.'); + ElementEvents.prototype._dequeueHandler = function _dequeueHandler(handler) { + var index = void 0; + var subscriptions = this.subscriptions[handler.eventName]; + if (subscriptions) { + index = subscriptions.indexOf(handler); + if (index > -1) { + subscriptions.splice(index, 1); } + } + return handler; + }; - if (viewPortInstruction.strategy === activationStrategy.replace) { - if (waitToSwap) { - delaySwaps.push({ viewPort: viewPort, viewPortInstruction: viewPortInstruction }); - } - - loads.push(viewPort.process(viewPortInstruction, waitToSwap).then(function (x) { - if (viewPortInstruction.childNavigationInstruction) { - return viewPortInstruction.childNavigationInstruction._commitChanges(); - } + ElementEvents.prototype.publish = function publish(eventName) { + var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var cancelable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - return undefined; - })); - } else { - if (viewPortInstruction.childNavigationInstruction) { - loads.push(viewPortInstruction.childNavigationInstruction._commitChanges(waitToSwap)); - } - } - }; + var event = _aureliaPal.DOM.createCustomEvent(eventName, { cancelable: cancelable, bubbles: bubbles, detail: detail }); + this.element.dispatchEvent(event); + }; - for (var viewPortName in this.viewPortInstructions) { - _loop(viewPortName); - } + ElementEvents.prototype.subscribe = function subscribe(eventName, handler) { + var _this2 = this; - return Promise.all(loads).then(function () { - delaySwaps.forEach(function (x) { - return x.viewPort.swap(x.viewPortInstruction); - }); - return null; - }).then(function () { - return prune(_this); - }); - }; + var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - NavigationInstruction.prototype._updateTitle = function _updateTitle() { - var title = this._buildTitle(); - if (title) { - this.router.history.setTitle(title); + if (handler && typeof handler === 'function') { + handler.eventName = eventName; + handler.handler = handler; + handler.bubbles = bubbles; + handler.dispose = function () { + _this2.element.removeEventListener(eventName, handler, bubbles); + _this2._dequeueHandler(handler); + }; + this.element.addEventListener(eventName, handler, bubbles); + this._enqueueHandler(handler); + return handler; } - }; - NavigationInstruction.prototype._buildTitle = function _buildTitle() { - var separator = arguments.length <= 0 || arguments[0] === undefined ? ' | ' : arguments[0]; + return undefined; + }; - var title = ''; - var childTitles = []; + ElementEvents.prototype.subscribeOnce = function subscribeOnce(eventName, handler) { + var _this3 = this; - if (this.config.navModel.title) { - title = this.router.transformTitle(this.config.navModel.title); - } + var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - for (var viewPortName in this.viewPortInstructions) { - var _viewPortInstruction = this.viewPortInstructions[viewPortName]; + if (handler && typeof handler === 'function') { + var _ret = function () { + var _handler = function _handler(event) { + handler(event); + _handler.dispose(); + }; + return { + v: _this3.subscribe(eventName, _handler, bubbles) + }; + }(); - if (_viewPortInstruction.childNavigationInstruction) { - var childTitle = _viewPortInstruction.childNavigationInstruction._buildTitle(separator); - if (childTitle) { - childTitles.push(childTitle); - } - } + if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; } - if (childTitles.length) { - title = childTitles.join(separator) + (title ? separator : '') + title; - } + return undefined; + }; - if (this.router.title) { - title += (title ? separator : '') + this.router.transformTitle(this.router.title); + ElementEvents.prototype.dispose = function dispose(eventName) { + if (eventName && typeof eventName === 'string') { + var subscriptions = this.subscriptions[eventName]; + if (subscriptions) { + while (subscriptions.length) { + var subscription = subscriptions.pop(); + if (subscription) { + subscription.dispose(); + } + } + } + } else { + this.disposeAll(); } + }; - return title; + ElementEvents.prototype.disposeAll = function disposeAll() { + for (var key in this.subscriptions) { + this.dispose(key); + } }; - return NavigationInstruction; + return ElementEvents; }(); - function prune(instruction) { - instruction.previousInstruction = null; - instruction.plan = null; - } - - var NavModel = exports.NavModel = function () { - function NavModel(router, relativeHref) { + var ResourceLoadContext = exports.ResourceLoadContext = function () { + function ResourceLoadContext() { - this.isActive = false; - this.title = null; - this.href = null; - this.relativeHref = null; - this.settings = {}; - this.config = null; - - this.router = router; - this.relativeHref = relativeHref; + this.dependencies = {}; } - NavModel.prototype.setTitle = function setTitle(title) { - this.title = title; + ResourceLoadContext.prototype.addDependency = function addDependency(url) { + this.dependencies[url] = true; + }; - if (this.isActive) { - this.router.updateTitle(); - } + ResourceLoadContext.prototype.hasDependency = function hasDependency(url) { + return url in this.dependencies; }; - return NavModel; + return ResourceLoadContext; }(); - function isNavigationCommand(obj) { - return obj && typeof obj.navigate === 'function'; - } + var ViewCompileInstruction = exports.ViewCompileInstruction = function ViewCompileInstruction() { + var targetShadowDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var compileSurrogate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var Redirect = exports.Redirect = function () { - function Redirect(url) { - var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + - + this.targetShadowDOM = targetShadowDOM; + this.compileSurrogate = compileSurrogate; + this.associatedModuleId = null; + }; - this.url = url; - this.options = Object.assign({ trigger: true, replace: true }, options); - this.shouldContinueProcessing = false; - } + ViewCompileInstruction.normal = new ViewCompileInstruction(); - Redirect.prototype.setRouter = function setRouter(router) { - this.router = router; + var BehaviorInstruction = exports.BehaviorInstruction = function () { + BehaviorInstruction.enhance = function enhance() { + var instruction = new BehaviorInstruction(); + instruction.enhance = true; + return instruction; }; - Redirect.prototype.navigate = function navigate(appRouter) { - var navigatingRouter = this.options.useAppRouter ? appRouter : this.router || appRouter; - navigatingRouter.navigate(this.url, this.options); + BehaviorInstruction.unitTest = function unitTest(type, attributes) { + var instruction = new BehaviorInstruction(); + instruction.type = type; + instruction.attributes = attributes || {}; + return instruction; }; - return Redirect; - }(); - - var RedirectToRoute = exports.RedirectToRoute = function () { - function RedirectToRoute(route) { - var params = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - - - - this.route = route; - this.params = params; - this.options = Object.assign({ trigger: true, replace: true }, options); - this.shouldContinueProcessing = false; - } - - RedirectToRoute.prototype.setRouter = function setRouter(router) { - this.router = router; + BehaviorInstruction.element = function element(node, type) { + var instruction = new BehaviorInstruction(); + instruction.type = type; + instruction.attributes = {}; + instruction.anchorIsContainer = !(node.hasAttribute('containerless') || type.containerless); + instruction.initiatedByBehavior = true; + return instruction; }; - RedirectToRoute.prototype.navigate = function navigate(appRouter) { - var navigatingRouter = this.options.useAppRouter ? appRouter : this.router || appRouter; - navigatingRouter.navigateToRoute(this.route, this.params, this.options); + BehaviorInstruction.attribute = function attribute(attrName, type) { + var instruction = new BehaviorInstruction(); + instruction.attrName = attrName; + instruction.type = type || null; + instruction.attributes = {}; + return instruction; }; - return RedirectToRoute; - }(); + BehaviorInstruction.dynamic = function dynamic(host, viewModel, viewFactory) { + var instruction = new BehaviorInstruction(); + instruction.host = host; + instruction.viewModel = viewModel; + instruction.viewFactory = viewFactory; + instruction.inheritBindingContext = true; + return instruction; + }; - var RouterConfiguration = exports.RouterConfiguration = function () { - function RouterConfiguration() { + function BehaviorInstruction() { - this.instructions = []; - this.options = {}; - this.pipelineSteps = []; + this.initiatedByBehavior = false; + this.enhance = false; + this.partReplacements = null; + this.viewFactory = null; + this.originalAttrName = null; + this.skipContentProcessing = false; + this.contentFactory = null; + this.viewModel = null; + this.anchorIsContainer = false; + this.host = null; + this.attributes = null; + this.type = null; + this.attrName = null; + this.inheritBindingContext = false; } - RouterConfiguration.prototype.addPipelineStep = function addPipelineStep(name, step) { - this.pipelineSteps.push({ name: name, step: step }); - return this; - }; + return BehaviorInstruction; + }(); - RouterConfiguration.prototype.addAuthorizeStep = function addAuthorizeStep(step) { - return this.addPipelineStep('authorize', step); - }; + BehaviorInstruction.normal = new BehaviorInstruction(); - RouterConfiguration.prototype.addPreActivateStep = function addPreActivateStep(step) { - return this.addPipelineStep('preActivate', step); + var TargetInstruction = exports.TargetInstruction = (_temp = _class = function () { + TargetInstruction.shadowSlot = function shadowSlot(parentInjectorId) { + var instruction = new TargetInstruction(); + instruction.parentInjectorId = parentInjectorId; + instruction.shadowSlot = true; + return instruction; }; - RouterConfiguration.prototype.addPreRenderStep = function addPreRenderStep(step) { - return this.addPipelineStep('preRender', step); + TargetInstruction.contentExpression = function contentExpression(expression) { + var instruction = new TargetInstruction(); + instruction.contentExpression = expression; + return instruction; }; - RouterConfiguration.prototype.addPostRenderStep = function addPostRenderStep(step) { - return this.addPipelineStep('postRender', step); + TargetInstruction.lifting = function lifting(parentInjectorId, liftingInstruction) { + var instruction = new TargetInstruction(); + instruction.parentInjectorId = parentInjectorId; + instruction.expressions = TargetInstruction.noExpressions; + instruction.behaviorInstructions = [liftingInstruction]; + instruction.viewFactory = liftingInstruction.viewFactory; + instruction.providers = [liftingInstruction.type.target]; + instruction.lifting = true; + return instruction; }; - RouterConfiguration.prototype.fallbackRoute = function fallbackRoute(fragment) { - this._fallbackRoute = fragment; - return this; + TargetInstruction.normal = function normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction) { + var instruction = new TargetInstruction(); + instruction.injectorId = injectorId; + instruction.parentInjectorId = parentInjectorId; + instruction.providers = providers; + instruction.behaviorInstructions = behaviorInstructions; + instruction.expressions = expressions; + instruction.anchorIsContainer = elementInstruction ? elementInstruction.anchorIsContainer : true; + instruction.elementInstruction = elementInstruction; + return instruction; }; - RouterConfiguration.prototype.map = function map(route) { - if (Array.isArray(route)) { - route.forEach(this.map.bind(this)); - return this; - } - - return this.mapRoute(route); + TargetInstruction.surrogate = function surrogate(providers, behaviorInstructions, expressions, values) { + var instruction = new TargetInstruction(); + instruction.expressions = expressions; + instruction.behaviorInstructions = behaviorInstructions; + instruction.providers = providers; + instruction.values = values; + return instruction; }; - RouterConfiguration.prototype.mapRoute = function mapRoute(config) { - this.instructions.push(function (router) { - var routeConfigs = []; + function TargetInstruction() { + - if (Array.isArray(config.route)) { - for (var i = 0, ii = config.route.length; i < ii; ++i) { - var current = Object.assign({}, config); - current.route = config.route[i]; - routeConfigs.push(current); - } - } else { - routeConfigs.push(Object.assign({}, config)); - } + this.injectorId = null; + this.parentInjectorId = null; - var navModel = void 0; - for (var _i = 0, _ii = routeConfigs.length; _i < _ii; ++_i) { - var _routeConfig = routeConfigs[_i]; - _routeConfig.settings = _routeConfig.settings || {}; - if (!navModel) { - navModel = router.createNavModel(_routeConfig); - } + this.shadowSlot = false; + this.slotName = null; + this.slotFallbackFactory = null; - router.addRoute(_routeConfig, navModel); - } - }); + this.contentExpression = null; - return this; - }; + this.expressions = null; + this.behaviorInstructions = null; + this.providers = null; + + this.viewFactory = null; - RouterConfiguration.prototype.mapUnknownRoutes = function mapUnknownRoutes(config) { - this.unknownRouteConfig = config; - return this; - }; + this.anchorIsContainer = false; + this.elementInstruction = null; + this.lifting = false; - RouterConfiguration.prototype.exportToRouter = function exportToRouter(router) { - var instructions = this.instructions; - for (var i = 0, ii = instructions.length; i < ii; ++i) { - instructions[i](router); - } + this.values = null; + } - if (this.title) { - router.title = this.title; + return TargetInstruction; + }(), _class.noExpressions = Object.freeze([]), _temp); + var viewStrategy = exports.viewStrategy = _aureliaMetadata.protocol.create('aurelia:view-strategy', { + validate: function validate(target) { + if (!(typeof target.loadViewFactory === 'function')) { + return 'View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise'; } - if (this.unknownRouteConfig) { - router.handleUnknownRoutes(this.unknownRouteConfig); + return true; + }, + compose: function compose(target) { + if (!(typeof target.makeRelativeTo === 'function')) { + target.makeRelativeTo = _aureliaPal.PLATFORM.noop; } + } + }); - if (this._fallbackRoute) { - router.fallbackRoute = this._fallbackRoute; - } + var RelativeViewStrategy = exports.RelativeViewStrategy = (_dec = viewStrategy(), _dec(_class2 = function () { + function RelativeViewStrategy(path) { + - router.options = this.options; + this.path = path; + this.absolutePath = null; + } - var pipelineSteps = this.pipelineSteps; - if (pipelineSteps.length) { - if (!router.isRoot) { - throw new Error('Pipeline steps can only be added to the root router'); - } + RelativeViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { + if (this.absolutePath === null && this.moduleId) { + this.absolutePath = (0, _aureliaPath.relativeToFile)(this.path, this.moduleId); + } - var pipelineProvider = router.pipelineProvider; - for (var _i2 = 0, _ii2 = pipelineSteps.length; _i2 < _ii2; ++_i2) { - var _pipelineSteps$_i = pipelineSteps[_i2]; - var _name = _pipelineSteps$_i.name; - var step = _pipelineSteps$_i.step; + compileInstruction.associatedModuleId = this.moduleId; + return viewEngine.loadViewFactory(this.absolutePath || this.path, compileInstruction, loadContext, target); + }; - pipelineProvider.addStep(_name, step); - } + RelativeViewStrategy.prototype.makeRelativeTo = function makeRelativeTo(file) { + if (this.absolutePath === null) { + this.absolutePath = (0, _aureliaPath.relativeToFile)(this.path, file); } }; - return RouterConfiguration; - }(); - - var activationStrategy = exports.activationStrategy = { - noChange: 'no-change', - invokeLifecycle: 'invoke-lifecycle', - replace: 'replace' - }; - - var BuildNavigationPlanStep = exports.BuildNavigationPlanStep = function () { - function BuildNavigationPlanStep() { + return RelativeViewStrategy; + }()) || _class2); + var ConventionalViewStrategy = exports.ConventionalViewStrategy = (_dec2 = viewStrategy(), _dec2(_class3 = function () { + function ConventionalViewStrategy(viewLocator, origin) { + + this.moduleId = origin.moduleId; + this.viewUrl = viewLocator.convertOriginToViewUrl(origin); } - BuildNavigationPlanStep.prototype.run = function run(navigationInstruction, next) { - return _buildNavigationPlan(navigationInstruction).then(function (plan) { - navigationInstruction.plan = plan; - return next(); - }).catch(next.cancel); + ConventionalViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { + compileInstruction.associatedModuleId = this.moduleId; + return viewEngine.loadViewFactory(this.viewUrl, compileInstruction, loadContext, target); }; - return BuildNavigationPlanStep; - }(); - - function _buildNavigationPlan(instruction, forceLifecycleMinimum) { - var prev = instruction.previousInstruction; - var config = instruction.config; - var plan = {}; - - if ('redirect' in config) { - var redirectLocation = _resolveUrl(config.redirect, getInstructionBaseUrl(instruction)); - if (instruction.queryString) { - redirectLocation += '?' + instruction.queryString; - } + return ConventionalViewStrategy; + }()) || _class3); + var NoViewStrategy = exports.NoViewStrategy = (_dec3 = viewStrategy(), _dec3(_class4 = function () { + function NoViewStrategy(dependencies, dependencyBaseUrl) { + - return Promise.reject(new Redirect(redirectLocation)); + this.dependencies = dependencies || null; + this.dependencyBaseUrl = dependencyBaseUrl || ''; } - if (prev) { - var newParams = hasDifferentParameterValues(prev, instruction); - var pending = []; + NoViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { + var entry = this.entry; + var dependencies = this.dependencies; - var _loop2 = function _loop2(viewPortName) { - var prevViewPortInstruction = prev.viewPortInstructions[viewPortName]; - var nextViewPortConfig = config.viewPorts[viewPortName]; + if (entry && entry.factoryIsReady) { + return Promise.resolve(null); + } - if (!nextViewPortConfig) throw new Error('Invalid Route Config: Configuration for viewPort "' + viewPortName + '" was not found for route: "' + instruction.config.route + '."'); + this.entry = entry = new _aureliaLoader.TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl); - var viewPortPlan = plan[viewPortName] = { - name: viewPortName, - config: nextViewPortConfig, - prevComponent: prevViewPortInstruction.component, - prevModuleId: prevViewPortInstruction.moduleId - }; + entry.dependencies = []; + entry.templateIsLoaded = true; - if (prevViewPortInstruction.moduleId !== nextViewPortConfig.moduleId) { - viewPortPlan.strategy = activationStrategy.replace; - } else if ('determineActivationStrategy' in prevViewPortInstruction.component.viewModel) { - var _prevViewPortInstruct; + if (dependencies !== null) { + for (var i = 0, ii = dependencies.length; i < ii; ++i) { + var current = dependencies[i]; - viewPortPlan.strategy = (_prevViewPortInstruct = prevViewPortInstruction.component.viewModel).determineActivationStrategy.apply(_prevViewPortInstruct, instruction.lifecycleArgs); - } else if (config.activationStrategy) { - viewPortPlan.strategy = config.activationStrategy; - } else if (newParams || forceLifecycleMinimum) { - viewPortPlan.strategy = activationStrategy.invokeLifecycle; - } else { - viewPortPlan.strategy = activationStrategy.noChange; + if (typeof current === 'string' || typeof current === 'function') { + entry.addDependency(current); + } else { + entry.addDependency(current.from, current.as); + } } + } - if (viewPortPlan.strategy !== activationStrategy.replace && prevViewPortInstruction.childRouter) { - var path = instruction.getWildcardPath(); - var task = prevViewPortInstruction.childRouter._createNavigationInstruction(path, instruction).then(function (childInstruction) { - viewPortPlan.childNavigationInstruction = childInstruction; - - return _buildNavigationPlan(childInstruction, viewPortPlan.strategy === activationStrategy.invokeLifecycle).then(function (childPlan) { - childInstruction.plan = childPlan; - }); - }); + compileInstruction.associatedModuleId = this.moduleId; - pending.push(task); - } - }; + return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target); + }; - for (var viewPortName in prev.viewPortInstructions) { - _loop2(viewPortName); - } + return NoViewStrategy; + }()) || _class4); + var TemplateRegistryViewStrategy = exports.TemplateRegistryViewStrategy = (_dec4 = viewStrategy(), _dec4(_class5 = function () { + function TemplateRegistryViewStrategy(moduleId, entry) { + - return Promise.all(pending).then(function () { - return plan; - }); + this.moduleId = moduleId; + this.entry = entry; } - for (var _viewPortName in config.viewPorts) { - plan[_viewPortName] = { - name: _viewPortName, - strategy: activationStrategy.replace, - config: instruction.config.viewPorts[_viewPortName] - }; - } + TemplateRegistryViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { + var entry = this.entry; - return Promise.resolve(plan); - } + if (entry.factoryIsReady) { + return Promise.resolve(entry.factory); + } - function hasDifferentParameterValues(prev, next) { - var prevParams = prev.params; - var nextParams = next.params; - var nextWildCardName = next.config.hasChildRouter ? next.getWildCardName() : null; + compileInstruction.associatedModuleId = this.moduleId; + return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target); + }; - for (var key in nextParams) { - if (key === nextWildCardName) { - continue; - } + return TemplateRegistryViewStrategy; + }()) || _class5); + var InlineViewStrategy = exports.InlineViewStrategy = (_dec5 = viewStrategy(), _dec5(_class6 = function () { + function InlineViewStrategy(markup, dependencies, dependencyBaseUrl) { + - if (prevParams[key] !== nextParams[key]) { - return true; - } + this.markup = markup; + this.dependencies = dependencies || null; + this.dependencyBaseUrl = dependencyBaseUrl || ''; } - for (var _key in prevParams) { - if (_key === nextWildCardName) { - continue; - } + InlineViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { + var entry = this.entry; + var dependencies = this.dependencies; - if (prevParams[_key] !== nextParams[_key]) { - return true; + if (entry && entry.factoryIsReady) { + return Promise.resolve(entry.factory); } - } - if (!next.options.compareQueryParams) { - return false; - } + this.entry = entry = new _aureliaLoader.TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl); + entry.template = _aureliaPal.DOM.createTemplateFromMarkup(this.markup); - var prevQueryParams = prev.queryParams; - var nextQueryParams = next.queryParams; - for (var _key2 in nextQueryParams) { - if (prevQueryParams[_key2] !== nextQueryParams[_key2]) { - return true; + if (dependencies !== null) { + for (var i = 0, ii = dependencies.length; i < ii; ++i) { + var current = dependencies[i]; + + if (typeof current === 'string' || typeof current === 'function') { + entry.addDependency(current); + } else { + entry.addDependency(current.from, current.as); + } + } } + + compileInstruction.associatedModuleId = this.moduleId; + return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target); + }; + + return InlineViewStrategy; + }()) || _class6); + var ViewLocator = exports.ViewLocator = (_temp2 = _class7 = function () { + function ViewLocator() { + } - for (var _key3 in prevQueryParams) { - if (prevQueryParams[_key3] !== nextQueryParams[_key3]) { - return true; + ViewLocator.prototype.getViewStrategy = function getViewStrategy(value) { + if (!value) { + return null; } - } - return false; - } + if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && 'getViewStrategy' in value) { + var _origin = _aureliaMetadata.Origin.get(value.constructor); - function getInstructionBaseUrl(instruction) { - var instructionBaseUrlParts = []; - instruction = instruction.parentInstruction; + value = value.getViewStrategy(); - while (instruction) { - instructionBaseUrlParts.unshift(instruction.getBaseUrl()); - instruction = instruction.parentInstruction; - } + if (typeof value === 'string') { + value = new RelativeViewStrategy(value); + } - instructionBaseUrlParts.unshift('/'); - return instructionBaseUrlParts.join(''); - } + viewStrategy.assert(value); - var Router = exports.Router = function () { - function Router(container, history) { - var _this2 = this; + if (_origin.moduleId) { + value.makeRelativeTo(_origin.moduleId); + } - + return value; + } - this.parent = null; - this.options = {}; + if (typeof value === 'string') { + value = new RelativeViewStrategy(value); + } - this.transformTitle = function (title) { - if (_this2.parent) { - return _this2.parent.transformTitle(title); - } - return title; - }; + if (viewStrategy.validate(value)) { + return value; + } - this.container = container; - this.history = history; - this.reset(); - } + if (typeof value !== 'function') { + value = value.constructor; + } - Router.prototype.reset = function reset() { - var _this3 = this; + var origin = _aureliaMetadata.Origin.get(value); + var strategy = _aureliaMetadata.metadata.get(ViewLocator.viewStrategyMetadataKey, value); - this.viewPorts = {}; - this.routes = []; - this.baseUrl = ''; - this.isConfigured = false; - this.isNavigating = false; - this.navigation = []; - this.currentInstruction = null; - this._fallbackOrder = 100; - this._recognizer = new _aureliaRouteRecognizer.RouteRecognizer(); - this._childRecognizer = new _aureliaRouteRecognizer.RouteRecognizer(); - this._configuredPromise = new Promise(function (resolve) { - _this3._resolveConfiguredPromise = resolve; - }); - }; + if (!strategy) { + if (!origin.moduleId) { + throw new Error('Cannot determine default view strategy for object.', value); + } - Router.prototype.registerViewPort = function registerViewPort(viewPort, name) { - name = name || 'default'; - this.viewPorts[name] = viewPort; - }; + strategy = this.createFallbackViewStrategy(origin); + } else if (origin.moduleId) { + strategy.moduleId = origin.moduleId; + } - Router.prototype.ensureConfigured = function ensureConfigured() { - return this._configuredPromise; + return strategy; }; - Router.prototype.configure = function configure(callbackOrConfig) { - var _this4 = this; + ViewLocator.prototype.createFallbackViewStrategy = function createFallbackViewStrategy(origin) { + return new ConventionalViewStrategy(this, origin); + }; - this.isConfigured = true; + ViewLocator.prototype.convertOriginToViewUrl = function convertOriginToViewUrl(origin) { + var moduleId = origin.moduleId; + var id = moduleId.endsWith('.js') || moduleId.endsWith('.ts') ? moduleId.substring(0, moduleId.length - 3) : moduleId; + return id + '.html'; + }; - var result = callbackOrConfig; - var config = void 0; - if (typeof callbackOrConfig === 'function') { - config = new RouterConfiguration(); - result = callbackOrConfig(config); - } + return ViewLocator; + }(), _class7.viewStrategyMetadataKey = 'aurelia:view-strategy', _temp2); - return Promise.resolve(result).then(function (c) { - if (c && c.exportToRouter) { - config = c; - } - config.exportToRouter(_this4); - _this4.isConfigured = true; - _this4._resolveConfiguredPromise(); - }); - }; + function mi(name) { + throw new Error('BindingLanguage must implement ' + name + '().'); + } - Router.prototype.navigate = function navigate(fragment, options) { - if (!this.isConfigured && this.parent) { - return this.parent.navigate(fragment, options); - } + var BindingLanguage = exports.BindingLanguage = function () { + function BindingLanguage() { + + } - return this.history.navigate(_resolveUrl(fragment, this.baseUrl, this.history._hasPushState), options); + BindingLanguage.prototype.inspectAttribute = function inspectAttribute(resources, elementName, attrName, attrValue) { + mi('inspectAttribute'); }; - Router.prototype.navigateToRoute = function navigateToRoute(route, params, options) { - var path = this.generate(route, params); - return this.navigate(path, options); + BindingLanguage.prototype.createAttributeInstruction = function createAttributeInstruction(resources, element, info, existingInstruction) { + mi('createAttributeInstruction'); }; - Router.prototype.navigateBack = function navigateBack() { - this.history.navigateBack(); + BindingLanguage.prototype.inspectTextContent = function inspectTextContent(resources, value) { + mi('inspectTextContent'); }; - Router.prototype.createChild = function createChild(container) { - var childRouter = new Router(container || this.container.createChild(), this.history); - childRouter.parent = this; - return childRouter; - }; + return BindingLanguage; + }(); - Router.prototype.generate = function generate(name, params) { - var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + var noNodes = Object.freeze([]); - var hasRoute = this._recognizer.hasRoute(name); - if ((!this.isConfigured || !hasRoute) && this.parent) { - return this.parent.generate(name, params); - } + var SlotCustomAttribute = exports.SlotCustomAttribute = (_dec6 = (0, _aureliaDependencyInjection.inject)(_aureliaPal.DOM.Element), _dec6(_class8 = function () { + function SlotCustomAttribute(element) { + - if (!hasRoute) { - throw new Error('A route with name \'' + name + '\' could not be found. Check that `name: \'' + name + '\'` was specified in the route\'s config.'); - } + this.element = element; + this.element.auSlotAttribute = this; + } - var path = this._recognizer.generate(name, params); - var rootedPath = _createRootedPath(path, this.baseUrl, this.history._hasPushState, options.absolute); - return options.absolute ? '' + this.history.getAbsoluteRoot() + rootedPath : rootedPath; - }; + SlotCustomAttribute.prototype.valueChanged = function valueChanged(newValue, oldValue) {}; - Router.prototype.createNavModel = function createNavModel(config) { - var navModel = new NavModel(this, 'href' in config ? config.href : config.route); - navModel.title = config.title; - navModel.order = config.nav; - navModel.href = config.href; - navModel.settings = config.settings; - navModel.config = config; + return SlotCustomAttribute; + }()) || _class8); - return navModel; - }; + var PassThroughSlot = exports.PassThroughSlot = function () { + function PassThroughSlot(anchor, name, destinationName, fallbackFactory) { + - Router.prototype.addRoute = function addRoute(config, navModel) { - validateRouteConfig(config, this.routes); + this.anchor = anchor; + this.anchor.viewSlot = this; + this.name = name; + this.destinationName = destinationName; + this.fallbackFactory = fallbackFactory; + this.destinationSlot = null; + this.projections = 0; + this.contentView = null; - if (!('viewPorts' in config) && !config.navigationStrategy) { - config.viewPorts = { - 'default': { - moduleId: config.moduleId, - view: config.view - } - }; - } + var attr = new SlotCustomAttribute(this.anchor); + attr.value = this.destinationName; + } - if (!navModel) { - navModel = this.createNavModel(config); - } + PassThroughSlot.prototype.renderFallbackContent = function renderFallbackContent(view, nodes, projectionSource, index) { + if (this.contentView === null) { + this.contentView = this.fallbackFactory.create(this.ownerView.container); + this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext); - this.routes.push(config); + var slots = Object.create(null); + slots[this.destinationSlot.name] = this.destinationSlot; - var path = config.route; - if (path.charAt(0) === '/') { - path = path.substr(1); + ShadowDOM.distributeView(this.contentView, slots, projectionSource, index, this.destinationSlot.name); } - var caseSensitive = config.caseSensitive === true; - var state = this._recognizer.add({ path: path, handler: config, caseSensitive: caseSensitive }); + }; - if (path) { - var _settings = config.settings; - delete config.settings; - var withChild = JSON.parse(JSON.stringify(config)); - config.settings = _settings; - withChild.route = path + '/*childRoute'; - withChild.hasChildRouter = true; - this._childRecognizer.add({ - path: withChild.route, - handler: withChild, - caseSensitive: caseSensitive - }); + PassThroughSlot.prototype.passThroughTo = function passThroughTo(destinationSlot) { + this.destinationSlot = destinationSlot; + }; - withChild.navModel = navModel; - withChild.settings = config.settings; - withChild.navigationStrategy = config.navigationStrategy; + PassThroughSlot.prototype.addNode = function addNode(view, node, projectionSource, index) { + if (this.contentView !== null) { + this.contentView.removeNodes(); + this.contentView.detached(); + this.contentView.unbind(); + this.contentView = null; } - config.navModel = navModel; + if (node.viewSlot instanceof PassThroughSlot) { + node.viewSlot.passThroughTo(this); + return; + } - if ((navModel.order || navModel.order === 0) && this.navigation.indexOf(navModel) === -1) { - if (!navModel.href && navModel.href !== '' && (state.types.dynamics || state.types.stars)) { - throw new Error('Invalid route config for "' + config.route + '" : dynamic routes must specify an "href:" to be included in the navigation model.'); - } + this.projections++; + this.destinationSlot.addNode(view, node, projectionSource, index); + }; - if (typeof navModel.order !== 'number') { - navModel.order = ++this._fallbackOrder; - } + PassThroughSlot.prototype.removeView = function removeView(view, projectionSource) { + this.projections--; + this.destinationSlot.removeView(view, projectionSource); - this.navigation.push(navModel); - this.navigation = this.navigation.sort(function (a, b) { - return a.order - b.order; - }); + if (this.needsFallbackRendering) { + this.renderFallbackContent(null, noNodes, projectionSource); } }; - Router.prototype.hasRoute = function hasRoute(name) { - return !!(this._recognizer.hasRoute(name) || this.parent && this.parent.hasRoute(name)); + PassThroughSlot.prototype.removeAll = function removeAll(projectionSource) { + this.projections = 0; + this.destinationSlot.removeAll(projectionSource); + + if (this.needsFallbackRendering) { + this.renderFallbackContent(null, noNodes, projectionSource); + } }; - Router.prototype.hasOwnRoute = function hasOwnRoute(name) { - return this._recognizer.hasRoute(name); + PassThroughSlot.prototype.projectFrom = function projectFrom(view, projectionSource) { + this.destinationSlot.projectFrom(view, projectionSource); }; - Router.prototype.handleUnknownRoutes = function handleUnknownRoutes(config) { - var _this5 = this; + PassThroughSlot.prototype.created = function created(ownerView) { + this.ownerView = ownerView; + }; - if (!config) { - throw new Error('Invalid unknown route handler'); + PassThroughSlot.prototype.bind = function bind(view) { + if (this.contentView) { + this.contentView.bind(view.bindingContext, view.overrideContext); } - - this.catchAllHandler = function (instruction) { - return _this5._createRouteConfig(config, instruction).then(function (c) { - instruction.config = c; - return instruction; - }); - }; }; - Router.prototype.updateTitle = function updateTitle() { - if (this.parent) { - return this.parent.updateTitle(); + PassThroughSlot.prototype.attached = function attached() { + if (this.contentView) { + this.contentView.attached(); } + }; - if (this.currentInstruction) { - this.currentInstruction._updateTitle(); + PassThroughSlot.prototype.detached = function detached() { + if (this.contentView) { + this.contentView.detached(); } - return undefined; }; - Router.prototype.refreshNavigation = function refreshNavigation() { - var nav = this.navigation; - - for (var i = 0, length = nav.length; i < length; i++) { - var current = nav[i]; - if (!current.config.href) { - current.href = _createRootedPath(current.relativeHref, this.baseUrl, this.history._hasPushState); - } else { - current.href = _normalizeAbsolutePath(current.config.href, this.history._hasPushState); - } + PassThroughSlot.prototype.unbind = function unbind() { + if (this.contentView) { + this.contentView.unbind(); } }; - Router.prototype._refreshBaseUrl = function _refreshBaseUrl() { - if (this.parent) { - var baseUrl = this.parent.currentInstruction.getBaseUrl(); - this.baseUrl = this.parent.baseUrl + baseUrl; + _createClass(PassThroughSlot, [{ + key: 'needsFallbackRendering', + get: function get() { + return this.fallbackFactory && this.projections === 0; } - }; + }]); - Router.prototype._createNavigationInstruction = function _createNavigationInstruction() { - var url = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; - var parentInstruction = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; + return PassThroughSlot; + }(); - var fragment = url; - var queryString = ''; + var ShadowSlot = exports.ShadowSlot = function () { + function ShadowSlot(anchor, name, fallbackFactory) { + - var queryIndex = url.indexOf('?'); - if (queryIndex !== -1) { - fragment = url.substr(0, queryIndex); - queryString = url.substr(queryIndex + 1); + this.anchor = anchor; + this.anchor.isContentProjectionSource = true; + this.anchor.viewSlot = this; + this.name = name; + this.fallbackFactory = fallbackFactory; + this.contentView = null; + this.projections = 0; + this.children = []; + this.projectFromAnchors = null; + this.destinationSlots = null; + } + + ShadowSlot.prototype.addNode = function addNode(view, node, projectionSource, index, destination) { + if (this.contentView !== null) { + this.contentView.removeNodes(); + this.contentView.detached(); + this.contentView.unbind(); + this.contentView = null; } - var results = this._recognizer.recognize(url); - if (!results || !results.length) { - results = this._childRecognizer.recognize(url); + if (node.viewSlot instanceof PassThroughSlot) { + node.viewSlot.passThroughTo(this); + return; } - var instructionInit = { - fragment: fragment, - queryString: queryString, - config: null, - parentInstruction: parentInstruction, - previousInstruction: this.currentInstruction, - router: this, - options: { - compareQueryParams: this.options.compareQueryParams - } - }; + if (this.destinationSlots !== null) { + ShadowDOM.distributeNodes(view, [node], this.destinationSlots, this, index); + } else { + node.auOwnerView = view; + node.auProjectionSource = projectionSource; + node.auAssignedSlot = this; - if (results && results.length) { - var first = results[0]; - var _instruction = new NavigationInstruction(Object.assign({}, instructionInit, { - params: first.params, - queryParams: first.queryParams || results.queryParams, - config: first.config || first.handler - })); + var anchor = this._findAnchor(view, node, projectionSource, index); + var parent = anchor.parentNode; - if (typeof first.handler === 'function') { - return evaluateNavigationStrategy(_instruction, first.handler, first); - } else if (first.handler && typeof first.handler.navigationStrategy === 'function') { - return evaluateNavigationStrategy(_instruction, first.handler.navigationStrategy, first.handler); - } + parent.insertBefore(node, anchor); + this.children.push(node); + this.projections++; + } + }; - return Promise.resolve(_instruction); - } else if (this.catchAllHandler) { - var _instruction2 = new NavigationInstruction(Object.assign({}, instructionInit, { - params: { path: fragment }, - queryParams: results && results.queryParams, - config: null })); + ShadowSlot.prototype.removeView = function removeView(view, projectionSource) { + if (this.destinationSlots !== null) { + ShadowDOM.undistributeView(view, this.destinationSlots, this); + } else if (this.contentView && this.contentView.hasSlots) { + ShadowDOM.undistributeView(view, this.contentView.slots, projectionSource); + } else { + var found = this.children.find(function (x) { + return x.auSlotProjectFrom === projectionSource; + }); + if (found) { + var _children = found.auProjectionChildren; - return evaluateNavigationStrategy(_instruction2, this.catchAllHandler); - } + for (var i = 0, ii = _children.length; i < ii; ++i) { + var _child = _children[i]; - return Promise.reject(new Error('Route not found: ' + url)); + if (_child.auOwnerView === view) { + _children.splice(i, 1); + view.fragment.appendChild(_child); + i--;ii--; + this.projections--; + } + } + + if (this.needsFallbackRendering) { + this.renderFallbackContent(view, noNodes, projectionSource); + } + } + } }; - Router.prototype._createRouteConfig = function _createRouteConfig(config, instruction) { - var _this6 = this; + ShadowSlot.prototype.removeAll = function removeAll(projectionSource) { + if (this.destinationSlots !== null) { + ShadowDOM.undistributeAll(this.destinationSlots, this); + } else if (this.contentView && this.contentView.hasSlots) { + ShadowDOM.undistributeAll(this.contentView.slots, projectionSource); + } else { + var found = this.children.find(function (x) { + return x.auSlotProjectFrom === projectionSource; + }); - return Promise.resolve(config).then(function (c) { - if (typeof c === 'string') { - return { moduleId: c }; - } else if (typeof c === 'function') { - return c(instruction); + if (found) { + var _children2 = found.auProjectionChildren; + for (var i = 0, ii = _children2.length; i < ii; ++i) { + var _child2 = _children2[i]; + _child2.auOwnerView.fragment.appendChild(_child2); + this.projections--; + } + + found.auProjectionChildren = []; + + if (this.needsFallbackRendering) { + this.renderFallbackContent(null, noNodes, projectionSource); + } } + } + }; - return c; - }).then(function (c) { - return typeof c === 'string' ? { moduleId: c } : c; - }).then(function (c) { - c.route = instruction.params.path; - validateRouteConfig(c, _this6.routes); + ShadowSlot.prototype._findAnchor = function _findAnchor(view, node, projectionSource, index) { + if (projectionSource) { + var found = this.children.find(function (x) { + return x.auSlotProjectFrom === projectionSource; + }); + if (found) { + if (index !== undefined) { + var _children3 = found.auProjectionChildren; + var viewIndex = -1; + var lastView = void 0; - if (!c.navModel) { - c.navModel = _this6.createNavModel(c); + for (var i = 0, ii = _children3.length; i < ii; ++i) { + var current = _children3[i]; + + if (current.auOwnerView !== lastView) { + viewIndex++; + lastView = current.auOwnerView; + + if (viewIndex >= index && lastView !== view) { + _children3.splice(i, 0, node); + return current; + } + } + } + } + + found.auProjectionChildren.push(node); + return found; } + } - return c; - }); + return this.anchor; }; - _createClass(Router, [{ - key: 'isRoot', - get: function get() { - return !this.parent; - } - }]); - - return Router; - }(); + ShadowSlot.prototype.projectTo = function projectTo(slots) { + this.destinationSlots = slots; + }; - function validateRouteConfig(config, routes) { - if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) !== 'object') { - throw new Error('Invalid Route Config'); - } + ShadowSlot.prototype.projectFrom = function projectFrom(view, projectionSource) { + var anchor = _aureliaPal.DOM.createComment('anchor'); + var parent = this.anchor.parentNode; + anchor.auSlotProjectFrom = projectionSource; + anchor.auOwnerView = view; + anchor.auProjectionChildren = []; + parent.insertBefore(anchor, this.anchor); + this.children.push(anchor); - if (typeof config.route !== 'string') { - var _name2 = config.name || '(no name)'; - throw new Error('Invalid Route Config for "' + _name2 + '": You must specify a "route:" pattern.'); - } + if (this.projectFromAnchors === null) { + this.projectFromAnchors = []; + } - if (!('redirect' in config || config.moduleId || config.navigationStrategy || config.viewPorts)) { - throw new Error('Invalid Route Config for "' + config.route + '": You must specify a "moduleId:", "redirect:", "navigationStrategy:", or "viewPorts:".'); - } - } + this.projectFromAnchors.push(anchor); + }; - function evaluateNavigationStrategy(instruction, evaluator, context) { - return Promise.resolve(evaluator.call(context, instruction)).then(function () { - if (!('viewPorts' in instruction.config)) { - instruction.config.viewPorts = { - 'default': { - moduleId: instruction.config.moduleId - } - }; + ShadowSlot.prototype.renderFallbackContent = function renderFallbackContent(view, nodes, projectionSource, index) { + if (this.contentView === null) { + this.contentView = this.fallbackFactory.create(this.ownerView.container); + this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext); + this.contentView.insertNodesBefore(this.anchor); } - return instruction; - }); - } + if (this.contentView.hasSlots) { + var slots = this.contentView.slots; + var projectFromAnchors = this.projectFromAnchors; - var CanDeactivatePreviousStep = exports.CanDeactivatePreviousStep = function () { - function CanDeactivatePreviousStep() { - - } + if (projectFromAnchors !== null) { + for (var slotName in slots) { + var slot = slots[slotName]; - CanDeactivatePreviousStep.prototype.run = function run(navigationInstruction, next) { - return processDeactivatable(navigationInstruction.plan, 'canDeactivate', next); - }; + for (var i = 0, ii = projectFromAnchors.length; i < ii; ++i) { + var anchor = projectFromAnchors[i]; + slot.projectFrom(anchor.auOwnerView, anchor.auSlotProjectFrom); + } + } + } - return CanDeactivatePreviousStep; - }(); + this.fallbackSlots = slots; + ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index); + } + }; - var CanActivateNextStep = exports.CanActivateNextStep = function () { - function CanActivateNextStep() { - - } + ShadowSlot.prototype.created = function created(ownerView) { + this.ownerView = ownerView; + }; - CanActivateNextStep.prototype.run = function run(navigationInstruction, next) { - return processActivatable(navigationInstruction, 'canActivate', next); + ShadowSlot.prototype.bind = function bind(view) { + if (this.contentView) { + this.contentView.bind(view.bindingContext, view.overrideContext); + } }; - return CanActivateNextStep; - }(); + ShadowSlot.prototype.attached = function attached() { + if (this.contentView) { + this.contentView.attached(); + } + }; - var DeactivatePreviousStep = exports.DeactivatePreviousStep = function () { - function DeactivatePreviousStep() { - - } + ShadowSlot.prototype.detached = function detached() { + if (this.contentView) { + this.contentView.detached(); + } + }; - DeactivatePreviousStep.prototype.run = function run(navigationInstruction, next) { - return processDeactivatable(navigationInstruction.plan, 'deactivate', next, true); + ShadowSlot.prototype.unbind = function unbind() { + if (this.contentView) { + this.contentView.unbind(); + } }; - return DeactivatePreviousStep; + _createClass(ShadowSlot, [{ + key: 'needsFallbackRendering', + get: function get() { + return this.fallbackFactory && this.projections === 0; + } + }]); + + return ShadowSlot; }(); - var ActivateNextStep = exports.ActivateNextStep = function () { - function ActivateNextStep() { + var ShadowDOM = exports.ShadowDOM = (_temp3 = _class9 = function () { + function ShadowDOM() { } - ActivateNextStep.prototype.run = function run(navigationInstruction, next) { - return processActivatable(navigationInstruction, 'activate', next, true); + ShadowDOM.getSlotName = function getSlotName(node) { + if (node.auSlotAttribute === undefined) { + return ShadowDOM.defaultSlotKey; + } + + return node.auSlotAttribute.value; }; - return ActivateNextStep; - }(); + ShadowDOM.distributeView = function distributeView(view, slots, projectionSource, index, destinationOverride) { + var nodes = void 0; - function processDeactivatable(plan, callbackName, next, ignoreResult) { - var infos = findDeactivatable(plan, callbackName); - var i = infos.length; + if (view === null) { + nodes = noNodes; + } else { + var childNodes = view.fragment.childNodes; + var ii = childNodes.length; + nodes = new Array(ii); - function inspect(val) { - if (ignoreResult || shouldContinue(val)) { - return iterate(); + for (var i = 0; i < ii; ++i) { + nodes[i] = childNodes[i]; + } } - return next.cancel(val); - } + ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride); + }; - function iterate() { - if (i--) { - try { - var viewModel = infos[i]; - var _result = viewModel[callbackName](); - return processPotential(_result, inspect, next.cancel); - } catch (error) { - return next.cancel(error); - } + ShadowDOM.undistributeView = function undistributeView(view, slots, projectionSource) { + for (var slotName in slots) { + slots[slotName].removeView(view, projectionSource); } + }; - return next(); - } + ShadowDOM.undistributeAll = function undistributeAll(slots, projectionSource) { + for (var slotName in slots) { + slots[slotName].removeAll(projectionSource); + } + }; - return iterate(); - } + ShadowDOM.distributeNodes = function distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride) { + for (var i = 0, ii = nodes.length; i < ii; ++i) { + var currentNode = nodes[i]; + var nodeType = currentNode.nodeType; - function findDeactivatable(plan, callbackName) { - var list = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2]; + if (currentNode.isContentProjectionSource) { + currentNode.viewSlot.projectTo(slots); - for (var viewPortName in plan) { - var _viewPortPlan = plan[viewPortName]; - var prevComponent = _viewPortPlan.prevComponent; + for (var slotName in slots) { + slots[slotName].projectFrom(view, currentNode.viewSlot); + } - if ((_viewPortPlan.strategy === activationStrategy.invokeLifecycle || _viewPortPlan.strategy === activationStrategy.replace) && prevComponent) { - var viewModel = prevComponent.viewModel; + nodes.splice(i, 1); + ii--;i--; + } else if (nodeType === 1 || nodeType === 3 || currentNode.viewSlot instanceof PassThroughSlot) { + if (nodeType === 3 && _isAllWhitespace(currentNode)) { + nodes.splice(i, 1); + ii--;i--; + } else { + var found = slots[destinationOverride || ShadowDOM.getSlotName(currentNode)]; - if (callbackName in viewModel) { - list.push(viewModel); + if (found) { + found.addNode(view, currentNode, projectionSource, index); + nodes.splice(i, 1); + ii--;i--; + } + } + } else { + nodes.splice(i, 1); + ii--;i--; } } - if (_viewPortPlan.childNavigationInstruction) { - findDeactivatable(_viewPortPlan.childNavigationInstruction.plan, callbackName, list); - } else if (prevComponent) { - addPreviousDeactivatable(prevComponent, callbackName, list); - } - } - - return list; - } + for (var _slotName in slots) { + var slot = slots[_slotName]; - function addPreviousDeactivatable(component, callbackName, list) { - var childRouter = component.childRouter; + if (slot.needsFallbackRendering) { + slot.renderFallbackContent(view, nodes, projectionSource, index); + } + } + }; - if (childRouter && childRouter.currentInstruction) { - var viewPortInstructions = childRouter.currentInstruction.viewPortInstructions; + return ShadowDOM; + }(), _class9.defaultSlotKey = '__au-default-slot-key__', _temp3); - for (var viewPortName in viewPortInstructions) { - var _viewPortInstruction2 = viewPortInstructions[viewPortName]; - var prevComponent = _viewPortInstruction2.component; - var prevViewModel = prevComponent.viewModel; - if (callbackName in prevViewModel) { - list.push(prevViewModel); - } + function register(lookup, name, resource, type) { + if (!name) { + return; + } - addPreviousDeactivatable(prevComponent, callbackName, list); + var existing = lookup[name]; + if (existing) { + if (existing !== resource) { + throw new Error('Attempted to register ' + type + ' when one with the same name already exists. Name: ' + name + '.'); } + + return; } + + lookup[name] = resource; } - function processActivatable(navigationInstruction, callbackName, next, ignoreResult) { - var infos = findActivatable(navigationInstruction, callbackName); - var length = infos.length; - var i = -1; + var ViewResources = exports.ViewResources = function () { + function ViewResources(parent, viewUrl) { + - function inspect(val, router) { - if (ignoreResult || shouldContinue(val, router)) { - return iterate(); - } + this.bindingLanguage = null; - return next.cancel(val); + this.parent = parent || null; + this.hasParent = this.parent !== null; + this.viewUrl = viewUrl || ''; + this.lookupFunctions = { + valueConverters: this.getValueConverter.bind(this), + bindingBehaviors: this.getBindingBehavior.bind(this) + }; + this.attributes = Object.create(null); + this.elements = Object.create(null); + this.valueConverters = Object.create(null); + this.bindingBehaviors = Object.create(null); + this.attributeMap = Object.create(null); + this.values = Object.create(null); + this.beforeCompile = this.afterCompile = this.beforeCreate = this.afterCreate = this.beforeBind = this.beforeUnbind = false; } - function iterate() { - i++; - - if (i < length) { - try { - var _ret3 = function () { - var _current$viewModel; - - var current = infos[i]; - var result = (_current$viewModel = current.viewModel)[callbackName].apply(_current$viewModel, current.lifecycleArgs); - return { - v: processPotential(result, function (val) { - return inspect(val, current.router); - }, next.cancel) - }; - }(); + ViewResources.prototype._tryAddHook = function _tryAddHook(obj, name) { + if (typeof obj[name] === 'function') { + var func = obj[name].bind(obj); + var counter = 1; + var callbackName = void 0; - if ((typeof _ret3 === 'undefined' ? 'undefined' : _typeof(_ret3)) === "object") return _ret3.v; - } catch (error) { - return next.cancel(error); + while (this[callbackName = name + counter.toString()] !== undefined) { + counter++; } + + this[name] = true; + this[callbackName] = func; } + }; - return next(); - } + ViewResources.prototype._invokeHook = function _invokeHook(name, one, two, three, four) { + if (this.hasParent) { + this.parent._invokeHook(name, one, two, three, four); + } - return iterate(); - } + if (this[name]) { + this[name + '1'](one, two, three, four); - function findActivatable(navigationInstruction, callbackName) { - var list = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2]; - var router = arguments[3]; + var callbackName = name + '2'; + if (this[callbackName]) { + this[callbackName](one, two, three, four); - var plan = navigationInstruction.plan; + callbackName = name + '3'; + if (this[callbackName]) { + this[callbackName](one, two, three, four); - Object.keys(plan).filter(function (viewPortName) { - var viewPortPlan = plan[viewPortName]; - var viewPortInstruction = navigationInstruction.viewPortInstructions[viewPortName]; - var viewModel = viewPortInstruction.component.viewModel; + var counter = 4; - if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle || viewPortPlan.strategy === activationStrategy.replace) && callbackName in viewModel) { - list.push({ - viewModel: viewModel, - lifecycleArgs: viewPortInstruction.lifecycleArgs, - router: router - }); + while (this[callbackName = name + counter.toString()] !== undefined) { + this[callbackName](one, two, three, four); + counter++; + } + } + } } + }; - if (viewPortPlan.childNavigationInstruction) { - findActivatable(viewPortPlan.childNavigationInstruction, callbackName, list, viewPortInstruction.component.childRouter || router); - } - }); + ViewResources.prototype.registerViewEngineHooks = function registerViewEngineHooks(hooks) { + this._tryAddHook(hooks, 'beforeCompile'); + this._tryAddHook(hooks, 'afterCompile'); + this._tryAddHook(hooks, 'beforeCreate'); + this._tryAddHook(hooks, 'afterCreate'); + this._tryAddHook(hooks, 'beforeBind'); + this._tryAddHook(hooks, 'beforeUnbind'); + }; - return list; - } + ViewResources.prototype.getBindingLanguage = function getBindingLanguage(bindingLanguageFallback) { + return this.bindingLanguage || (this.bindingLanguage = bindingLanguageFallback); + }; - function shouldContinue(output, router) { - if (output instanceof Error) { - return false; - } + ViewResources.prototype.patchInParent = function patchInParent(newParent) { + var originalParent = this.parent; - if (isNavigationCommand(output)) { - if (typeof output.setRouter === 'function') { - output.setRouter(router); + this.parent = newParent || null; + this.hasParent = this.parent !== null; + + if (newParent.parent === null) { + newParent.parent = originalParent; + newParent.hasParent = originalParent !== null; } + }; - return !!output.shouldContinueProcessing; - } + ViewResources.prototype.relativeToView = function relativeToView(path) { + return (0, _aureliaPath.relativeToFile)(path, this.viewUrl); + }; - if (output === undefined) { - return true; - } + ViewResources.prototype.registerElement = function registerElement(tagName, behavior) { + register(this.elements, tagName, behavior, 'an Element'); + }; - return output; - } + ViewResources.prototype.getElement = function getElement(tagName) { + return this.elements[tagName] || (this.hasParent ? this.parent.getElement(tagName) : null); + }; - var SafeSubscription = function () { - function SafeSubscription(subscriptionFunc) { - + ViewResources.prototype.mapAttribute = function mapAttribute(attribute) { + return this.attributeMap[attribute] || (this.hasParent ? this.parent.mapAttribute(attribute) : null); + }; - this._subscribed = true; - this._subscription = subscriptionFunc(this); + ViewResources.prototype.registerAttribute = function registerAttribute(attribute, behavior, knownAttribute) { + this.attributeMap[attribute] = knownAttribute; + register(this.attributes, attribute, behavior, 'an Attribute'); + }; - if (!this._subscribed) this.unsubscribe(); - } + ViewResources.prototype.getAttribute = function getAttribute(attribute) { + return this.attributes[attribute] || (this.hasParent ? this.parent.getAttribute(attribute) : null); + }; - SafeSubscription.prototype.unsubscribe = function unsubscribe() { - if (this._subscribed && this._subscription) this._subscription.unsubscribe(); + ViewResources.prototype.registerValueConverter = function registerValueConverter(name, valueConverter) { + register(this.valueConverters, name, valueConverter, 'a ValueConverter'); + }; - this._subscribed = false; + ViewResources.prototype.getValueConverter = function getValueConverter(name) { + return this.valueConverters[name] || (this.hasParent ? this.parent.getValueConverter(name) : null); }; - _createClass(SafeSubscription, [{ - key: 'subscribed', - get: function get() { - return this._subscribed; - } - }]); + ViewResources.prototype.registerBindingBehavior = function registerBindingBehavior(name, bindingBehavior) { + register(this.bindingBehaviors, name, bindingBehavior, 'a BindingBehavior'); + }; - return SafeSubscription; - }(); + ViewResources.prototype.getBindingBehavior = function getBindingBehavior(name) { + return this.bindingBehaviors[name] || (this.hasParent ? this.parent.getBindingBehavior(name) : null); + }; - function processPotential(obj, resolve, reject) { - if (obj && typeof obj.then === 'function') { - return Promise.resolve(obj).then(resolve).catch(reject); - } + ViewResources.prototype.registerValue = function registerValue(name, value) { + register(this.values, name, value, 'a value'); + }; - if (obj && typeof obj.subscribe === 'function') { - var _ret4 = function () { - var obs = obj; - return { - v: new SafeSubscription(function (sub) { - return obs.subscribe({ - next: function next() { - if (sub.subscribed) { - sub.unsubscribe(); - resolve(obj); - } - }, - error: function error(_error) { - if (sub.subscribed) { - sub.unsubscribe(); - reject(_error); - } - }, - complete: function complete() { - if (sub.subscribed) { - sub.unsubscribe(); - resolve(obj); - } - } - }); - }) - }; - }(); + ViewResources.prototype.getValue = function getValue(name) { + return this.values[name] || (this.hasParent ? this.parent.getValue(name) : null); + }; - if ((typeof _ret4 === 'undefined' ? 'undefined' : _typeof(_ret4)) === "object") return _ret4.v; - } + return ViewResources; + }(); - try { - return resolve(obj); - } catch (error) { - return reject(error); - } - } + var View = exports.View = function () { + function View(container, viewFactory, fragment, controllers, bindings, children, slots) { + + + this.container = container; + this.viewFactory = viewFactory; + this.resources = viewFactory.resources; + this.fragment = fragment; + this.firstChild = fragment.firstChild; + this.lastChild = fragment.lastChild; + this.controllers = controllers; + this.bindings = bindings; + this.children = children; + this.slots = slots; + this.hasSlots = false; + this.fromCache = false; + this.isBound = false; + this.isAttached = false; + this.bindingContext = null; + this.overrideContext = null; + this.controller = null; + this.viewModelScope = null; + this.animatableElement = undefined; + this._isUserControlled = false; + this.contentView = null; - var RouteLoader = exports.RouteLoader = function () { - function RouteLoader() { - + for (var key in slots) { + this.hasSlots = true; + break; + } } - RouteLoader.prototype.loadRoute = function loadRoute(router, config, navigationInstruction) { - throw Error('Route loaders must implement "loadRoute(router, config, navigationInstruction)".'); + View.prototype.returnToCache = function returnToCache() { + this.viewFactory.returnViewToCache(this); }; - return RouteLoader; - }(); + View.prototype.created = function created() { + var i = void 0; + var ii = void 0; + var controllers = this.controllers; - var LoadRouteStep = exports.LoadRouteStep = function () { - LoadRouteStep.inject = function inject() { - return [RouteLoader]; + for (i = 0, ii = controllers.length; i < ii; ++i) { + controllers[i].created(this); + } }; - function LoadRouteStep(routeLoader) { - + View.prototype.bind = function bind(bindingContext, overrideContext, _systemUpdate) { + var controllers = void 0; + var bindings = void 0; + var children = void 0; + var i = void 0; + var ii = void 0; - this.routeLoader = routeLoader; - } + if (_systemUpdate && this._isUserControlled) { + return; + } - LoadRouteStep.prototype.run = function run(navigationInstruction, next) { - return loadNewRoute(this.routeLoader, navigationInstruction).then(next).catch(next.cancel); - }; + if (this.isBound) { + if (this.bindingContext === bindingContext) { + return; + } - return LoadRouteStep; - }(); + this.unbind(); + } - function loadNewRoute(routeLoader, navigationInstruction) { - var toLoad = determineWhatToLoad(navigationInstruction); - var loadPromises = toLoad.map(function (current) { - return loadRoute(routeLoader, current.navigationInstruction, current.viewPortPlan); - }); + this.isBound = true; + this.bindingContext = bindingContext; + this.overrideContext = overrideContext || (0, _aureliaBinding.createOverrideContext)(bindingContext); - return Promise.all(loadPromises); - } + this.resources._invokeHook('beforeBind', this); - function determineWhatToLoad(navigationInstruction) { - var toLoad = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; + bindings = this.bindings; + for (i = 0, ii = bindings.length; i < ii; ++i) { + bindings[i].bind(this); + } - var plan = navigationInstruction.plan; + if (this.viewModelScope !== null) { + bindingContext.bind(this.viewModelScope.bindingContext, this.viewModelScope.overrideContext); + this.viewModelScope = null; + } - for (var viewPortName in plan) { - var _viewPortPlan2 = plan[viewPortName]; + controllers = this.controllers; + for (i = 0, ii = controllers.length; i < ii; ++i) { + controllers[i].bind(this); + } - if (_viewPortPlan2.strategy === activationStrategy.replace) { - toLoad.push({ viewPortPlan: _viewPortPlan2, navigationInstruction: navigationInstruction }); + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + children[i].bind(bindingContext, overrideContext, true); + } - if (_viewPortPlan2.childNavigationInstruction) { - determineWhatToLoad(_viewPortPlan2.childNavigationInstruction, toLoad); + if (this.hasSlots) { + ShadowDOM.distributeView(this.contentView, this.slots); + } + }; + + View.prototype.addBinding = function addBinding(binding) { + this.bindings.push(binding); + + if (this.isBound) { + binding.bind(this); + } + }; + + View.prototype.unbind = function unbind() { + var controllers = void 0; + var bindings = void 0; + var children = void 0; + var i = void 0; + var ii = void 0; + + if (this.isBound) { + this.isBound = false; + this.resources._invokeHook('beforeUnbind', this); + + if (this.controller !== null) { + this.controller.unbind(); } - } else { - var _viewPortInstruction3 = navigationInstruction.addViewPortInstruction(viewPortName, _viewPortPlan2.strategy, _viewPortPlan2.prevModuleId, _viewPortPlan2.prevComponent); - if (_viewPortPlan2.childNavigationInstruction) { - _viewPortInstruction3.childNavigationInstruction = _viewPortPlan2.childNavigationInstruction; - determineWhatToLoad(_viewPortPlan2.childNavigationInstruction, toLoad); + bindings = this.bindings; + for (i = 0, ii = bindings.length; i < ii; ++i) { + bindings[i].unbind(); + } + + controllers = this.controllers; + for (i = 0, ii = controllers.length; i < ii; ++i) { + controllers[i].unbind(); + } + + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + children[i].unbind(); } + + this.bindingContext = null; + this.overrideContext = null; } - } + }; - return toLoad; - } + View.prototype.insertNodesBefore = function insertNodesBefore(refNode) { + refNode.parentNode.insertBefore(this.fragment, refNode); + }; - function loadRoute(routeLoader, navigationInstruction, viewPortPlan) { - var moduleId = viewPortPlan.config.moduleId; + View.prototype.appendNodesTo = function appendNodesTo(parent) { + parent.appendChild(this.fragment); + }; - return loadComponent(routeLoader, navigationInstruction, viewPortPlan.config).then(function (component) { - var viewPortInstruction = navigationInstruction.addViewPortInstruction(viewPortPlan.name, viewPortPlan.strategy, moduleId, component); + View.prototype.removeNodes = function removeNodes() { + var fragment = this.fragment; + var current = this.firstChild; + var end = this.lastChild; + var next = void 0; - var childRouter = component.childRouter; - if (childRouter) { - var path = navigationInstruction.getWildcardPath(); + while (current) { + next = current.nextSibling; + fragment.appendChild(current); - return childRouter._createNavigationInstruction(path, navigationInstruction).then(function (childInstruction) { - viewPortPlan.childNavigationInstruction = childInstruction; + if (current === end) { + break; + } - return _buildNavigationPlan(childInstruction).then(function (childPlan) { - childInstruction.plan = childPlan; - viewPortInstruction.childNavigationInstruction = childInstruction; + current = next; + } + }; - return loadNewRoute(routeLoader, childInstruction); - }); - }); + View.prototype.attached = function attached() { + var controllers = void 0; + var children = void 0; + var i = void 0; + var ii = void 0; + + if (this.isAttached) { + return; } - return undefined; - }); - } + this.isAttached = true; - function loadComponent(routeLoader, navigationInstruction, config) { - var router = navigationInstruction.router; - var lifecycleArgs = navigationInstruction.lifecycleArgs; + if (this.controller !== null) { + this.controller.attached(); + } - return routeLoader.loadRoute(router, config, navigationInstruction).then(function (component) { - var viewModel = component.viewModel; - var childContainer = component.childContainer; + controllers = this.controllers; + for (i = 0, ii = controllers.length; i < ii; ++i) { + controllers[i].attached(); + } - component.router = router; - component.config = config; + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + children[i].attached(); + } + }; - if ('configureRouter' in viewModel) { - var _ret5 = function () { - var childRouter = childContainer.getChildRouter(); - component.childRouter = childRouter; + View.prototype.detached = function detached() { + var controllers = void 0; + var children = void 0; + var i = void 0; + var ii = void 0; - return { - v: childRouter.configure(function (c) { - return viewModel.configureRouter.apply(viewModel, [c, childRouter].concat(lifecycleArgs)); - }).then(function () { - return component; - }) - }; - }(); + if (this.isAttached) { + this.isAttached = false; - if ((typeof _ret5 === 'undefined' ? 'undefined' : _typeof(_ret5)) === "object") return _ret5.v; - } + if (this.controller !== null) { + this.controller.detached(); + } - return component; - }); - } + controllers = this.controllers; + for (i = 0, ii = controllers.length; i < ii; ++i) { + controllers[i].detached(); + } - var PipelineSlot = function () { - function PipelineSlot(container, name, alias) { - + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + children[i].detached(); + } + } + }; - this.steps = []; + return View; + }(); - this.container = container; - this.slotName = name; - this.slotAlias = alias; + function getAnimatableElement(view) { + if (view.animatableElement !== undefined) { + return view.animatableElement; } - PipelineSlot.prototype.getSteps = function getSteps() { - var _this7 = this; + var current = view.firstChild; + + while (current && current.nodeType !== 1) { + current = current.nextSibling; + } - return this.steps.map(function (x) { - return _this7.container.get(x); - }); - }; + if (current && current.nodeType === 1) { + return view.animatableElement = current.classList.contains('au-animate') ? current : null; + } - return PipelineSlot; - }(); + return view.animatableElement = null; + } - var PipelineProvider = exports.PipelineProvider = function () { - PipelineProvider.inject = function inject() { - return [_aureliaDependencyInjection.Container]; - }; + var ViewSlot = exports.ViewSlot = function () { + function ViewSlot(anchor, anchorIsContainer) { + var animator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Animator.instance; - function PipelineProvider(container) { - this.container = container; - this.steps = [BuildNavigationPlanStep, CanDeactivatePreviousStep, LoadRouteStep, this._createPipelineSlot('authorize'), CanActivateNextStep, this._createPipelineSlot('preActivate', 'modelbind'), DeactivatePreviousStep, ActivateNextStep, this._createPipelineSlot('preRender', 'precommit'), CommitChangesStep, this._createPipelineSlot('postRender', 'postcomplete')]; + this.anchor = anchor; + this.anchorIsContainer = anchorIsContainer; + this.bindingContext = null; + this.overrideContext = null; + this.animator = animator; + this.children = []; + this.isBound = false; + this.isAttached = false; + this.contentSelectors = null; + anchor.viewSlot = this; + anchor.isContentProjectionSource = false; } - PipelineProvider.prototype.createPipeline = function createPipeline() { - var _this8 = this; - - var pipeline = new Pipeline(); - this.steps.forEach(function (step) { - return pipeline.addStep(_this8.container.get(step)); - }); - return pipeline; - }; + ViewSlot.prototype.animateView = function animateView(view) { + var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'enter'; - PipelineProvider.prototype._findStep = function _findStep(name) { - return this.steps.find(function (x) { - return x.slotName === name || x.slotAlias === name; - }); - }; + var animatableElement = getAnimatableElement(view); - PipelineProvider.prototype.addStep = function addStep(name, step) { - var found = this._findStep(name); - if (found) { - if (!found.steps.includes(step)) { - found.steps.push(step); + if (animatableElement !== null) { + switch (direction) { + case 'enter': + return this.animator.enter(animatableElement); + case 'leave': + return this.animator.leave(animatableElement); + default: + throw new Error('Invalid animation direction: ' + direction); } - } else { - throw new Error('Invalid pipeline slot name: ' + name + '.'); - } - }; - - PipelineProvider.prototype.removeStep = function removeStep(name, step) { - var slot = this._findStep(name); - if (slot) { - slot.steps.splice(slot.steps.indexOf(step), 1); } }; - PipelineProvider.prototype._clearSteps = function _clearSteps() { - var name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; + ViewSlot.prototype.transformChildNodesIntoView = function transformChildNodesIntoView() { + var parent = this.anchor; - var slot = this._findStep(name); - if (slot) { - slot.steps = []; - } - }; + this.children.push({ + fragment: parent, + firstChild: parent.firstChild, + lastChild: parent.lastChild, + returnToCache: function returnToCache() {}, + removeNodes: function removeNodes() { + var last = void 0; - PipelineProvider.prototype.reset = function reset() { - this._clearSteps('authorize'); - this._clearSteps('preActivate'); - this._clearSteps('preRender'); - this._clearSteps('postRender'); + while (last = parent.lastChild) { + parent.removeChild(last); + } + }, + created: function created() {}, + bind: function bind() {}, + unbind: function unbind() {}, + attached: function attached() {}, + detached: function detached() {} + }); }; - PipelineProvider.prototype._createPipelineSlot = function _createPipelineSlot(name, alias) { - return new PipelineSlot(this.container, name, alias); - }; + ViewSlot.prototype.bind = function bind(bindingContext, overrideContext) { + var i = void 0; + var ii = void 0; + var children = void 0; - return PipelineProvider; - }(); + if (this.isBound) { + if (this.bindingContext === bindingContext) { + return; + } - var logger = LogManager.getLogger('app-router'); + this.unbind(); + } - var AppRouter = exports.AppRouter = function (_Router) { - _inherits(AppRouter, _Router); + this.isBound = true; + this.bindingContext = bindingContext = bindingContext || this.bindingContext; + this.overrideContext = overrideContext = overrideContext || this.overrideContext; - AppRouter.inject = function inject() { - return [_aureliaDependencyInjection.Container, _aureliaHistory.History, PipelineProvider, _aureliaEventAggregator.EventAggregator]; + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + children[i].bind(bindingContext, overrideContext, true); + } }; - function AppRouter(container, history, pipelineProvider, events) { - + ViewSlot.prototype.unbind = function unbind() { + if (this.isBound) { + var i = void 0; + var ii = void 0; + var _children4 = this.children; - var _this9 = _possibleConstructorReturn(this, _Router.call(this, container, history)); + this.isBound = false; + this.bindingContext = null; + this.overrideContext = null; - _this9.pipelineProvider = pipelineProvider; - _this9.events = events; - return _this9; - } + for (i = 0, ii = _children4.length; i < ii; ++i) { + _children4[i].unbind(); + } + } + }; - AppRouter.prototype.reset = function reset() { - _Router.prototype.reset.call(this); - this.maxInstructionCount = 10; - if (!this._queue) { - this._queue = []; + ViewSlot.prototype.add = function add(view) { + if (this.anchorIsContainer) { + view.appendNodesTo(this.anchor); } else { - this._queue.length = 0; + view.insertNodesBefore(this.anchor); } - }; - AppRouter.prototype.loadUrl = function loadUrl(url) { - var _this10 = this; + this.children.push(view); - return this._createNavigationInstruction(url).then(function (instruction) { - return _this10._queueInstruction(instruction); - }).catch(function (error) { - logger.error(error); - restorePreviousLocation(_this10); - }); + if (this.isAttached) { + view.attached(); + return this.animateView(view, 'enter'); + } }; - AppRouter.prototype.registerViewPort = function registerViewPort(viewPort, name) { - var _this11 = this; - - _Router.prototype.registerViewPort.call(this, viewPort, name); + ViewSlot.prototype.insert = function insert(index, view) { + var children = this.children; + var length = children.length; - if (!this.isActive) { - var _ret6 = function () { - var viewModel = _this11._findViewModel(viewPort); - if ('configureRouter' in viewModel) { - if (!_this11.isConfigured) { - var _ret7 = function () { - var resolveConfiguredPromise = _this11._resolveConfiguredPromise; - _this11._resolveConfiguredPromise = function () {}; - return { - v: { - v: _this11.configure(function (config) { - return viewModel.configureRouter(config, _this11); - }).then(function () { - _this11.activate(); - resolveConfiguredPromise(); - }) - } - }; - }(); + if (index === 0 && length === 0 || index >= length) { + return this.add(view); + } - if ((typeof _ret7 === 'undefined' ? 'undefined' : _typeof(_ret7)) === "object") return _ret7.v; - } - } else { - _this11.activate(); - } - }(); + view.insertNodesBefore(children[index].firstChild); + children.splice(index, 0, view); - if ((typeof _ret6 === 'undefined' ? 'undefined' : _typeof(_ret6)) === "object") return _ret6.v; - } else { - this._dequeueInstruction(); + if (this.isAttached) { + view.attached(); + return this.animateView(view, 'enter'); } - - return Promise.resolve(); }; - AppRouter.prototype.activate = function activate(options) { - if (this.isActive) { + ViewSlot.prototype.move = function move(sourceIndex, targetIndex) { + if (sourceIndex === targetIndex) { return; } - this.isActive = true; - this.options = Object.assign({ routeHandler: this.loadUrl.bind(this) }, this.options, options); - this.history.activate(this.options); - this._dequeueInstruction(); - }; + var children = this.children; + var view = children[sourceIndex]; - AppRouter.prototype.deactivate = function deactivate() { - this.isActive = false; - this.history.deactivate(); + view.removeNodes(); + view.insertNodesBefore(children[targetIndex].firstChild); + children.splice(sourceIndex, 1); + children.splice(targetIndex, 0, view); }; - AppRouter.prototype._queueInstruction = function _queueInstruction(instruction) { - var _this12 = this; - - return new Promise(function (resolve) { - instruction.resolve = resolve; - _this12._queue.unshift(instruction); - _this12._dequeueInstruction(); - }); + ViewSlot.prototype.remove = function remove(view, returnToCache, skipAnimation) { + return this.removeAt(this.children.indexOf(view), returnToCache, skipAnimation); }; - AppRouter.prototype._dequeueInstruction = function _dequeueInstruction() { - var _this13 = this; + ViewSlot.prototype.removeMany = function removeMany(viewsToRemove, returnToCache, skipAnimation) { + var _this4 = this; - var instructionCount = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0]; + var children = this.children; + var ii = viewsToRemove.length; + var i = void 0; + var rmPromises = []; - return Promise.resolve().then(function () { - if (_this13.isNavigating && !instructionCount) { - return undefined; + viewsToRemove.forEach(function (child) { + if (skipAnimation) { + child.removeNodes(); + return; } - var instruction = _this13._queue.shift(); - _this13._queue.length = 0; - - if (!instruction) { - return undefined; + var animation = _this4.animateView(child, 'leave'); + if (animation) { + rmPromises.push(animation.then(function () { + return child.removeNodes(); + })); + } else { + child.removeNodes(); } + }); - _this13.isNavigating = true; - instruction.previousInstruction = _this13.currentInstruction; + var removeAction = function removeAction() { + if (_this4.isAttached) { + for (i = 0; i < ii; ++i) { + viewsToRemove[i].detached(); + } + } - if (!instructionCount) { - _this13.events.publish('router:navigation:processing', { instruction: instruction }); - } else if (instructionCount === _this13.maxInstructionCount - 1) { - logger.error(instructionCount + 1 + ' navigation instructions have been attempted without success. Restoring last known good location.'); - restorePreviousLocation(_this13); - return _this13._dequeueInstruction(instructionCount + 1); - } else if (instructionCount > _this13.maxInstructionCount) { - throw new Error('Maximum navigation attempts exceeded. Giving up.'); + if (returnToCache) { + for (i = 0; i < ii; ++i) { + viewsToRemove[i].returnToCache(); + } } - var pipeline = _this13.pipelineProvider.createPipeline(); + for (i = 0; i < ii; ++i) { + var index = children.indexOf(viewsToRemove[i]); + if (index >= 0) { + children.splice(index, 1); + } + } + }; - return pipeline.run(instruction).then(function (result) { - return processResult(instruction, result, instructionCount, _this13); - }).catch(function (error) { - return { output: error instanceof Error ? error : new Error(error) }; - }).then(function (result) { - return resolveInstruction(instruction, result, !!instructionCount, _this13); + if (rmPromises.length > 0) { + return Promise.all(rmPromises).then(function () { + return removeAction(); }); - }); + } + + return removeAction(); }; - AppRouter.prototype._findViewModel = function _findViewModel(viewPort) { - if (this.container.viewModel) { - return this.container.viewModel; - } + ViewSlot.prototype.removeAt = function removeAt(index, returnToCache, skipAnimation) { + var _this5 = this; - if (viewPort.container) { - var container = viewPort.container; + var view = this.children[index]; - while (container) { - if (container.viewModel) { - this.container.viewModel = container.viewModel; - return container.viewModel; - } + var removeAction = function removeAction() { + index = _this5.children.indexOf(view); + view.removeNodes(); + _this5.children.splice(index, 1); - container = container.parent; + if (_this5.isAttached) { + view.detached(); + } + + if (returnToCache) { + view.returnToCache(); + } + + return view; + }; + + if (!skipAnimation) { + var animation = this.animateView(view, 'leave'); + if (animation) { + return animation.then(function () { + return removeAction(); + }); } } - return undefined; + return removeAction(); }; - return AppRouter; - }(Router); - - function processResult(instruction, result, instructionCount, router) { - if (!(result && 'completed' in result && 'output' in result)) { - result = result || {}; - result.output = new Error('Expected router pipeline to return a navigation result, but got [' + JSON.stringify(result) + '] instead.'); - } + ViewSlot.prototype.removeAll = function removeAll(returnToCache, skipAnimation) { + var _this6 = this; - var finalResult = null; - if (isNavigationCommand(result.output)) { - result.output.navigate(router); - } else { - finalResult = result; + var children = this.children; + var ii = children.length; + var i = void 0; + var rmPromises = []; - if (!result.completed) { - if (result.output instanceof Error) { - logger.error(result.output); + children.forEach(function (child) { + if (skipAnimation) { + child.removeNodes(); + return; } - restorePreviousLocation(router); - } - } + var animation = _this6.animateView(child, 'leave'); + if (animation) { + rmPromises.push(animation.then(function () { + return child.removeNodes(); + })); + } else { + child.removeNodes(); + } + }); - return router._dequeueInstruction(instructionCount + 1).then(function (innerResult) { - return finalResult || innerResult || result; - }); - } + var removeAction = function removeAction() { + if (_this6.isAttached) { + for (i = 0; i < ii; ++i) { + children[i].detached(); + } + } - function resolveInstruction(instruction, result, isInnerInstruction, router) { - instruction.resolve(result); + if (returnToCache) { + for (i = 0; i < ii; ++i) { + children[i].returnToCache(); + } + } - if (!isInnerInstruction) { - router.isNavigating = false; - var eventArgs = { instruction: instruction, result: result }; - var eventName = void 0; + _this6.children = []; + }; - if (result.output instanceof Error) { - eventName = 'error'; - } else if (!result.completed) { - eventName = 'canceled'; - } else { - var _queryString = instruction.queryString ? '?' + instruction.queryString : ''; - router.history.previousLocation = instruction.fragment + _queryString; - eventName = 'success'; + if (rmPromises.length > 0) { + return Promise.all(rmPromises).then(function () { + return removeAction(); + }); } - router.events.publish('router:navigation:' + eventName, eventArgs); - router.events.publish('router:navigation:complete', eventArgs); - } + return removeAction(); + }; - return result; - } + ViewSlot.prototype.attached = function attached() { + var i = void 0; + var ii = void 0; + var children = void 0; + var child = void 0; - function restorePreviousLocation(router) { - var previousLocation = router.history.previousLocation; - if (previousLocation) { - router.navigate(router.history.previousLocation, { trigger: false, replace: true }); - } else if (router.fallbackRoute) { - router.navigate(router.fallbackRoute, { trigger: true, replace: true }); - } else { - logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.'); - } - } -}); -define('aurelia-task-queue',['exports', 'aurelia-pal'], function (exports, _aureliaPal) { - 'use strict'; + if (this.isAttached) { + return; + } - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.TaskQueue = undefined; + this.isAttached = true; - + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + child = children[i]; + child.attached(); + this.animateView(child, 'enter'); + } + }; - var hasSetImmediate = typeof setImmediate === 'function'; + ViewSlot.prototype.detached = function detached() { + var i = void 0; + var ii = void 0; + var children = void 0; - function makeRequestFlushFromMutationObserver(flush) { - var toggle = 1; - var observer = _aureliaPal.DOM.createMutationObserver(flush); - var node = _aureliaPal.DOM.createTextNode(''); - observer.observe(node, { characterData: true }); - return function requestFlush() { - toggle = -toggle; - node.data = toggle; + if (this.isAttached) { + this.isAttached = false; + children = this.children; + for (i = 0, ii = children.length; i < ii; ++i) { + children[i].detached(); + } + } }; - } - function makeRequestFlushFromTimer(flush) { - return function requestFlush() { - var timeoutHandle = setTimeout(handleFlushTimer, 0); + ViewSlot.prototype.projectTo = function projectTo(slots) { + var _this7 = this; - var intervalHandle = setInterval(handleFlushTimer, 50); - function handleFlushTimer() { - clearTimeout(timeoutHandle); - clearInterval(intervalHandle); - flush(); - } + this.projectToSlots = slots; + this.add = this._projectionAdd; + this.insert = this._projectionInsert; + this.move = this._projectionMove; + this.remove = this._projectionRemove; + this.removeAt = this._projectionRemoveAt; + this.removeMany = this._projectionRemoveMany; + this.removeAll = this._projectionRemoveAll; + this.children.forEach(function (view) { + return ShadowDOM.distributeView(view, slots, _this7); + }); }; - } - function onError(error, task) { - if ('onError' in task) { - task.onError(error); - } else if (hasSetImmediate) { - setImmediate(function () { - throw error; - }); - } else { - setTimeout(function () { - throw error; - }, 0); - } - } + ViewSlot.prototype._projectionAdd = function _projectionAdd(view) { + ShadowDOM.distributeView(view, this.projectToSlots, this); - var TaskQueue = exports.TaskQueue = function () { - function TaskQueue() { - var _this = this; + this.children.push(view); - + if (this.isAttached) { + view.attached(); + } + }; - this.flushing = false; + ViewSlot.prototype._projectionInsert = function _projectionInsert(index, view) { + if (index === 0 && !this.children.length || index >= this.children.length) { + this.add(view); + } else { + ShadowDOM.distributeView(view, this.projectToSlots, this, index); - this.microTaskQueue = []; - this.microTaskQueueCapacity = 1024; - this.taskQueue = []; + this.children.splice(index, 0, view); - if (_aureliaPal.FEATURE.mutationObserver) { - this.requestFlushMicroTaskQueue = makeRequestFlushFromMutationObserver(function () { - return _this.flushMicroTaskQueue(); - }); - } else { - this.requestFlushMicroTaskQueue = makeRequestFlushFromTimer(function () { - return _this.flushMicroTaskQueue(); - }); + if (this.isAttached) { + view.attached(); + } } + }; - this.requestFlushTaskQueue = makeRequestFlushFromTimer(function () { - return _this.flushTaskQueue(); - }); - } - - TaskQueue.prototype.queueMicroTask = function queueMicroTask(task) { - if (this.microTaskQueue.length < 1) { - this.requestFlushMicroTaskQueue(); + ViewSlot.prototype._projectionMove = function _projectionMove(sourceIndex, targetIndex) { + if (sourceIndex === targetIndex) { + return; } - this.microTaskQueue.push(task); + var children = this.children; + var view = children[sourceIndex]; + + ShadowDOM.undistributeView(view, this.projectToSlots, this); + ShadowDOM.distributeView(view, this.projectToSlots, this, targetIndex); + + children.splice(sourceIndex, 1); + children.splice(targetIndex, 0, view); }; - TaskQueue.prototype.queueTask = function queueTask(task) { - if (this.taskQueue.length < 1) { - this.requestFlushTaskQueue(); - } + ViewSlot.prototype._projectionRemove = function _projectionRemove(view, returnToCache) { + ShadowDOM.undistributeView(view, this.projectToSlots, this); + this.children.splice(this.children.indexOf(view), 1); - this.taskQueue.push(task); + if (this.isAttached) { + view.detached(); + } }; - TaskQueue.prototype.flushTaskQueue = function flushTaskQueue() { - var queue = this.taskQueue; - var index = 0; - var task = void 0; + ViewSlot.prototype._projectionRemoveAt = function _projectionRemoveAt(index, returnToCache) { + var view = this.children[index]; - this.taskQueue = []; + ShadowDOM.undistributeView(view, this.projectToSlots, this); + this.children.splice(index, 1); - try { - this.flushing = true; - while (index < queue.length) { - task = queue[index]; - task.call(); - index++; - } - } catch (error) { - onError(error, task); - } finally { - this.flushing = false; + if (this.isAttached) { + view.detached(); } }; - TaskQueue.prototype.flushMicroTaskQueue = function flushMicroTaskQueue() { - var queue = this.microTaskQueue; - var capacity = this.microTaskQueueCapacity; - var index = 0; - var task = void 0; + ViewSlot.prototype._projectionRemoveMany = function _projectionRemoveMany(viewsToRemove, returnToCache) { + var _this8 = this; - try { - this.flushing = true; - while (index < queue.length) { - task = queue[index]; - task.call(); - index++; + viewsToRemove.forEach(function (view) { + return _this8.remove(view, returnToCache); + }); + }; - if (index > capacity) { - for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { - queue[scan] = queue[scan + index]; - } + ViewSlot.prototype._projectionRemoveAll = function _projectionRemoveAll(returnToCache) { + ShadowDOM.undistributeAll(this.projectToSlots, this); - queue.length -= index; - index = 0; - } + var children = this.children; + + if (this.isAttached) { + for (var i = 0, ii = children.length; i < ii; ++i) { + children[i].detached(); } - } catch (error) { - onError(error, task); - } finally { - this.flushing = false; } - queue.length = 0; + this.children = []; }; - return TaskQueue; + return ViewSlot; }(); -}); -define('aurelia-templating',['exports', 'aurelia-logging', 'aurelia-metadata', 'aurelia-pal', 'aurelia-path', 'aurelia-loader', 'aurelia-dependency-injection', 'aurelia-binding', 'aurelia-task-queue'], function (exports, _aureliaLogging, _aureliaMetadata, _aureliaPal, _aureliaPath, _aureliaLoader, _aureliaDependencyInjection, _aureliaBinding, _aureliaTaskQueue) { - 'use strict'; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.TemplatingEngine = exports.ElementConfigResource = exports.CompositionEngine = exports.HtmlBehaviorResource = exports.BindableProperty = exports.BehaviorPropertyObserver = exports.Controller = exports.ViewEngine = exports.ModuleAnalyzer = exports.ResourceDescription = exports.ResourceModule = exports.ViewCompiler = exports.ViewFactory = exports.BoundViewFactory = exports.ViewSlot = exports.View = exports.ViewResources = exports.ShadowDOM = exports.ShadowSlot = exports.PassThroughSlot = exports.SlotCustomAttribute = exports.BindingLanguage = exports.ViewLocator = exports.InlineViewStrategy = exports.TemplateRegistryViewStrategy = exports.NoViewStrategy = exports.ConventionalViewStrategy = exports.RelativeViewStrategy = exports.viewStrategy = exports.TargetInstruction = exports.BehaviorInstruction = exports.ViewCompileInstruction = exports.ResourceLoadContext = exports.ElementEvents = exports.ViewEngineHooksResource = exports.CompositionTransaction = exports.CompositionTransactionOwnershipToken = exports.CompositionTransactionNotifier = exports.Animator = exports.animationEvent = undefined; - exports._hyphenate = _hyphenate; - exports._isAllWhitespace = _isAllWhitespace; - exports.viewEngineHooks = viewEngineHooks; - exports.children = children; - exports.child = child; - exports.resource = resource; - exports.behavior = behavior; - exports.customElement = customElement; - exports.customAttribute = customAttribute; - exports.templateController = templateController; - exports.bindable = bindable; - exports.dynamicOptions = dynamicOptions; - exports.useShadowDOM = useShadowDOM; - exports.processAttributes = processAttributes; - exports.processContent = processContent; - exports.containerless = containerless; - exports.useViewStrategy = useViewStrategy; - exports.useView = useView; - exports.inlineView = inlineView; - exports.noView = noView; - exports.elementConfig = elementConfig; - exports.viewResources = viewResources; + var ProviderResolver = (0, _aureliaDependencyInjection.resolver)(_class11 = function () { + function ProviderResolver() { + + } - var LogManager = _interopRequireWildcard(_aureliaLogging); + ProviderResolver.prototype.get = function get(container, key) { + var id = key.__providerId__; + return id in container ? container[id] : container[id] = container.invoke(key); + }; - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; + return ProviderResolver; + }()) || _class11; - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } - } + var providerResolverInstance = new ProviderResolver(); - newObj.default = obj; - return newObj; + function elementContainerGet(key) { + if (key === _aureliaPal.DOM.Element) { + return this.element; } - } - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); + if (key === BoundViewFactory) { + if (this.boundViewFactory) { + return this.boundViewFactory; } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - var _class, _temp, _dec, _class2, _dec2, _class3, _dec3, _class4, _dec4, _class5, _dec5, _class6, _class7, _temp2, _dec6, _class8, _class9, _temp3, _class11, _dec7, _class13, _dec8, _class14, _class15, _temp4, _dec9, _class16, _dec10, _class17, _dec11, _class18; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - + var factory = this.instruction.viewFactory; + var _partReplacements = this.partReplacements; - var animationEvent = exports.animationEvent = { - enterBegin: 'animation:enter:begin', - enterActive: 'animation:enter:active', - enterDone: 'animation:enter:done', - enterTimeout: 'animation:enter:timeout', + if (_partReplacements) { + factory = _partReplacements[factory.part] || factory; + } - leaveBegin: 'animation:leave:begin', - leaveActive: 'animation:leave:active', - leaveDone: 'animation:leave:done', - leaveTimeout: 'animation:leave:timeout', + this.boundViewFactory = new BoundViewFactory(this, factory, _partReplacements); + return this.boundViewFactory; + } - staggerNext: 'animation:stagger:next', + if (key === ViewSlot) { + if (this.viewSlot === undefined) { + this.viewSlot = new ViewSlot(this.element, this.instruction.anchorIsContainer); + this.element.isContentProjectionSource = this.instruction.lifting; + this.children.push(this.viewSlot); + } - removeClassBegin: 'animation:remove-class:begin', - removeClassActive: 'animation:remove-class:active', - removeClassDone: 'animation:remove-class:done', - removeClassTimeout: 'animation:remove-class:timeout', + return this.viewSlot; + } - addClassBegin: 'animation:add-class:begin', - addClassActive: 'animation:add-class:active', - addClassDone: 'animation:add-class:done', - addClassTimeout: 'animation:add-class:timeout', + if (key === ElementEvents) { + return this.elementEvents || (this.elementEvents = new ElementEvents(this.element)); + } - animateBegin: 'animation:animate:begin', - animateActive: 'animation:animate:active', - animateDone: 'animation:animate:done', - animateTimeout: 'animation:animate:timeout', + if (key === CompositionTransaction) { + return this.compositionTransaction || (this.compositionTransaction = this.parent.get(key)); + } - sequenceBegin: 'animation:sequence:begin', - sequenceDone: 'animation:sequence:done' - }; + if (key === ViewResources) { + return this.viewResources; + } - var Animator = exports.Animator = function () { - function Animator() { - + if (key === TargetInstruction) { + return this.instruction; } - Animator.prototype.enter = function enter(element) { - return Promise.resolve(false); - }; + return this.superGet(key); + } - Animator.prototype.leave = function leave(element) { - return Promise.resolve(false); - }; + function createElementContainer(parent, element, instruction, children, partReplacements, resources) { + var container = parent.createChild(); + var providers = void 0; + var i = void 0; - Animator.prototype.removeClass = function removeClass(element, className) { - element.classList.remove(className); - return Promise.resolve(false); - }; + container.element = element; + container.instruction = instruction; + container.children = children; + container.viewResources = resources; + container.partReplacements = partReplacements; - Animator.prototype.addClass = function addClass(element, className) { - element.classList.add(className); - return Promise.resolve(false); - }; + providers = instruction.providers; + i = providers.length; - Animator.prototype.animate = function animate(element, className) { - return Promise.resolve(false); - }; + while (i--) { + container._resolvers.set(providers[i], providerResolverInstance); + } - Animator.prototype.runSequence = function runSequence(animations) {}; + container.superGet = container.get; + container.get = elementContainerGet; - Animator.prototype.registerEffect = function registerEffect(effectName, properties) {}; + return container; + } - Animator.prototype.unregisterEffect = function unregisterEffect(effectName) {}; + function hasAttribute(name) { + return this._element.hasAttribute(name); + } - return Animator; - }(); + function getAttribute(name) { + return this._element.getAttribute(name); + } - var CompositionTransactionNotifier = exports.CompositionTransactionNotifier = function () { - function CompositionTransactionNotifier(owner) { - + function setAttribute(name, value) { + this._element.setAttribute(name, value); + } - this.owner = owner; - this.owner._compositionCount++; - } + function makeElementIntoAnchor(element, elementInstruction) { + var anchor = _aureliaPal.DOM.createComment('anchor'); - CompositionTransactionNotifier.prototype.done = function done() { - this.owner._compositionCount--; - this.owner._tryCompleteTransaction(); - }; + if (elementInstruction) { + var firstChild = element.firstChild; - return CompositionTransactionNotifier; - }(); + if (firstChild && firstChild.tagName === 'AU-CONTENT') { + anchor.contentElement = firstChild; + } - var CompositionTransactionOwnershipToken = exports.CompositionTransactionOwnershipToken = function () { - function CompositionTransactionOwnershipToken(owner) { - + anchor._element = element; - this.owner = owner; - this.owner._ownershipToken = this; - this.thenable = this._createThenable(); + anchor.hasAttribute = hasAttribute; + anchor.getAttribute = getAttribute; + anchor.setAttribute = setAttribute; } - CompositionTransactionOwnershipToken.prototype.waitForCompositionComplete = function waitForCompositionComplete() { - this.owner._tryCompleteTransaction(); - return this.thenable; - }; + _aureliaPal.DOM.replaceNode(anchor, element); - CompositionTransactionOwnershipToken.prototype.resolve = function resolve() { - this._resolveCallback(); - }; + return anchor; + } - CompositionTransactionOwnershipToken.prototype._createThenable = function _createThenable() { - var _this = this; + function applyInstructions(containers, element, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources) { + var behaviorInstructions = instruction.behaviorInstructions; + var expressions = instruction.expressions; + var elementContainer = void 0; + var i = void 0; + var ii = void 0; + var current = void 0; + var instance = void 0; - return new Promise(function (resolve, reject) { - _this._resolveCallback = resolve; - }); - }; + if (instruction.contentExpression) { + bindings.push(instruction.contentExpression.createBinding(element.nextSibling)); + element.nextSibling.auInterpolationTarget = true; + element.parentNode.removeChild(element); + return; + } - return CompositionTransactionOwnershipToken; - }(); + if (instruction.shadowSlot) { + var commentAnchor = _aureliaPal.DOM.createComment('slot'); + var slot = void 0; - var CompositionTransaction = exports.CompositionTransaction = function () { - function CompositionTransaction() { - + if (instruction.slotDestination) { + slot = new PassThroughSlot(commentAnchor, instruction.slotName, instruction.slotDestination, instruction.slotFallbackFactory); + } else { + slot = new ShadowSlot(commentAnchor, instruction.slotName, instruction.slotFallbackFactory); + } - this._ownershipToken = null; - this._compositionCount = 0; + _aureliaPal.DOM.replaceNode(commentAnchor, element); + shadowSlots[instruction.slotName] = slot; + controllers.push(slot); + return; } - CompositionTransaction.prototype.tryCapture = function tryCapture() { - return this._ownershipToken === null ? new CompositionTransactionOwnershipToken(this) : null; - }; - - CompositionTransaction.prototype.enlist = function enlist() { - return new CompositionTransactionNotifier(this); - }; + if (behaviorInstructions.length) { + if (!instruction.anchorIsContainer) { + element = makeElementIntoAnchor(element, instruction.elementInstruction); + } - CompositionTransaction.prototype._tryCompleteTransaction = function _tryCompleteTransaction() { - if (this._compositionCount <= 0) { - this._compositionCount = 0; + containers[instruction.injectorId] = elementContainer = createElementContainer(containers[instruction.parentInjectorId], element, instruction, children, partReplacements, resources); - if (this._ownershipToken !== null) { - var token = this._ownershipToken; - this._ownershipToken = null; - token.resolve(); - } + for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { + current = behaviorInstructions[i]; + instance = current.type.create(elementContainer, current, element, bindings); + controllers.push(instance); } - }; + } - return CompositionTransaction; - }(); + for (i = 0, ii = expressions.length; i < ii; ++i) { + bindings.push(expressions[i].createBinding(element)); + } + } - var capitalMatcher = /([A-Z])/g; + function styleStringToObject(style, target) { + var attributes = style.split(';'); + var firstIndexOfColon = void 0; + var i = void 0; + var current = void 0; + var key = void 0; + var value = void 0; - function addHyphenAndLower(char) { - return '-' + char.toLowerCase(); - } + target = target || {}; - function _hyphenate(name) { - return (name.charAt(0).toLowerCase() + name.slice(1)).replace(capitalMatcher, addHyphenAndLower); - } + for (i = 0; i < attributes.length; i++) { + current = attributes[i]; + firstIndexOfColon = current.indexOf(':'); + key = current.substring(0, firstIndexOfColon).trim(); + value = current.substring(firstIndexOfColon + 1).trim(); + target[key] = value; + } - function _isAllWhitespace(node) { - return !(node.auInterpolationTarget || /[^\t\n\r ]/.test(node.textContent)); + return target; } - var ViewEngineHooksResource = exports.ViewEngineHooksResource = function () { - function ViewEngineHooksResource() { - + function styleObjectToString(obj) { + var result = ''; + + for (var key in obj) { + result += key + ':' + obj[key] + ';'; } - ViewEngineHooksResource.prototype.initialize = function initialize(container, target) { - this.instance = container.get(target); - }; + return result; + } - ViewEngineHooksResource.prototype.register = function register(registry, name) { - registry.registerViewEngineHooks(this.instance); - }; + function applySurrogateInstruction(container, element, instruction, controllers, bindings, children) { + var behaviorInstructions = instruction.behaviorInstructions; + var expressions = instruction.expressions; + var providers = instruction.providers; + var values = instruction.values; + var i = void 0; + var ii = void 0; + var current = void 0; + var instance = void 0; + var currentAttributeValue = void 0; - ViewEngineHooksResource.prototype.load = function load(container, target) {}; + i = providers.length; + while (i--) { + container._resolvers.set(providers[i], providerResolverInstance); + } - ViewEngineHooksResource.convention = function convention(name) { - if (name.endsWith('ViewEngineHooks')) { - return new ViewEngineHooksResource(); + for (var key in values) { + currentAttributeValue = element.getAttribute(key); + + if (currentAttributeValue) { + if (key === 'class') { + element.setAttribute('class', currentAttributeValue + ' ' + values[key]); + } else if (key === 'style') { + var styleObject = styleStringToObject(values[key]); + styleStringToObject(currentAttributeValue, styleObject); + element.setAttribute('style', styleObjectToString(styleObject)); + } + } else { + element.setAttribute(key, values[key]); } - }; + } - return ViewEngineHooksResource; - }(); + if (behaviorInstructions.length) { + for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { + current = behaviorInstructions[i]; + instance = current.type.create(container, current, element, bindings); - function viewEngineHooks(target) { - var deco = function deco(t) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ViewEngineHooksResource(), t); - }; + if (instance.contentView) { + children.push(instance.contentView); + } - return target ? deco(target) : deco; + controllers.push(instance); + } + } + + for (i = 0, ii = expressions.length; i < ii; ++i) { + bindings.push(expressions[i].createBinding(element)); + } } - var ElementEvents = exports.ElementEvents = function () { - function ElementEvents(element) { + var BoundViewFactory = exports.BoundViewFactory = function () { + function BoundViewFactory(parentContainer, viewFactory, partReplacements) { - this.element = element; - this.subscriptions = {}; + this.parentContainer = parentContainer; + this.viewFactory = viewFactory; + this.factoryCreateInstruction = { partReplacements: partReplacements }; } - ElementEvents.prototype._enqueueHandler = function _enqueueHandler(handler) { - this.subscriptions[handler.eventName] = this.subscriptions[handler.eventName] || []; - this.subscriptions[handler.eventName].push(handler); + BoundViewFactory.prototype.create = function create() { + var view = this.viewFactory.create(this.parentContainer.createChild(), this.factoryCreateInstruction); + view._isUserControlled = true; + return view; }; - ElementEvents.prototype._dequeueHandler = function _dequeueHandler(handler) { - var index = void 0; - var subscriptions = this.subscriptions[handler.eventName]; - if (subscriptions) { - index = subscriptions.indexOf(handler); - if (index > -1) { - subscriptions.splice(index, 1); - } - } - return handler; + BoundViewFactory.prototype.setCacheSize = function setCacheSize(size, doNotOverrideIfAlreadySet) { + this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet); }; - ElementEvents.prototype.publish = function publish(eventName) { - var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var cancelable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - - var event = _aureliaPal.DOM.createCustomEvent(eventName, { cancelable: cancelable, bubbles: bubbles, detail: detail }); - this.element.dispatchEvent(event); + BoundViewFactory.prototype.getCachedView = function getCachedView() { + return this.viewFactory.getCachedView(); }; - ElementEvents.prototype.subscribe = function subscribe(eventName, handler) { - var _this2 = this; - - var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - - if (handler && typeof handler === 'function') { - handler.eventName = eventName; - handler.handler = handler; - handler.bubbles = bubbles; - handler.dispose = function () { - _this2.element.removeEventListener(eventName, handler, bubbles); - _this2._dequeueHandler(handler); - }; - this.element.addEventListener(eventName, handler, bubbles); - this._enqueueHandler(handler); - return handler; - } - - return undefined; + BoundViewFactory.prototype.returnViewToCache = function returnViewToCache(view) { + this.viewFactory.returnViewToCache(view); }; - ElementEvents.prototype.subscribeOnce = function subscribeOnce(eventName, handler) { - var _this3 = this; + _createClass(BoundViewFactory, [{ + key: 'isCaching', + get: function get() { + return this.viewFactory.isCaching; + } + }]); - var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + return BoundViewFactory; + }(); - if (handler && typeof handler === 'function') { - var _ret = function () { - var _handler = function _handler(event) { - handler(event); - _handler.dispose(); - }; - return { - v: _this3.subscribe(eventName, _handler, bubbles) - }; - }(); + var ViewFactory = exports.ViewFactory = function () { + function ViewFactory(template, instructions, resources) { + - if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; - } + this.isCaching = false; - return undefined; - }; + this.template = template; + this.instructions = instructions; + this.resources = resources; + this.cacheSize = -1; + this.cache = null; + } - ElementEvents.prototype.dispose = function dispose(eventName) { - if (eventName && typeof eventName === 'string') { - var subscriptions = this.subscriptions[eventName]; - if (subscriptions) { - while (subscriptions.length) { - var subscription = subscriptions.pop(); - if (subscription) { - subscription.dispose(); - } - } + ViewFactory.prototype.setCacheSize = function setCacheSize(size, doNotOverrideIfAlreadySet) { + if (size) { + if (size === '*') { + size = Number.MAX_VALUE; + } else if (typeof size === 'string') { + size = parseInt(size, 10); } - } else { - this.disposeAll(); } - }; - ElementEvents.prototype.disposeAll = function disposeAll() { - for (var key in this.subscriptions) { - this.dispose(key); + if (this.cacheSize === -1 || !doNotOverrideIfAlreadySet) { + this.cacheSize = size; } - }; - - return ElementEvents; - }(); - - var ResourceLoadContext = exports.ResourceLoadContext = function () { - function ResourceLoadContext() { - - this.dependencies = {}; - } + if (this.cacheSize > 0) { + this.cache = []; + } else { + this.cache = null; + } - ResourceLoadContext.prototype.addDependency = function addDependency(url) { - this.dependencies[url] = true; + this.isCaching = this.cacheSize > 0; }; - ResourceLoadContext.prototype.hasDependency = function hasDependency(url) { - return url in this.dependencies; + ViewFactory.prototype.getCachedView = function getCachedView() { + return this.cache !== null ? this.cache.pop() || null : null; }; - return ResourceLoadContext; - }(); + ViewFactory.prototype.returnViewToCache = function returnViewToCache(view) { + if (view.isAttached) { + view.detached(); + } - var ViewCompileInstruction = exports.ViewCompileInstruction = function ViewCompileInstruction() { - var targetShadowDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - var compileSurrogate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (view.isBound) { + view.unbind(); + } - + if (this.cache !== null && this.cache.length < this.cacheSize) { + view.fromCache = true; + this.cache.push(view); + } + }; - this.targetShadowDOM = targetShadowDOM; - this.compileSurrogate = compileSurrogate; - this.associatedModuleId = null; - }; + ViewFactory.prototype.create = function create(container, createInstruction, element) { + createInstruction = createInstruction || BehaviorInstruction.normal; - ViewCompileInstruction.normal = new ViewCompileInstruction(); + var cachedView = this.getCachedView(); + if (cachedView !== null) { + return cachedView; + } - var BehaviorInstruction = exports.BehaviorInstruction = function () { - BehaviorInstruction.enhance = function enhance() { - var instruction = new BehaviorInstruction(); - instruction.enhance = true; - return instruction; - }; + var fragment = createInstruction.enhance ? this.template : this.template.cloneNode(true); + var instructables = fragment.querySelectorAll('.au-target'); + var instructions = this.instructions; + var resources = this.resources; + var controllers = []; + var bindings = []; + var children = []; + var shadowSlots = Object.create(null); + var containers = { root: container }; + var partReplacements = createInstruction.partReplacements; + var i = void 0; + var ii = void 0; + var view = void 0; + var instructable = void 0; + var instruction = void 0; - BehaviorInstruction.unitTest = function unitTest(type, attributes) { - var instruction = new BehaviorInstruction(); - instruction.type = type; - instruction.attributes = attributes || {}; - return instruction; - }; + this.resources._invokeHook('beforeCreate', this, container, fragment, createInstruction); - BehaviorInstruction.element = function element(node, type) { - var instruction = new BehaviorInstruction(); - instruction.type = type; - instruction.attributes = {}; - instruction.anchorIsContainer = !(node.hasAttribute('containerless') || type.containerless); - instruction.initiatedByBehavior = true; - return instruction; - }; + if (element && this.surrogateInstruction !== null) { + applySurrogateInstruction(container, element, this.surrogateInstruction, controllers, bindings, children); + } - BehaviorInstruction.attribute = function attribute(attrName, type) { - var instruction = new BehaviorInstruction(); - instruction.attrName = attrName; - instruction.type = type || null; - instruction.attributes = {}; - return instruction; - }; + if (createInstruction.enhance && fragment.hasAttribute('au-target-id')) { + instructable = fragment; + instruction = instructions[instructable.getAttribute('au-target-id')]; + applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources); + } - BehaviorInstruction.dynamic = function dynamic(host, viewModel, viewFactory) { - var instruction = new BehaviorInstruction(); - instruction.host = host; - instruction.viewModel = viewModel; - instruction.viewFactory = viewFactory; - instruction.inheritBindingContext = true; - return instruction; - }; + for (i = 0, ii = instructables.length; i < ii; ++i) { + instructable = instructables[i]; + instruction = instructions[instructable.getAttribute('au-target-id')]; + applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources); + } - function BehaviorInstruction() { - + view = new View(container, this, fragment, controllers, bindings, children, shadowSlots); - this.initiatedByBehavior = false; - this.enhance = false; - this.partReplacements = null; - this.viewFactory = null; - this.originalAttrName = null; - this.skipContentProcessing = false; - this.contentFactory = null; - this.viewModel = null; - this.anchorIsContainer = false; - this.host = null; - this.attributes = null; - this.type = null; - this.attrName = null; - this.inheritBindingContext = false; - } + if (!createInstruction.initiatedByBehavior) { + view.created(); + } - return BehaviorInstruction; + this.resources._invokeHook('afterCreate', view); + + return view; + }; + + return ViewFactory; }(); - BehaviorInstruction.normal = new BehaviorInstruction(); + var nextInjectorId = 0; + function getNextInjectorId() { + return ++nextInjectorId; + } - var TargetInstruction = exports.TargetInstruction = (_temp = _class = function () { - TargetInstruction.shadowSlot = function shadowSlot(parentInjectorId) { - var instruction = new TargetInstruction(); - instruction.parentInjectorId = parentInjectorId; - instruction.shadowSlot = true; - return instruction; - }; + var lastAUTargetID = 0; + function getNextAUTargetID() { + return (++lastAUTargetID).toString(); + } - TargetInstruction.contentExpression = function contentExpression(expression) { - var instruction = new TargetInstruction(); - instruction.contentExpression = expression; - return instruction; - }; + function makeIntoInstructionTarget(element) { + var value = element.getAttribute('class'); + var auTargetID = getNextAUTargetID(); - TargetInstruction.lifting = function lifting(parentInjectorId, liftingInstruction) { - var instruction = new TargetInstruction(); - instruction.parentInjectorId = parentInjectorId; - instruction.expressions = TargetInstruction.noExpressions; - instruction.behaviorInstructions = [liftingInstruction]; - instruction.viewFactory = liftingInstruction.viewFactory; - instruction.providers = [liftingInstruction.type.target]; - instruction.lifting = true; - return instruction; - }; + element.setAttribute('class', value ? value + ' au-target' : 'au-target'); + element.setAttribute('au-target-id', auTargetID); - TargetInstruction.normal = function normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction) { - var instruction = new TargetInstruction(); - instruction.injectorId = injectorId; - instruction.parentInjectorId = parentInjectorId; - instruction.providers = providers; - instruction.behaviorInstructions = behaviorInstructions; - instruction.expressions = expressions; - instruction.anchorIsContainer = elementInstruction ? elementInstruction.anchorIsContainer : true; - instruction.elementInstruction = elementInstruction; - return instruction; - }; + return auTargetID; + } - TargetInstruction.surrogate = function surrogate(providers, behaviorInstructions, expressions, values) { - var instruction = new TargetInstruction(); - instruction.expressions = expressions; - instruction.behaviorInstructions = behaviorInstructions; - instruction.providers = providers; - instruction.values = values; - return instruction; - }; + function makeShadowSlot(compiler, resources, node, instructions, parentInjectorId) { + var auShadowSlot = _aureliaPal.DOM.createElement('au-shadow-slot'); + _aureliaPal.DOM.replaceNode(auShadowSlot, node); - function TargetInstruction() { - + var auTargetID = makeIntoInstructionTarget(auShadowSlot); + var instruction = TargetInstruction.shadowSlot(parentInjectorId); - this.injectorId = null; - this.parentInjectorId = null; + instruction.slotName = node.getAttribute('name') || ShadowDOM.defaultSlotKey; + instruction.slotDestination = node.getAttribute('slot'); - this.shadowSlot = false; - this.slotName = null; - this.slotFallbackFactory = null; + if (node.innerHTML.trim()) { + var fragment = _aureliaPal.DOM.createDocumentFragment(); + var _child3 = void 0; - this.contentExpression = null; + while (_child3 = node.firstChild) { + fragment.appendChild(_child3); + } - this.expressions = null; - this.behaviorInstructions = null; - this.providers = null; + instruction.slotFallbackFactory = compiler.compile(fragment, resources); + } - this.viewFactory = null; + instructions[auTargetID] = instruction; - this.anchorIsContainer = false; - this.elementInstruction = null; - this.lifting = false; + return auShadowSlot; + } - this.values = null; + var ViewCompiler = exports.ViewCompiler = (_dec7 = (0, _aureliaDependencyInjection.inject)(BindingLanguage, ViewResources), _dec7(_class13 = function () { + function ViewCompiler(bindingLanguage, resources) { + + + this.bindingLanguage = bindingLanguage; + this.resources = resources; } - return TargetInstruction; - }(), _class.noExpressions = Object.freeze([]), _temp); - var viewStrategy = exports.viewStrategy = _aureliaMetadata.protocol.create('aurelia:view-strategy', { - validate: function validate(target) { - if (!(typeof target.loadViewFactory === 'function')) { - return 'View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise'; + ViewCompiler.prototype.compile = function compile(source, resources, compileInstruction) { + resources = resources || this.resources; + compileInstruction = compileInstruction || ViewCompileInstruction.normal; + source = typeof source === 'string' ? _aureliaPal.DOM.createTemplateFromMarkup(source) : source; + + var content = void 0; + var part = void 0; + var cacheSize = void 0; + + if (source.content) { + part = source.getAttribute('part'); + cacheSize = source.getAttribute('view-cache'); + content = _aureliaPal.DOM.adoptNode(source.content); + } else { + content = source; } - return true; - }, - compose: function compose(target) { - if (!(typeof target.makeRelativeTo === 'function')) { - target.makeRelativeTo = _aureliaPal.PLATFORM.noop; + compileInstruction.targetShadowDOM = compileInstruction.targetShadowDOM && _aureliaPal.FEATURE.shadowDOM; + resources._invokeHook('beforeCompile', content, resources, compileInstruction); + + var instructions = {}; + this._compileNode(content, resources, instructions, source, 'root', !compileInstruction.targetShadowDOM); + + var firstChild = content.firstChild; + if (firstChild && firstChild.nodeType === 1) { + var targetId = firstChild.getAttribute('au-target-id'); + if (targetId) { + var ins = instructions[targetId]; + + if (ins.shadowSlot || ins.lifting || ins.elementInstruction && !ins.elementInstruction.anchorIsContainer) { + content.insertBefore(_aureliaPal.DOM.createComment('view'), firstChild); + } + } } - } - }); - var RelativeViewStrategy = exports.RelativeViewStrategy = (_dec = viewStrategy(), _dec(_class2 = function () { - function RelativeViewStrategy(path) { - + var factory = new ViewFactory(content, instructions, resources); - this.path = path; - this.absolutePath = null; - } + factory.surrogateInstruction = compileInstruction.compileSurrogate ? this._compileSurrogate(source, resources) : null; + factory.part = part; - RelativeViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { - if (this.absolutePath === null && this.moduleId) { - this.absolutePath = (0, _aureliaPath.relativeToFile)(this.path, this.moduleId); + if (cacheSize) { + factory.setCacheSize(cacheSize); } - compileInstruction.associatedModuleId = this.moduleId; - return viewEngine.loadViewFactory(this.absolutePath || this.path, compileInstruction, loadContext, target); + resources._invokeHook('afterCompile', factory); + + return factory; }; - RelativeViewStrategy.prototype.makeRelativeTo = function makeRelativeTo(file) { - if (this.absolutePath === null) { - this.absolutePath = (0, _aureliaPath.relativeToFile)(this.path, file); + ViewCompiler.prototype._compileNode = function _compileNode(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) { + switch (node.nodeType) { + case 1: + return this._compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM); + case 3: + var expression = resources.getBindingLanguage(this.bindingLanguage).inspectTextContent(resources, node.wholeText); + if (expression) { + var marker = _aureliaPal.DOM.createElement('au-marker'); + var auTargetID = makeIntoInstructionTarget(marker); + (node.parentNode || parentNode).insertBefore(marker, node); + node.textContent = ' '; + instructions[auTargetID] = TargetInstruction.contentExpression(expression); + + while (node.nextSibling && node.nextSibling.nodeType === 3) { + (node.parentNode || parentNode).removeChild(node.nextSibling); + } + } else { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node = node.nextSibling; + } + } + return node.nextSibling; + case 11: + var currentChild = node.firstChild; + while (currentChild) { + currentChild = this._compileNode(currentChild, resources, instructions, node, parentInjectorId, targetLightDOM); + } + break; + default: + break; } + + return node.nextSibling; }; - return RelativeViewStrategy; - }()) || _class2); - var ConventionalViewStrategy = exports.ConventionalViewStrategy = (_dec2 = viewStrategy(), _dec2(_class3 = function () { - function ConventionalViewStrategy(viewLocator, origin) { - + ViewCompiler.prototype._compileSurrogate = function _compileSurrogate(node, resources) { + var tagName = node.tagName.toLowerCase(); + var attributes = node.attributes; + var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage); + var knownAttribute = void 0; + var property = void 0; + var instruction = void 0; + var i = void 0; + var ii = void 0; + var attr = void 0; + var attrName = void 0; + var attrValue = void 0; + var info = void 0; + var type = void 0; + var expressions = []; + var expression = void 0; + var behaviorInstructions = []; + var values = {}; + var hasValues = false; + var providers = []; + + for (i = 0, ii = attributes.length; i < ii; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.value; - this.moduleId = origin.moduleId; - this.viewUrl = viewLocator.convertOriginToViewUrl(origin); - } + info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue); + type = resources.getAttribute(info.attrName); - ConventionalViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { - compileInstruction.associatedModuleId = this.moduleId; - return viewEngine.loadViewFactory(this.viewUrl, compileInstruction, loadContext, target); - }; + if (type) { + knownAttribute = resources.mapAttribute(info.attrName); + if (knownAttribute) { + property = type.attributes[knownAttribute]; - return ConventionalViewStrategy; - }()) || _class3); - var NoViewStrategy = exports.NoViewStrategy = (_dec3 = viewStrategy(), _dec3(_class4 = function () { - function NoViewStrategy(dependencies, dependencyBaseUrl) { - + if (property) { + info.defaultBindingMode = property.defaultBindingMode; - this.dependencies = dependencies || null; - this.dependencyBaseUrl = dependencyBaseUrl || ''; - } + if (!info.command && !info.expression) { + info.command = property.hasOptions ? 'options' : null; + } - NoViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { - var entry = this.entry; - var dependencies = this.dependencies; + if (info.command && info.command !== 'options' && type.primaryProperty) { + attrName = info.attrName = type.primaryProperty.name; + } + } + } + } - if (entry && entry.factoryIsReady) { - return Promise.resolve(null); - } + instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type); - this.entry = entry = new _aureliaLoader.TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl); + if (instruction) { + if (instruction.alteredAttr) { + type = resources.getAttribute(instruction.attrName); + } - entry.dependencies = []; - entry.templateIsLoaded = true; + if (instruction.discrete) { + expressions.push(instruction); + } else { + if (type) { + instruction.type = type; + this._configureProperties(instruction, resources); - if (dependencies !== null) { - for (var i = 0, ii = dependencies.length; i < ii; ++i) { - var current = dependencies[i]; + if (type.liftsContent) { + throw new Error('You cannot place a template controller on a surrogate element.'); + } else { + behaviorInstructions.push(instruction); + } + } else { + expressions.push(instruction.attributes[instruction.attrName]); + } + } + } else { + if (type) { + instruction = BehaviorInstruction.attribute(attrName, type); + instruction.attributes[resources.mapAttribute(attrName)] = attrValue; - if (typeof current === 'string' || typeof current === 'function') { - entry.addDependency(current); - } else { - entry.addDependency(current.from, current.as); + if (type.liftsContent) { + throw new Error('You cannot place a template controller on a surrogate element.'); + } else { + behaviorInstructions.push(instruction); + } + } else if (attrName !== 'id' && attrName !== 'part' && attrName !== 'replace-part') { + hasValues = true; + values[attrName] = attrValue; } } } - compileInstruction.associatedModuleId = this.moduleId; - - return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target); - }; - - return NoViewStrategy; - }()) || _class4); - var TemplateRegistryViewStrategy = exports.TemplateRegistryViewStrategy = (_dec4 = viewStrategy(), _dec4(_class5 = function () { - function TemplateRegistryViewStrategy(moduleId, entry) { - - - this.moduleId = moduleId; - this.entry = entry; - } + if (expressions.length || behaviorInstructions.length || hasValues) { + for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { + instruction = behaviorInstructions[i]; + instruction.type.compile(this, resources, node, instruction); + providers.push(instruction.type.target); + } - TemplateRegistryViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { - var entry = this.entry; + for (i = 0, ii = expressions.length; i < ii; ++i) { + expression = expressions[i]; + if (expression.attrToRemove !== undefined) { + node.removeAttribute(expression.attrToRemove); + } + } - if (entry.factoryIsReady) { - return Promise.resolve(entry.factory); + return TargetInstruction.surrogate(providers, behaviorInstructions, expressions, values); } - compileInstruction.associatedModuleId = this.moduleId; - return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target); + return null; }; - return TemplateRegistryViewStrategy; - }()) || _class5); - var InlineViewStrategy = exports.InlineViewStrategy = (_dec5 = viewStrategy(), _dec5(_class6 = function () { - function InlineViewStrategy(markup, dependencies, dependencyBaseUrl) { - - - this.markup = markup; - this.dependencies = dependencies || null; - this.dependencyBaseUrl = dependencyBaseUrl || ''; - } - - InlineViewStrategy.prototype.loadViewFactory = function loadViewFactory(viewEngine, compileInstruction, loadContext, target) { - var entry = this.entry; - var dependencies = this.dependencies; + ViewCompiler.prototype._compileElement = function _compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) { + var tagName = node.tagName.toLowerCase(); + var attributes = node.attributes; + var expressions = []; + var expression = void 0; + var behaviorInstructions = []; + var providers = []; + var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage); + var liftingInstruction = void 0; + var viewFactory = void 0; + var type = void 0; + var elementInstruction = void 0; + var elementProperty = void 0; + var i = void 0; + var ii = void 0; + var attr = void 0; + var attrName = void 0; + var attrValue = void 0; + var instruction = void 0; + var info = void 0; + var property = void 0; + var knownAttribute = void 0; + var auTargetID = void 0; + var injectorId = void 0; - if (entry && entry.factoryIsReady) { - return Promise.resolve(entry.factory); + if (tagName === 'slot') { + if (targetLightDOM) { + node = makeShadowSlot(this, resources, node, instructions, parentInjectorId); + } + return node.nextSibling; + } else if (tagName === 'template') { + viewFactory = this.compile(node, resources); + viewFactory.part = node.getAttribute('part'); + } else { + type = resources.getElement(node.getAttribute('as-element') || tagName); + if (type) { + elementInstruction = BehaviorInstruction.element(node, type); + type.processAttributes(this, resources, node, attributes, elementInstruction); + behaviorInstructions.push(elementInstruction); + } } - this.entry = entry = new _aureliaLoader.TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl); - entry.template = _aureliaPal.DOM.createTemplateFromMarkup(this.markup); - - if (dependencies !== null) { - for (var i = 0, ii = dependencies.length; i < ii; ++i) { - var current = dependencies[i]; + for (i = 0, ii = attributes.length; i < ii; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.value; + info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue); - if (typeof current === 'string' || typeof current === 'function') { - entry.addDependency(current); - } else { - entry.addDependency(current.from, current.as); - } + if (targetLightDOM && info.attrName === 'slot') { + info.attrName = attrName = 'au-slot'; } - } - compileInstruction.associatedModuleId = this.moduleId; - return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target); - }; + type = resources.getAttribute(info.attrName); + elementProperty = null; - return InlineViewStrategy; - }()) || _class6); - var ViewLocator = exports.ViewLocator = (_temp2 = _class7 = function () { - function ViewLocator() { - - } + if (type) { + knownAttribute = resources.mapAttribute(info.attrName); + if (knownAttribute) { + property = type.attributes[knownAttribute]; - ViewLocator.prototype.getViewStrategy = function getViewStrategy(value) { - if (!value) { - return null; - } + if (property) { + info.defaultBindingMode = property.defaultBindingMode; - if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && 'getViewStrategy' in value) { - var _origin = _aureliaMetadata.Origin.get(value.constructor); + if (!info.command && !info.expression) { + info.command = property.hasOptions ? 'options' : null; + } - value = value.getViewStrategy(); + if (info.command && info.command !== 'options' && type.primaryProperty) { + attrName = info.attrName = type.primaryProperty.name; + } + } + } + } else if (elementInstruction) { + elementProperty = elementInstruction.type.attributes[info.attrName]; + if (elementProperty) { + info.defaultBindingMode = elementProperty.defaultBindingMode; + } + } - if (typeof value === 'string') { - value = new RelativeViewStrategy(value); + if (elementProperty) { + instruction = bindingLanguage.createAttributeInstruction(resources, node, info, elementInstruction); + } else { + instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type); } - viewStrategy.assert(value); + if (instruction) { + if (instruction.alteredAttr) { + type = resources.getAttribute(instruction.attrName); + } + + if (instruction.discrete) { + expressions.push(instruction); + } else { + if (type) { + instruction.type = type; + this._configureProperties(instruction, resources); + + if (type.liftsContent) { + instruction.originalAttrName = attrName; + liftingInstruction = instruction; + break; + } else { + behaviorInstructions.push(instruction); + } + } else if (elementProperty) { + elementInstruction.attributes[info.attrName].targetProperty = elementProperty.name; + } else { + expressions.push(instruction.attributes[instruction.attrName]); + } + } + } else { + if (type) { + instruction = BehaviorInstruction.attribute(attrName, type); + instruction.attributes[resources.mapAttribute(attrName)] = attrValue; - if (_origin.moduleId) { - value.makeRelativeTo(_origin.moduleId); + if (type.liftsContent) { + instruction.originalAttrName = attrName; + liftingInstruction = instruction; + break; + } else { + behaviorInstructions.push(instruction); + } + } else if (elementProperty) { + elementInstruction.attributes[attrName] = attrValue; + } } - - return value; } - if (typeof value === 'string') { - value = new RelativeViewStrategy(value); - } + if (liftingInstruction) { + liftingInstruction.viewFactory = viewFactory; + node = liftingInstruction.type.compile(this, resources, node, liftingInstruction, parentNode); + auTargetID = makeIntoInstructionTarget(node); + instructions[auTargetID] = TargetInstruction.lifting(parentInjectorId, liftingInstruction); + } else { + if (expressions.length || behaviorInstructions.length) { + injectorId = behaviorInstructions.length ? getNextInjectorId() : false; - if (viewStrategy.validate(value)) { - return value; - } + for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { + instruction = behaviorInstructions[i]; + instruction.type.compile(this, resources, node, instruction, parentNode); + providers.push(instruction.type.target); + } - if (typeof value !== 'function') { - value = value.constructor; - } + for (i = 0, ii = expressions.length; i < ii; ++i) { + expression = expressions[i]; + if (expression.attrToRemove !== undefined) { + node.removeAttribute(expression.attrToRemove); + } + } - var origin = _aureliaMetadata.Origin.get(value); - var strategy = _aureliaMetadata.metadata.get(ViewLocator.viewStrategyMetadataKey, value); + auTargetID = makeIntoInstructionTarget(node); + instructions[auTargetID] = TargetInstruction.normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction); + } - if (!strategy) { - if (!origin.moduleId) { - throw new Error('Cannot determine default view strategy for object.', value); + if (elementInstruction && elementInstruction.skipContentProcessing) { + return node.nextSibling; } - strategy = this.createFallbackViewStrategy(origin); - } else if (origin.moduleId) { - strategy.moduleId = origin.moduleId; + var currentChild = node.firstChild; + while (currentChild) { + currentChild = this._compileNode(currentChild, resources, instructions, node, injectorId || parentInjectorId, targetLightDOM); + } } - return strategy; - }; - - ViewLocator.prototype.createFallbackViewStrategy = function createFallbackViewStrategy(origin) { - return new ConventionalViewStrategy(this, origin); - }; - - ViewLocator.prototype.convertOriginToViewUrl = function convertOriginToViewUrl(origin) { - var moduleId = origin.moduleId; - var id = moduleId.endsWith('.js') || moduleId.endsWith('.ts') ? moduleId.substring(0, moduleId.length - 3) : moduleId; - return id + '.html'; + return node.nextSibling; }; - return ViewLocator; - }(), _class7.viewStrategyMetadataKey = 'aurelia:view-strategy', _temp2); - - - function mi(name) { - throw new Error('BindingLanguage must implement ' + name + '().'); - } + ViewCompiler.prototype._configureProperties = function _configureProperties(instruction, resources) { + var type = instruction.type; + var attrName = instruction.attrName; + var attributes = instruction.attributes; + var property = void 0; + var key = void 0; + var value = void 0; - var BindingLanguage = exports.BindingLanguage = function () { - function BindingLanguage() { - - } + var knownAttribute = resources.mapAttribute(attrName); + if (knownAttribute && attrName in attributes && knownAttribute !== attrName) { + attributes[knownAttribute] = attributes[attrName]; + delete attributes[attrName]; + } - BindingLanguage.prototype.inspectAttribute = function inspectAttribute(resources, elementName, attrName, attrValue) { - mi('inspectAttribute'); - }; + for (key in attributes) { + value = attributes[key]; - BindingLanguage.prototype.createAttributeInstruction = function createAttributeInstruction(resources, element, info, existingInstruction) { - mi('createAttributeInstruction'); - }; + if (value !== null && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') { + property = type.attributes[key]; - BindingLanguage.prototype.inspectTextContent = function inspectTextContent(resources, value) { - mi('inspectTextContent'); + if (property !== undefined) { + value.targetProperty = property.name; + } else { + value.targetProperty = key; + } + } + } }; - return BindingLanguage; - }(); - - var noNodes = Object.freeze([]); + return ViewCompiler; + }()) || _class13); - var SlotCustomAttribute = exports.SlotCustomAttribute = (_dec6 = (0, _aureliaDependencyInjection.inject)(_aureliaPal.DOM.Element), _dec6(_class8 = function () { - function SlotCustomAttribute(element) { + var ResourceModule = exports.ResourceModule = function () { + function ResourceModule(moduleId) { - this.element = element; - this.element.auSlotAttribute = this; + this.id = moduleId; + this.moduleInstance = null; + this.mainResource = null; + this.resources = null; + this.viewStrategy = null; + this.isInitialized = false; + this.onLoaded = null; + this.loadContext = null; } - SlotCustomAttribute.prototype.valueChanged = function valueChanged(newValue, oldValue) {}; - - return SlotCustomAttribute; - }()) || _class8); - - var PassThroughSlot = exports.PassThroughSlot = function () { - function PassThroughSlot(anchor, name, destinationName, fallbackFactory) { - - - this.anchor = anchor; - this.anchor.viewSlot = this; - this.name = name; - this.destinationName = destinationName; - this.fallbackFactory = fallbackFactory; - this.destinationSlot = null; - this.projections = 0; - this.contentView = null; + ResourceModule.prototype.initialize = function initialize(container) { + var current = this.mainResource; + var resources = this.resources; + var vs = this.viewStrategy; - var attr = new SlotCustomAttribute(this.anchor); - attr.value = this.destinationName; - } + if (this.isInitialized) { + return; + } - PassThroughSlot.prototype.renderFallbackContent = function renderFallbackContent(view, nodes, projectionSource, index) { - if (this.contentView === null) { - this.contentView = this.fallbackFactory.create(this.ownerView.container); - this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext); + this.isInitialized = true; - var slots = Object.create(null); - slots[this.destinationSlot.name] = this.destinationSlot; + if (current !== undefined) { + current.metadata.viewStrategy = vs; + current.initialize(container); + } - ShadowDOM.distributeView(this.contentView, slots, projectionSource, index, this.destinationSlot.name); + for (var i = 0, ii = resources.length; i < ii; ++i) { + current = resources[i]; + current.metadata.viewStrategy = vs; + current.initialize(container); } }; - PassThroughSlot.prototype.passThroughTo = function passThroughTo(destinationSlot) { - this.destinationSlot = destinationSlot; - }; + ResourceModule.prototype.register = function register(registry, name) { + var main = this.mainResource; + var resources = this.resources; - PassThroughSlot.prototype.addNode = function addNode(view, node, projectionSource, index) { - if (this.contentView !== null) { - this.contentView.removeNodes(); - this.contentView.detached(); - this.contentView.unbind(); - this.contentView = null; + if (main !== undefined) { + main.register(registry, name); + name = null; } - if (node.viewSlot instanceof PassThroughSlot) { - node.viewSlot.passThroughTo(this); - return; + for (var i = 0, ii = resources.length; i < ii; ++i) { + resources[i].register(registry, name); + name = null; } - - this.projections++; - this.destinationSlot.addNode(view, node, projectionSource, index); }; - PassThroughSlot.prototype.removeView = function removeView(view, projectionSource) { - this.projections--; - this.destinationSlot.removeView(view, projectionSource); - - if (this.needsFallbackRendering) { - this.renderFallbackContent(null, noNodes, projectionSource); + ResourceModule.prototype.load = function load(container, loadContext) { + if (this.onLoaded !== null) { + return this.loadContext === loadContext ? Promise.resolve() : this.onLoaded; } - }; - PassThroughSlot.prototype.removeAll = function removeAll(projectionSource) { - this.projections = 0; - this.destinationSlot.removeAll(projectionSource); + var main = this.mainResource; + var resources = this.resources; + var loads = void 0; - if (this.needsFallbackRendering) { - this.renderFallbackContent(null, noNodes, projectionSource); + if (main !== undefined) { + loads = new Array(resources.length + 1); + loads[0] = main.load(container, loadContext); + for (var i = 0, ii = resources.length; i < ii; ++i) { + loads[i + 1] = resources[i].load(container, loadContext); + } + } else { + loads = new Array(resources.length); + for (var _i = 0, _ii = resources.length; _i < _ii; ++_i) { + loads[_i] = resources[_i].load(container, loadContext); + } } - }; - PassThroughSlot.prototype.projectFrom = function projectFrom(view, projectionSource) { - this.destinationSlot.projectFrom(view, projectionSource); + this.loadContext = loadContext; + this.onLoaded = Promise.all(loads); + return this.onLoaded; }; - PassThroughSlot.prototype.created = function created(ownerView) { - this.ownerView = ownerView; - }; + return ResourceModule; + }(); - PassThroughSlot.prototype.bind = function bind(view) { - if (this.contentView) { - this.contentView.bind(view.bindingContext, view.overrideContext); - } - }; + var ResourceDescription = exports.ResourceDescription = function () { + function ResourceDescription(key, exportedValue, resourceTypeMeta) { + + + if (!resourceTypeMeta) { + resourceTypeMeta = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.resource, exportedValue); - PassThroughSlot.prototype.attached = function attached() { - if (this.contentView) { - this.contentView.attached(); + if (!resourceTypeMeta) { + resourceTypeMeta = new HtmlBehaviorResource(); + resourceTypeMeta.elementName = _hyphenate(key); + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, resourceTypeMeta, exportedValue); + } } - }; - PassThroughSlot.prototype.detached = function detached() { - if (this.contentView) { - this.contentView.detached(); + if (resourceTypeMeta instanceof HtmlBehaviorResource) { + if (resourceTypeMeta.elementName === undefined) { + resourceTypeMeta.elementName = _hyphenate(key); + } else if (resourceTypeMeta.attributeName === undefined) { + resourceTypeMeta.attributeName = _hyphenate(key); + } else if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) { + HtmlBehaviorResource.convention(key, resourceTypeMeta); + } + } else if (!resourceTypeMeta.name) { + resourceTypeMeta.name = _hyphenate(key); } + + this.metadata = resourceTypeMeta; + this.value = exportedValue; + } + + ResourceDescription.prototype.initialize = function initialize(container) { + this.metadata.initialize(container, this.value); }; - PassThroughSlot.prototype.unbind = function unbind() { - if (this.contentView) { - this.contentView.unbind(); - } + ResourceDescription.prototype.register = function register(registry, name) { + this.metadata.register(registry, name); }; - _createClass(PassThroughSlot, [{ - key: 'needsFallbackRendering', - get: function get() { - return this.fallbackFactory && this.projections === 0; - } - }]); + ResourceDescription.prototype.load = function load(container, loadContext) { + return this.metadata.load(container, this.value, loadContext); + }; - return PassThroughSlot; + return ResourceDescription; }(); - var ShadowSlot = exports.ShadowSlot = function () { - function ShadowSlot(anchor, name, fallbackFactory) { + var ModuleAnalyzer = exports.ModuleAnalyzer = function () { + function ModuleAnalyzer() { - this.anchor = anchor; - this.anchor.isContentProjectionSource = true; - this.anchor.viewSlot = this; - this.name = name; - this.fallbackFactory = fallbackFactory; - this.contentView = null; - this.projections = 0; - this.children = []; - this.projectFromAnchors = null; - this.destinationSlots = null; + this.cache = Object.create(null); } - ShadowSlot.prototype.addNode = function addNode(view, node, projectionSource, index, destination) { - if (this.contentView !== null) { - this.contentView.removeNodes(); - this.contentView.detached(); - this.contentView.unbind(); - this.contentView = null; - } + ModuleAnalyzer.prototype.getAnalysis = function getAnalysis(moduleId) { + return this.cache[moduleId]; + }; - if (node.viewSlot instanceof PassThroughSlot) { - node.viewSlot.passThroughTo(this); - return; - } + ModuleAnalyzer.prototype.analyze = function analyze(moduleId, moduleInstance, mainResourceKey) { + var mainResource = void 0; + var fallbackValue = void 0; + var fallbackKey = void 0; + var resourceTypeMeta = void 0; + var key = void 0; + var exportedValue = void 0; + var resources = []; + var conventional = void 0; + var vs = void 0; + var resourceModule = void 0; - if (this.destinationSlots !== null) { - ShadowDOM.distributeNodes(view, [node], this.destinationSlots, this, index); - } else { - node.auOwnerView = view; - node.auProjectionSource = projectionSource; - node.auAssignedSlot = this; + resourceModule = this.cache[moduleId]; + if (resourceModule) { + return resourceModule; + } - var anchor = this._findAnchor(view, node, projectionSource, index); - var parent = anchor.parentNode; + resourceModule = new ResourceModule(moduleId); + this.cache[moduleId] = resourceModule; - parent.insertBefore(node, anchor); - this.children.push(node); - this.projections++; + if (typeof moduleInstance === 'function') { + moduleInstance = { 'default': moduleInstance }; } - }; - - ShadowSlot.prototype.removeView = function removeView(view, projectionSource) { - if (this.destinationSlots !== null) { - ShadowDOM.undistributeView(view, this.destinationSlots, this); - } else if (this.contentView && this.contentView.hasSlots) { - ShadowDOM.undistributeView(view, this.contentView.slots, projectionSource); - } else { - var found = this.children.find(function (x) { - return x.auSlotProjectFrom === projectionSource; - }); - if (found) { - var _children = found.auProjectionChildren; - for (var i = 0, ii = _children.length; i < ii; ++i) { - var _child = _children[i]; + if (mainResourceKey) { + mainResource = new ResourceDescription(mainResourceKey, moduleInstance[mainResourceKey]); + } - if (_child.auOwnerView === view) { - _children.splice(i, 1); - view.fragment.appendChild(_child); - i--;ii--; - this.projections--; - } - } + for (key in moduleInstance) { + exportedValue = moduleInstance[key]; - if (this.needsFallbackRendering) { - this.renderFallbackContent(view, noNodes, projectionSource); - } + if (key === mainResourceKey || typeof exportedValue !== 'function') { + continue; } - } - }; - ShadowSlot.prototype.removeAll = function removeAll(projectionSource) { - if (this.destinationSlots !== null) { - ShadowDOM.undistributeAll(this.destinationSlots, this); - } else if (this.contentView && this.contentView.hasSlots) { - ShadowDOM.undistributeAll(this.contentView.slots, projectionSource); - } else { - var found = this.children.find(function (x) { - return x.auSlotProjectFrom === projectionSource; - }); + resourceTypeMeta = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.resource, exportedValue); - if (found) { - var _children2 = found.auProjectionChildren; - for (var i = 0, ii = _children2.length; i < ii; ++i) { - var _child2 = _children2[i]; - _child2.auOwnerView.fragment.appendChild(_child2); - this.projections--; + if (resourceTypeMeta) { + if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) { + HtmlBehaviorResource.convention(key, resourceTypeMeta); } - found.auProjectionChildren = []; - - if (this.needsFallbackRendering) { - this.renderFallbackContent(null, noNodes, projectionSource); + if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) { + resourceTypeMeta.elementName = _hyphenate(key); } - } - } - }; - - ShadowSlot.prototype._findAnchor = function _findAnchor(view, node, projectionSource, index) { - if (projectionSource) { - var found = this.children.find(function (x) { - return x.auSlotProjectFrom === projectionSource; - }); - if (found) { - if (index !== undefined) { - var _children3 = found.auProjectionChildren; - var viewIndex = -1; - var lastView = void 0; - - for (var i = 0, ii = _children3.length; i < ii; ++i) { - var current = _children3[i]; - - if (current.auOwnerView !== lastView) { - viewIndex++; - lastView = current.auOwnerView; - if (viewIndex >= index && lastView !== view) { - _children3.splice(i, 0, node); - return current; - } - } - } + if (!mainResource && resourceTypeMeta instanceof HtmlBehaviorResource && resourceTypeMeta.elementName !== null) { + mainResource = new ResourceDescription(key, exportedValue, resourceTypeMeta); + } else { + resources.push(new ResourceDescription(key, exportedValue, resourceTypeMeta)); } + } else if (viewStrategy.decorates(exportedValue)) { + vs = exportedValue; + } else if (exportedValue instanceof _aureliaLoader.TemplateRegistryEntry) { + vs = new TemplateRegistryViewStrategy(moduleId, exportedValue); + } else { + if (conventional = HtmlBehaviorResource.convention(key)) { + if (conventional.elementName !== null && !mainResource) { + mainResource = new ResourceDescription(key, exportedValue, conventional); + } else { + resources.push(new ResourceDescription(key, exportedValue, conventional)); + } - found.auProjectionChildren.push(node); - return found; + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, conventional, exportedValue); + } else if (conventional = _aureliaBinding.ValueConverterResource.convention(key) || _aureliaBinding.BindingBehaviorResource.convention(key) || ViewEngineHooksResource.convention(key)) { + resources.push(new ResourceDescription(key, exportedValue, conventional)); + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, conventional, exportedValue); + } else if (!fallbackValue) { + fallbackValue = exportedValue; + fallbackKey = key; + } } } - return this.anchor; - }; - - ShadowSlot.prototype.projectTo = function projectTo(slots) { - this.destinationSlots = slots; - }; - - ShadowSlot.prototype.projectFrom = function projectFrom(view, projectionSource) { - var anchor = _aureliaPal.DOM.createComment('anchor'); - var parent = this.anchor.parentNode; - anchor.auSlotProjectFrom = projectionSource; - anchor.auOwnerView = view; - anchor.auProjectionChildren = []; - parent.insertBefore(anchor, this.anchor); - this.children.push(anchor); - - if (this.projectFromAnchors === null) { - this.projectFromAnchors = []; + if (!mainResource && fallbackValue) { + mainResource = new ResourceDescription(fallbackKey, fallbackValue); } - this.projectFromAnchors.push(anchor); + resourceModule.moduleInstance = moduleInstance; + resourceModule.mainResource = mainResource; + resourceModule.resources = resources; + resourceModule.viewStrategy = vs; + + return resourceModule; }; - ShadowSlot.prototype.renderFallbackContent = function renderFallbackContent(view, nodes, projectionSource, index) { - if (this.contentView === null) { - this.contentView = this.fallbackFactory.create(this.ownerView.container); - this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext); - this.contentView.insertNodesBefore(this.anchor); - } + return ModuleAnalyzer; + }(); - if (this.contentView.hasSlots) { - var slots = this.contentView.slots; - var projectFromAnchors = this.projectFromAnchors; + var logger = LogManager.getLogger('templating'); - if (projectFromAnchors !== null) { - for (var slotName in slots) { - var slot = slots[slotName]; + function ensureRegistryEntry(loader, urlOrRegistryEntry) { + if (urlOrRegistryEntry instanceof _aureliaLoader.TemplateRegistryEntry) { + return Promise.resolve(urlOrRegistryEntry); + } - for (var i = 0, ii = projectFromAnchors.length; i < ii; ++i) { - var anchor = projectFromAnchors[i]; - slot.projectFrom(anchor.auOwnerView, anchor.auSlotProjectFrom); - } - } - } + return loader.loadTemplate(urlOrRegistryEntry); + } - this.fallbackSlots = slots; - ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index); - } - }; + var ProxyViewFactory = function () { + function ProxyViewFactory(promise) { + var _this9 = this; - ShadowSlot.prototype.created = function created(ownerView) { - this.ownerView = ownerView; - }; + - ShadowSlot.prototype.bind = function bind(view) { - if (this.contentView) { - this.contentView.bind(view.bindingContext, view.overrideContext); - } + promise.then(function (x) { + return _this9.viewFactory = x; + }); + } + + ProxyViewFactory.prototype.create = function create(container, bindingContext, createInstruction, element) { + return this.viewFactory.create(container, bindingContext, createInstruction, element); }; - ShadowSlot.prototype.attached = function attached() { - if (this.contentView) { - this.contentView.attached(); - } + ProxyViewFactory.prototype.setCacheSize = function setCacheSize(size, doNotOverrideIfAlreadySet) { + this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet); }; - ShadowSlot.prototype.detached = function detached() { - if (this.contentView) { - this.contentView.detached(); - } + ProxyViewFactory.prototype.getCachedView = function getCachedView() { + return this.viewFactory.getCachedView(); }; - ShadowSlot.prototype.unbind = function unbind() { - if (this.contentView) { - this.contentView.unbind(); - } + ProxyViewFactory.prototype.returnViewToCache = function returnViewToCache(view) { + this.viewFactory.returnViewToCache(view); }; - _createClass(ShadowSlot, [{ - key: 'needsFallbackRendering', + _createClass(ProxyViewFactory, [{ + key: 'isCaching', get: function get() { - return this.fallbackFactory && this.projections === 0; + return this.viewFactory.isCaching; } }]); - return ShadowSlot; + return ProxyViewFactory; }(); - var ShadowDOM = exports.ShadowDOM = (_temp3 = _class9 = function () { - function ShadowDOM() { + var ViewEngine = exports.ViewEngine = (_dec8 = (0, _aureliaDependencyInjection.inject)(_aureliaLoader.Loader, _aureliaDependencyInjection.Container, ViewCompiler, ModuleAnalyzer, ViewResources), _dec8(_class14 = (_temp4 = _class15 = function () { + function ViewEngine(loader, container, viewCompiler, moduleAnalyzer, appResources) { - } - ShadowDOM.getSlotName = function getSlotName(node) { - if (node.auSlotAttribute === undefined) { - return ShadowDOM.defaultSlotKey; - } + this.loader = loader; + this.container = container; + this.viewCompiler = viewCompiler; + this.moduleAnalyzer = moduleAnalyzer; + this.appResources = appResources; + this._pluginMap = {}; - return node.auSlotAttribute.value; + var auSlotBehavior = new HtmlBehaviorResource(); + auSlotBehavior.attributeName = 'au-slot'; + auSlotBehavior.initialize(container, SlotCustomAttribute); + auSlotBehavior.register(appResources); + } + + ViewEngine.prototype.addResourcePlugin = function addResourcePlugin(extension, implementation) { + var name = extension.replace('.', '') + '-resource-plugin'; + this._pluginMap[extension] = name; + this.loader.addPlugin(name, implementation); }; - ShadowDOM.distributeView = function distributeView(view, slots, projectionSource, index, destinationOverride) { - var nodes = void 0; + ViewEngine.prototype.loadViewFactory = function loadViewFactory(urlOrRegistryEntry, compileInstruction, loadContext, target) { + var _this10 = this; - if (view === null) { - nodes = noNodes; - } else { - var childNodes = view.fragment.childNodes; - var ii = childNodes.length; - nodes = new Array(ii); + loadContext = loadContext || new ResourceLoadContext(); - for (var i = 0; i < ii; ++i) { - nodes[i] = childNodes[i]; + return ensureRegistryEntry(this.loader, urlOrRegistryEntry).then(function (registryEntry) { + if (registryEntry.onReady) { + if (!loadContext.hasDependency(urlOrRegistryEntry)) { + loadContext.addDependency(urlOrRegistryEntry); + return registryEntry.onReady; + } + + if (registryEntry.template === null) { + return registryEntry.onReady; + } + + return Promise.resolve(new ProxyViewFactory(registryEntry.onReady)); } - } - ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride); - }; + loadContext.addDependency(urlOrRegistryEntry); - ShadowDOM.undistributeView = function undistributeView(view, slots, projectionSource) { - for (var slotName in slots) { - slots[slotName].removeView(view, projectionSource); - } - }; + registryEntry.onReady = _this10.loadTemplateResources(registryEntry, compileInstruction, loadContext, target).then(function (resources) { + registryEntry.resources = resources; - ShadowDOM.undistributeAll = function undistributeAll(slots, projectionSource) { - for (var slotName in slots) { - slots[slotName].removeAll(projectionSource); - } + if (registryEntry.template === null) { + return registryEntry.factory = null; + } + + var viewFactory = _this10.viewCompiler.compile(registryEntry.template, resources, compileInstruction); + return registryEntry.factory = viewFactory; + }); + + return registryEntry.onReady; + }); }; - ShadowDOM.distributeNodes = function distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride) { - for (var i = 0, ii = nodes.length; i < ii; ++i) { - var currentNode = nodes[i]; - var nodeType = currentNode.nodeType; + ViewEngine.prototype.loadTemplateResources = function loadTemplateResources(registryEntry, compileInstruction, loadContext, target) { + var resources = new ViewResources(this.appResources, registryEntry.address); + var dependencies = registryEntry.dependencies; + var importIds = void 0; + var names = void 0; - if (currentNode.isContentProjectionSource) { - currentNode.viewSlot.projectTo(slots); + compileInstruction = compileInstruction || ViewCompileInstruction.normal; - for (var slotName in slots) { - slots[slotName].projectFrom(view, currentNode.viewSlot); - } + if (dependencies.length === 0 && !compileInstruction.associatedModuleId) { + return Promise.resolve(resources); + } - nodes.splice(i, 1); - ii--;i--; - } else if (nodeType === 1 || nodeType === 3 || currentNode.viewSlot instanceof PassThroughSlot) { - if (nodeType === 3 && _isAllWhitespace(currentNode)) { - nodes.splice(i, 1); - ii--;i--; - } else { - var found = slots[destinationOverride || ShadowDOM.getSlotName(currentNode)]; + importIds = dependencies.map(function (x) { + return x.src; + }); + names = dependencies.map(function (x) { + return x.name; + }); + logger.debug('importing resources for ' + registryEntry.address, importIds); - if (found) { - found.addNode(view, currentNode, projectionSource, index); - nodes.splice(i, 1); - ii--;i--; + if (target) { + var viewModelRequires = _aureliaMetadata.metadata.get(ViewEngine.viewModelRequireMetadataKey, target); + if (viewModelRequires) { + var templateImportCount = importIds.length; + for (var i = 0, ii = viewModelRequires.length; i < ii; ++i) { + var req = viewModelRequires[i]; + var importId = typeof req === 'function' ? _aureliaMetadata.Origin.get(req).moduleId : (0, _aureliaPath.relativeToFile)(req.src || req, registryEntry.address); + + if (importIds.indexOf(importId) === -1) { + importIds.push(importId); + names.push(req.as); } } - } else { - nodes.splice(i, 1); - ii--;i--; + logger.debug('importing ViewModel resources for ' + compileInstruction.associatedModuleId, importIds.slice(templateImportCount)); } } - for (var _slotName in slots) { - var slot = slots[_slotName]; - - if (slot.needsFallbackRendering) { - slot.renderFallbackContent(view, nodes, projectionSource, index); - } - } + return this.importViewResources(importIds, names, resources, compileInstruction, loadContext); }; - return ShadowDOM; - }(), _class9.defaultSlotKey = '__au-default-slot-key__', _temp3); - - - function register(lookup, name, resource, type) { - if (!name) { - return; - } - - var existing = lookup[name]; - if (existing) { - if (existing !== resource) { - throw new Error('Attempted to register ' + type + ' when one with the same name already exists. Name: ' + name + '.'); - } - - return; - } + ViewEngine.prototype.importViewModelResource = function importViewModelResource(moduleImport, moduleMember) { + var _this11 = this; - lookup[name] = resource; - } + return this.loader.loadModule(moduleImport).then(function (viewModelModule) { + var normalizedId = _aureliaMetadata.Origin.get(viewModelModule).moduleId; + var resourceModule = _this11.moduleAnalyzer.analyze(normalizedId, viewModelModule, moduleMember); - var ViewResources = exports.ViewResources = function () { - function ViewResources(parent, viewUrl) { - + if (!resourceModule.mainResource) { + throw new Error('No view model found in module "' + moduleImport + '".'); + } - this.bindingLanguage = null; + resourceModule.initialize(_this11.container); - this.parent = parent || null; - this.hasParent = this.parent !== null; - this.viewUrl = viewUrl || ''; - this.lookupFunctions = { - valueConverters: this.getValueConverter.bind(this), - bindingBehaviors: this.getBindingBehavior.bind(this) - }; - this.attributes = Object.create(null); - this.elements = Object.create(null); - this.valueConverters = Object.create(null); - this.bindingBehaviors = Object.create(null); - this.attributeMap = Object.create(null); - this.values = Object.create(null); - this.beforeCompile = this.afterCompile = this.beforeCreate = this.afterCreate = this.beforeBind = this.beforeUnbind = false; - } + return resourceModule.mainResource; + }); + }; - ViewResources.prototype._tryAddHook = function _tryAddHook(obj, name) { - if (typeof obj[name] === 'function') { - var func = obj[name].bind(obj); - var counter = 1; - var callbackName = void 0; + ViewEngine.prototype.importViewResources = function importViewResources(moduleIds, names, resources, compileInstruction, loadContext) { + var _this12 = this; - while (this[callbackName = name + counter.toString()] !== undefined) { - counter++; - } + loadContext = loadContext || new ResourceLoadContext(); + compileInstruction = compileInstruction || ViewCompileInstruction.normal; - this[name] = true; - this[callbackName] = func; - } - }; + moduleIds = moduleIds.map(function (x) { + return _this12._applyLoaderPlugin(x); + }); - ViewResources.prototype._invokeHook = function _invokeHook(name, one, two, three, four) { - if (this.hasParent) { - this.parent._invokeHook(name, one, two, three, four); - } + return this.loader.loadAllModules(moduleIds).then(function (imports) { + var i = void 0; + var ii = void 0; + var analysis = void 0; + var normalizedId = void 0; + var current = void 0; + var associatedModule = void 0; + var container = _this12.container; + var moduleAnalyzer = _this12.moduleAnalyzer; + var allAnalysis = new Array(imports.length); - if (this[name]) { - this[name + '1'](one, two, three, four); + for (i = 0, ii = imports.length; i < ii; ++i) { + current = imports[i]; + normalizedId = _aureliaMetadata.Origin.get(current).moduleId; - var callbackName = name + '2'; - if (this[callbackName]) { - this[callbackName](one, two, three, four); + analysis = moduleAnalyzer.analyze(normalizedId, current); + analysis.initialize(container); + analysis.register(resources, names[i]); - callbackName = name + '3'; - if (this[callbackName]) { - this[callbackName](one, two, three, four); + allAnalysis[i] = analysis; + } - var counter = 4; + if (compileInstruction.associatedModuleId) { + associatedModule = moduleAnalyzer.getAnalysis(compileInstruction.associatedModuleId); - while (this[callbackName = name + counter.toString()] !== undefined) { - this[callbackName](one, two, three, four); - counter++; - } + if (associatedModule) { + associatedModule.register(resources); } } - } - }; - ViewResources.prototype.registerViewEngineHooks = function registerViewEngineHooks(hooks) { - this._tryAddHook(hooks, 'beforeCompile'); - this._tryAddHook(hooks, 'afterCompile'); - this._tryAddHook(hooks, 'beforeCreate'); - this._tryAddHook(hooks, 'afterCreate'); - this._tryAddHook(hooks, 'beforeBind'); - this._tryAddHook(hooks, 'beforeUnbind'); - }; + for (i = 0, ii = allAnalysis.length; i < ii; ++i) { + allAnalysis[i] = allAnalysis[i].load(container, loadContext); + } - ViewResources.prototype.getBindingLanguage = function getBindingLanguage(bindingLanguageFallback) { - return this.bindingLanguage || (this.bindingLanguage = bindingLanguageFallback); + return Promise.all(allAnalysis).then(function () { + return resources; + }); + }); }; - ViewResources.prototype.patchInParent = function patchInParent(newParent) { - var originalParent = this.parent; + ViewEngine.prototype._applyLoaderPlugin = function _applyLoaderPlugin(id) { + var index = id.lastIndexOf('.'); + if (index !== -1) { + var ext = id.substring(index); + var pluginName = this._pluginMap[ext]; - this.parent = newParent || null; - this.hasParent = this.parent !== null; + if (pluginName === undefined) { + return id; + } - if (newParent.parent === null) { - newParent.parent = originalParent; - newParent.hasParent = originalParent !== null; + return this.loader.applyPluginToUrl(id, pluginName); } - }; - ViewResources.prototype.relativeToView = function relativeToView(path) { - return (0, _aureliaPath.relativeToFile)(path, this.viewUrl); + return id; }; - ViewResources.prototype.registerElement = function registerElement(tagName, behavior) { - register(this.elements, tagName, behavior, 'an Element'); - }; + return ViewEngine; + }(), _class15.viewModelRequireMetadataKey = 'aurelia:view-model-require', _temp4)) || _class14); - ViewResources.prototype.getElement = function getElement(tagName) { - return this.elements[tagName] || (this.hasParent ? this.parent.getElement(tagName) : null); - }; + var Controller = exports.Controller = function () { + function Controller(behavior, instruction, viewModel, container) { + - ViewResources.prototype.mapAttribute = function mapAttribute(attribute) { - return this.attributeMap[attribute] || (this.hasParent ? this.parent.mapAttribute(attribute) : null); - }; + this.behavior = behavior; + this.instruction = instruction; + this.viewModel = viewModel; + this.isAttached = false; + this.view = null; + this.isBound = false; + this.scope = null; + this.container = container; + this.elementEvents = container.elementEvents || null; - ViewResources.prototype.registerAttribute = function registerAttribute(attribute, behavior, knownAttribute) { - this.attributeMap[attribute] = knownAttribute; - register(this.attributes, attribute, behavior, 'an Attribute'); - }; + var observerLookup = behavior.observerLocator.getOrCreateObserversLookup(viewModel); + var handlesBind = behavior.handlesBind; + var attributes = instruction.attributes; + var boundProperties = this.boundProperties = []; + var properties = behavior.properties; + var i = void 0; + var ii = void 0; - ViewResources.prototype.getAttribute = function getAttribute(attribute) { - return this.attributes[attribute] || (this.hasParent ? this.parent.getAttribute(attribute) : null); - }; + behavior._ensurePropertiesDefined(viewModel, observerLookup); - ViewResources.prototype.registerValueConverter = function registerValueConverter(name, valueConverter) { - register(this.valueConverters, name, valueConverter, 'a ValueConverter'); - }; + for (i = 0, ii = properties.length; i < ii; ++i) { + properties[i]._initialize(viewModel, observerLookup, attributes, handlesBind, boundProperties); + } + } - ViewResources.prototype.getValueConverter = function getValueConverter(name) { - return this.valueConverters[name] || (this.hasParent ? this.parent.getValueConverter(name) : null); + Controller.prototype.created = function created(owningView) { + if (this.behavior.handlesCreated) { + this.viewModel.created(owningView, this.view); + } }; - ViewResources.prototype.registerBindingBehavior = function registerBindingBehavior(name, bindingBehavior) { - register(this.bindingBehaviors, name, bindingBehavior, 'a BindingBehavior'); - }; + Controller.prototype.automate = function automate(overrideContext, owningView) { + this.view.bindingContext = this.viewModel; + this.view.overrideContext = overrideContext || (0, _aureliaBinding.createOverrideContext)(this.viewModel); + this.view._isUserControlled = true; - ViewResources.prototype.getBindingBehavior = function getBindingBehavior(name) { - return this.bindingBehaviors[name] || (this.hasParent ? this.parent.getBindingBehavior(name) : null); - }; + if (this.behavior.handlesCreated) { + this.viewModel.created(owningView || null, this.view); + } - ViewResources.prototype.registerValue = function registerValue(name, value) { - register(this.values, name, value, 'a value'); + this.bind(this.view); }; - ViewResources.prototype.getValue = function getValue(name) { - return this.values[name] || (this.hasParent ? this.parent.getValue(name) : null); - }; + Controller.prototype.bind = function bind(scope) { + var skipSelfSubscriber = this.behavior.handlesBind; + var boundProperties = this.boundProperties; + var i = void 0; + var ii = void 0; + var x = void 0; + var observer = void 0; + var selfSubscriber = void 0; - return ViewResources; - }(); + if (this.isBound) { + if (this.scope === scope) { + return; + } - var View = exports.View = function () { - function View(container, viewFactory, fragment, controllers, bindings, children, slots) { - + this.unbind(); + } - this.container = container; - this.viewFactory = viewFactory; - this.resources = viewFactory.resources; - this.fragment = fragment; - this.firstChild = fragment.firstChild; - this.lastChild = fragment.lastChild; - this.controllers = controllers; - this.bindings = bindings; - this.children = children; - this.slots = slots; - this.hasSlots = false; - this.fromCache = false; - this.isBound = false; - this.isAttached = false; - this.bindingContext = null; - this.overrideContext = null; - this.controller = null; - this.viewModelScope = null; - this.animatableElement = undefined; - this._isUserControlled = false; - this.contentView = null; + this.isBound = true; + this.scope = scope; - for (var key in slots) { - this.hasSlots = true; - break; + for (i = 0, ii = boundProperties.length; i < ii; ++i) { + x = boundProperties[i]; + observer = x.observer; + selfSubscriber = observer.selfSubscriber; + observer.publishing = false; + + if (skipSelfSubscriber) { + observer.selfSubscriber = null; + } + + x.binding.bind(scope); + observer.call(); + + observer.publishing = true; + observer.selfSubscriber = selfSubscriber; } - } - View.prototype.returnToCache = function returnToCache() { - this.viewFactory.returnViewToCache(this); + var overrideContext = void 0; + if (this.view !== null) { + if (skipSelfSubscriber) { + this.view.viewModelScope = scope; + } + + if (this.viewModel === scope.overrideContext.bindingContext) { + overrideContext = scope.overrideContext; + } else if (this.instruction.inheritBindingContext) { + overrideContext = (0, _aureliaBinding.createOverrideContext)(this.viewModel, scope.overrideContext); + } else { + overrideContext = (0, _aureliaBinding.createOverrideContext)(this.viewModel); + overrideContext.__parentOverrideContext = scope.overrideContext; + } + + this.view.bind(this.viewModel, overrideContext); + } else if (skipSelfSubscriber) { + overrideContext = scope.overrideContext; + + if (scope.overrideContext.__parentOverrideContext !== undefined && this.viewModel.viewFactory && this.viewModel.viewFactory.factoryCreateInstruction.partReplacements) { + overrideContext = Object.assign({}, scope.overrideContext); + overrideContext.parentOverrideContext = scope.overrideContext.__parentOverrideContext; + } + this.viewModel.bind(scope.bindingContext, overrideContext); + } }; - View.prototype.created = function created() { - var i = void 0; - var ii = void 0; - var controllers = this.controllers; + Controller.prototype.unbind = function unbind() { + if (this.isBound) { + var _boundProperties = this.boundProperties; + var _i2 = void 0; + var _ii2 = void 0; - for (i = 0, ii = controllers.length; i < ii; ++i) { - controllers[i].created(this); - } - }; + this.isBound = false; + this.scope = null; - View.prototype.bind = function bind(bindingContext, overrideContext, _systemUpdate) { - var controllers = void 0; - var bindings = void 0; - var children = void 0; - var i = void 0; - var ii = void 0; + if (this.view !== null) { + this.view.unbind(); + } - if (_systemUpdate && this._isUserControlled) { - return; - } + if (this.behavior.handlesUnbind) { + this.viewModel.unbind(); + } - if (this.isBound) { - if (this.bindingContext === bindingContext) { - return; + if (this.elementEvents !== null) { + this.elementEvents.disposeAll(); } - this.unbind(); + for (_i2 = 0, _ii2 = _boundProperties.length; _i2 < _ii2; ++_i2) { + _boundProperties[_i2].binding.unbind(); + } } + }; - this.isBound = true; - this.bindingContext = bindingContext; - this.overrideContext = overrideContext || (0, _aureliaBinding.createOverrideContext)(bindingContext); + Controller.prototype.attached = function attached() { + if (this.isAttached) { + return; + } - this.resources._invokeHook('beforeBind', this); + this.isAttached = true; - bindings = this.bindings; - for (i = 0, ii = bindings.length; i < ii; ++i) { - bindings[i].bind(this); + if (this.behavior.handlesAttached) { + this.viewModel.attached(); } - if (this.viewModelScope !== null) { - bindingContext.bind(this.viewModelScope.bindingContext, this.viewModelScope.overrideContext); - this.viewModelScope = null; + if (this.view !== null) { + this.view.attached(); } + }; - controllers = this.controllers; - for (i = 0, ii = controllers.length; i < ii; ++i) { - controllers[i].bind(this); - } + Controller.prototype.detached = function detached() { + if (this.isAttached) { + this.isAttached = false; - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - children[i].bind(bindingContext, overrideContext, true); - } + if (this.view !== null) { + this.view.detached(); + } - if (this.hasSlots) { - ShadowDOM.distributeView(this.contentView, this.slots); + if (this.behavior.handlesDetached) { + this.viewModel.detached(); + } } }; - View.prototype.addBinding = function addBinding(binding) { - this.bindings.push(binding); + return Controller; + }(); - if (this.isBound) { - binding.bind(this); - } + var BehaviorPropertyObserver = exports.BehaviorPropertyObserver = (_dec9 = (0, _aureliaBinding.subscriberCollection)(), _dec9(_class16 = function () { + function BehaviorPropertyObserver(taskQueue, obj, propertyName, selfSubscriber, initialValue) { + + + this.taskQueue = taskQueue; + this.obj = obj; + this.propertyName = propertyName; + this.notqueued = true; + this.publishing = false; + this.selfSubscriber = selfSubscriber; + this.currentValue = this.oldValue = initialValue; + } + + BehaviorPropertyObserver.prototype.getValue = function getValue() { + return this.currentValue; }; - View.prototype.unbind = function unbind() { - var controllers = void 0; - var bindings = void 0; - var children = void 0; - var i = void 0; - var ii = void 0; + BehaviorPropertyObserver.prototype.setValue = function setValue(newValue) { + var oldValue = this.currentValue; - if (this.isBound) { - this.isBound = false; - this.resources._invokeHook('beforeUnbind', this); + if (oldValue !== newValue) { + this.oldValue = oldValue; + this.currentValue = newValue; - if (this.controller !== null) { - this.controller.unbind(); + if (this.publishing && this.notqueued) { + if (this.taskQueue.flushing) { + this.call(); + } else { + this.notqueued = false; + this.taskQueue.queueMicroTask(this); + } } + } + }; - bindings = this.bindings; - for (i = 0, ii = bindings.length; i < ii; ++i) { - bindings[i].unbind(); - } + BehaviorPropertyObserver.prototype.call = function call() { + var oldValue = this.oldValue; + var newValue = this.currentValue; - controllers = this.controllers; - for (i = 0, ii = controllers.length; i < ii; ++i) { - controllers[i].unbind(); - } + this.notqueued = true; - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - children[i].unbind(); - } + if (newValue === oldValue) { + return; + } - this.bindingContext = null; - this.overrideContext = null; + if (this.selfSubscriber) { + this.selfSubscriber(newValue, oldValue); } + + this.callSubscribers(newValue, oldValue); + this.oldValue = newValue; }; - View.prototype.insertNodesBefore = function insertNodesBefore(refNode) { - refNode.parentNode.insertBefore(this.fragment, refNode); + BehaviorPropertyObserver.prototype.subscribe = function subscribe(context, callable) { + this.addSubscriber(context, callable); }; - View.prototype.appendNodesTo = function appendNodesTo(parent) { - parent.appendChild(this.fragment); + BehaviorPropertyObserver.prototype.unsubscribe = function unsubscribe(context, callable) { + this.removeSubscriber(context, callable); }; - View.prototype.removeNodes = function removeNodes() { - var fragment = this.fragment; - var current = this.firstChild; - var end = this.lastChild; - var next = void 0; + return BehaviorPropertyObserver; + }()) || _class16); - while (current) { - next = current.nextSibling; - fragment.appendChild(current); - if (current === end) { - break; - } + function getObserver(behavior, instance, name) { + var lookup = instance.__observers__; - current = next; + if (lookup === undefined) { + if (!behavior.isInitialized) { + behavior.initialize(_aureliaDependencyInjection.Container.instance || new _aureliaDependencyInjection.Container(), instance.constructor); } - }; - View.prototype.attached = function attached() { - var controllers = void 0; - var children = void 0; - var i = void 0; - var ii = void 0; + lookup = behavior.observerLocator.getOrCreateObserversLookup(instance); + behavior._ensurePropertiesDefined(instance, lookup); + } - if (this.isAttached) { - return; - } + return lookup[name]; + } - this.isAttached = true; + var BindableProperty = exports.BindableProperty = function () { + function BindableProperty(nameOrConfig) { + - if (this.controller !== null) { - this.controller.attached(); + if (typeof nameOrConfig === 'string') { + this.name = nameOrConfig; + } else { + Object.assign(this, nameOrConfig); } - controllers = this.controllers; - for (i = 0, ii = controllers.length; i < ii; ++i) { - controllers[i].attached(); + this.attribute = this.attribute || _hyphenate(this.name); + if (this.defaultBindingMode === null || this.defaultBindingMode === undefined) { + this.defaultBindingMode = _aureliaBinding.bindingMode.oneWay; } + this.changeHandler = this.changeHandler || null; + this.owner = null; + this.descriptor = null; + } - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - children[i].attached(); + BindableProperty.prototype.registerWith = function registerWith(target, behavior, descriptor) { + behavior.properties.push(this); + behavior.attributes[this.attribute] = this; + this.owner = behavior; + + if (descriptor) { + this.descriptor = descriptor; + return this._configureDescriptor(behavior, descriptor); } + + return undefined; }; - View.prototype.detached = function detached() { - var controllers = void 0; - var children = void 0; - var i = void 0; - var ii = void 0; + BindableProperty.prototype._configureDescriptor = function _configureDescriptor(behavior, descriptor) { + var name = this.name; - if (this.isAttached) { - this.isAttached = false; + descriptor.configurable = true; + descriptor.enumerable = true; + + if ('initializer' in descriptor) { + this.defaultValue = descriptor.initializer; + delete descriptor.initializer; + delete descriptor.writable; + } + + if ('value' in descriptor) { + this.defaultValue = descriptor.value; + delete descriptor.value; + delete descriptor.writable; + } + + descriptor.get = function () { + return getObserver(behavior, this, name).getValue(); + }; + + descriptor.set = function (value) { + getObserver(behavior, this, name).setValue(value); + }; + + descriptor.get.getObserver = function (obj) { + return getObserver(behavior, obj, name); + }; + + return descriptor; + }; - if (this.controller !== null) { - this.controller.detached(); - } + BindableProperty.prototype.defineOn = function defineOn(target, behavior) { + var name = this.name; + var handlerName = void 0; - controllers = this.controllers; - for (i = 0, ii = controllers.length; i < ii; ++i) { - controllers[i].detached(); + if (this.changeHandler === null) { + handlerName = name + 'Changed'; + if (handlerName in target.prototype) { + this.changeHandler = handlerName; } + } - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - children[i].detached(); - } + if (this.descriptor === null) { + Object.defineProperty(target.prototype, name, this._configureDescriptor(behavior, {})); } }; - return View; - }(); - - function getAnimatableElement(view) { - if (view.animatableElement !== undefined) { - return view.animatableElement; - } + BindableProperty.prototype.createObserver = function createObserver(viewModel) { + var selfSubscriber = null; + var defaultValue = this.defaultValue; + var changeHandlerName = this.changeHandler; + var name = this.name; + var initialValue = void 0; - var current = view.firstChild; + if (this.hasOptions) { + return undefined; + } - while (current && current.nodeType !== 1) { - current = current.nextSibling; - } + if (changeHandlerName in viewModel) { + if ('propertyChanged' in viewModel) { + selfSubscriber = function selfSubscriber(newValue, oldValue) { + viewModel[changeHandlerName](newValue, oldValue); + viewModel.propertyChanged(name, newValue, oldValue); + }; + } else { + selfSubscriber = function selfSubscriber(newValue, oldValue) { + return viewModel[changeHandlerName](newValue, oldValue); + }; + } + } else if ('propertyChanged' in viewModel) { + selfSubscriber = function selfSubscriber(newValue, oldValue) { + return viewModel.propertyChanged(name, newValue, oldValue); + }; + } else if (changeHandlerName !== null) { + throw new Error('Change handler ' + changeHandlerName + ' was specified but not declared on the class.'); + } - if (current && current.nodeType === 1) { - return view.animatableElement = current.classList.contains('au-animate') ? current : null; - } + if (defaultValue !== undefined) { + initialValue = typeof defaultValue === 'function' ? defaultValue.call(viewModel) : defaultValue; + } - return view.animatableElement = null; - } + return new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, this.name, selfSubscriber, initialValue); + }; - var ViewSlot = exports.ViewSlot = function () { - function ViewSlot(anchor, anchorIsContainer) { - var animator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Animator.instance; + BindableProperty.prototype._initialize = function _initialize(viewModel, observerLookup, attributes, behaviorHandlesBind, boundProperties) { + var selfSubscriber = void 0; + var observer = void 0; + var attribute = void 0; + var defaultValue = this.defaultValue; - + if (this.isDynamic) { + for (var key in attributes) { + this._createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, key, attributes[key], boundProperties); + } + } else if (!this.hasOptions) { + observer = observerLookup[this.name]; - this.anchor = anchor; - this.anchorIsContainer = anchorIsContainer; - this.bindingContext = null; - this.overrideContext = null; - this.animator = animator; - this.children = []; - this.isBound = false; - this.isAttached = false; - this.contentSelectors = null; - anchor.viewSlot = this; - anchor.isContentProjectionSource = false; - } + if (attributes !== null) { + selfSubscriber = observer.selfSubscriber; + attribute = attributes[this.attribute]; - ViewSlot.prototype.animateView = function animateView(view) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'enter'; + if (behaviorHandlesBind) { + observer.selfSubscriber = null; + } - var animatableElement = getAnimatableElement(view); + if (typeof attribute === 'string') { + viewModel[this.name] = attribute; + observer.call(); + } else if (attribute) { + boundProperties.push({ observer: observer, binding: attribute.createBinding(viewModel) }); + } else if (defaultValue !== undefined) { + observer.call(); + } - if (animatableElement !== null) { - switch (direction) { - case 'enter': - return this.animator.enter(animatableElement); - case 'leave': - return this.animator.leave(animatableElement); - default: - throw new Error('Invalid animation direction: ' + direction); + observer.selfSubscriber = selfSubscriber; } + + observer.publishing = true; } }; - ViewSlot.prototype.transformChildNodesIntoView = function transformChildNodesIntoView() { - var parent = this.anchor; - - this.children.push({ - fragment: parent, - firstChild: parent.firstChild, - lastChild: parent.lastChild, - returnToCache: function returnToCache() {}, - removeNodes: function removeNodes() { - var last = void 0; + BindableProperty.prototype._createDynamicProperty = function _createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, name, attribute, boundProperties) { + var changeHandlerName = name + 'Changed'; + var selfSubscriber = null; + var observer = void 0; + var info = void 0; - while (last = parent.lastChild) { - parent.removeChild(last); - } - }, - created: function created() {}, - bind: function bind() {}, - unbind: function unbind() {}, - attached: function attached() {}, - detached: function detached() {} - }); - }; + if (changeHandlerName in viewModel) { + if ('propertyChanged' in viewModel) { + selfSubscriber = function selfSubscriber(newValue, oldValue) { + viewModel[changeHandlerName](newValue, oldValue); + viewModel.propertyChanged(name, newValue, oldValue); + }; + } else { + selfSubscriber = function selfSubscriber(newValue, oldValue) { + return viewModel[changeHandlerName](newValue, oldValue); + }; + } + } else if ('propertyChanged' in viewModel) { + selfSubscriber = function selfSubscriber(newValue, oldValue) { + return viewModel.propertyChanged(name, newValue, oldValue); + }; + } - ViewSlot.prototype.bind = function bind(bindingContext, overrideContext) { - var i = void 0; - var ii = void 0; - var children = void 0; + observer = observerLookup[name] = new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, name, selfSubscriber); - if (this.isBound) { - if (this.bindingContext === bindingContext) { - return; - } + Object.defineProperty(viewModel, name, { + configurable: true, + enumerable: true, + get: observer.getValue.bind(observer), + set: observer.setValue.bind(observer) + }); - this.unbind(); + if (behaviorHandlesBind) { + observer.selfSubscriber = null; } - this.isBound = true; - this.bindingContext = bindingContext = bindingContext || this.bindingContext; - this.overrideContext = overrideContext = overrideContext || this.overrideContext; - - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - children[i].bind(bindingContext, overrideContext, true); + if (typeof attribute === 'string') { + viewModel[name] = attribute; + observer.call(); + } else if (attribute) { + info = { observer: observer, binding: attribute.createBinding(viewModel) }; + boundProperties.push(info); } + + observer.publishing = true; + observer.selfSubscriber = selfSubscriber; }; - ViewSlot.prototype.unbind = function unbind() { - if (this.isBound) { - var i = void 0; - var ii = void 0; - var _children4 = this.children; + return BindableProperty; + }(); - this.isBound = false; - this.bindingContext = null; - this.overrideContext = null; + var lastProviderId = 0; - for (i = 0, ii = _children4.length; i < ii; ++i) { - _children4[i].unbind(); - } - } - }; + function nextProviderId() { + return ++lastProviderId; + } - ViewSlot.prototype.add = function add(view) { - if (this.anchorIsContainer) { - view.appendNodesTo(this.anchor); - } else { - view.insertNodesBefore(this.anchor); - } + function doProcessContent() { + return true; + } + function doProcessAttributes() {} - this.children.push(view); + var HtmlBehaviorResource = exports.HtmlBehaviorResource = function () { + function HtmlBehaviorResource() { + - if (this.isAttached) { - view.attached(); - return this.animateView(view, 'enter'); - } - }; + this.elementName = null; + this.attributeName = null; + this.attributeDefaultBindingMode = undefined; + this.liftsContent = false; + this.targetShadowDOM = false; + this.shadowDOMOptions = null; + this.processAttributes = doProcessAttributes; + this.processContent = doProcessContent; + this.usesShadowDOM = false; + this.childBindings = null; + this.hasDynamicOptions = false; + this.containerless = false; + this.properties = []; + this.attributes = {}; + this.isInitialized = false; + this.primaryProperty = null; + } + + HtmlBehaviorResource.convention = function convention(name, existing) { + var behavior = void 0; - ViewSlot.prototype.insert = function insert(index, view) { - var children = this.children; - var length = children.length; + if (name.endsWith('CustomAttribute')) { + behavior = existing || new HtmlBehaviorResource(); + behavior.attributeName = _hyphenate(name.substring(0, name.length - 15)); + } - if (index === 0 && length === 0 || index >= length) { - return this.add(view); + if (name.endsWith('CustomElement')) { + behavior = existing || new HtmlBehaviorResource(); + behavior.elementName = _hyphenate(name.substring(0, name.length - 13)); } - view.insertNodesBefore(children[index].firstChild); - children.splice(index, 0, view); + return behavior; + }; - if (this.isAttached) { - view.attached(); - return this.animateView(view, 'enter'); + HtmlBehaviorResource.prototype.addChildBinding = function addChildBinding(behavior) { + if (this.childBindings === null) { + this.childBindings = []; } + + this.childBindings.push(behavior); }; - ViewSlot.prototype.move = function move(sourceIndex, targetIndex) { - if (sourceIndex === targetIndex) { + HtmlBehaviorResource.prototype.initialize = function initialize(container, target) { + var proto = target.prototype; + var properties = this.properties; + var attributeName = this.attributeName; + var attributeDefaultBindingMode = this.attributeDefaultBindingMode; + var i = void 0; + var ii = void 0; + var current = void 0; + + if (this.isInitialized) { return; } - var children = this.children; - var view = children[sourceIndex]; - - view.removeNodes(); - view.insertNodesBefore(children[targetIndex].firstChild); - children.splice(sourceIndex, 1); - children.splice(targetIndex, 0, view); - }; - - ViewSlot.prototype.remove = function remove(view, returnToCache, skipAnimation) { - return this.removeAt(this.children.indexOf(view), returnToCache, skipAnimation); - }; + this.isInitialized = true; + target.__providerId__ = nextProviderId(); - ViewSlot.prototype.removeMany = function removeMany(viewsToRemove, returnToCache, skipAnimation) { - var _this4 = this; + this.observerLocator = container.get(_aureliaBinding.ObserverLocator); + this.taskQueue = container.get(_aureliaTaskQueue.TaskQueue); - var children = this.children; - var ii = viewsToRemove.length; - var i = void 0; - var rmPromises = []; + this.target = target; + this.usesShadowDOM = this.targetShadowDOM && _aureliaPal.FEATURE.shadowDOM; + this.handlesCreated = 'created' in proto; + this.handlesBind = 'bind' in proto; + this.handlesUnbind = 'unbind' in proto; + this.handlesAttached = 'attached' in proto; + this.handlesDetached = 'detached' in proto; + this.htmlName = this.elementName || this.attributeName; - viewsToRemove.forEach(function (child) { - if (skipAnimation) { - child.removeNodes(); - return; + if (attributeName !== null) { + if (properties.length === 0) { + new BindableProperty({ + name: 'value', + changeHandler: 'valueChanged' in proto ? 'valueChanged' : null, + attribute: attributeName, + defaultBindingMode: attributeDefaultBindingMode + }).registerWith(target, this); } - var animation = _this4.animateView(child, 'leave'); - if (animation) { - rmPromises.push(animation.then(function () { - return child.removeNodes(); - })); - } else { - child.removeNodes(); - } - }); + current = properties[0]; - var removeAction = function removeAction() { - if (_this4.isAttached) { - for (i = 0; i < ii; ++i) { - viewsToRemove[i].detached(); + if (properties.length === 1 && current.name === 'value') { + current.isDynamic = current.hasOptions = this.hasDynamicOptions; + current.defineOn(target, this); + } else { + for (i = 0, ii = properties.length; i < ii; ++i) { + properties[i].defineOn(target, this); + if (properties[i].primaryProperty) { + if (this.primaryProperty) { + throw new Error('Only one bindable property on a custom element can be defined as the default'); + } + this.primaryProperty = properties[i]; + } } - } - if (returnToCache) { - for (i = 0; i < ii; ++i) { - viewsToRemove[i].returnToCache(); - } - } + current = new BindableProperty({ + name: 'value', + changeHandler: 'valueChanged' in proto ? 'valueChanged' : null, + attribute: attributeName, + defaultBindingMode: attributeDefaultBindingMode + }); - for (i = 0; i < ii; ++i) { - var index = children.indexOf(viewsToRemove[i]); - if (index >= 0) { - children.splice(index, 1); - } + current.hasOptions = true; + current.registerWith(target, this); } - }; + } else { + for (i = 0, ii = properties.length; i < ii; ++i) { + properties[i].defineOn(target, this); + } + } + }; - if (rmPromises.length > 0) { - return Promise.all(rmPromises).then(function () { - return removeAction(); - }); + HtmlBehaviorResource.prototype.register = function register(registry, name) { + if (this.attributeName !== null) { + registry.registerAttribute(name || this.attributeName, this, this.attributeName); } - return removeAction(); + if (this.elementName !== null) { + registry.registerElement(name || this.elementName, this); + } }; - ViewSlot.prototype.removeAt = function removeAt(index, returnToCache, skipAnimation) { - var _this5 = this; - - var view = this.children[index]; + HtmlBehaviorResource.prototype.load = function load(container, target, loadContext, viewStrategy, transientView) { + var _this13 = this; - var removeAction = function removeAction() { - index = _this5.children.indexOf(view); - view.removeNodes(); - _this5.children.splice(index, 1); + var options = void 0; - if (_this5.isAttached) { - view.detached(); - } + if (this.elementName !== null) { + viewStrategy = container.get(ViewLocator).getViewStrategy(viewStrategy || this.viewStrategy || target); + options = new ViewCompileInstruction(this.targetShadowDOM, true); - if (returnToCache) { - view.returnToCache(); + if (!viewStrategy.moduleId) { + viewStrategy.moduleId = _aureliaMetadata.Origin.get(target).moduleId; } - return view; - }; + return viewStrategy.loadViewFactory(container.get(ViewEngine), options, loadContext, target).then(function (viewFactory) { + if (!transientView || !_this13.viewFactory) { + _this13.viewFactory = viewFactory; + } - if (!skipAnimation) { - var animation = this.animateView(view, 'leave'); - if (animation) { - return animation.then(function () { - return removeAction(); - }); - } + return viewFactory; + }); } - return removeAction(); + return Promise.resolve(this); }; - ViewSlot.prototype.removeAll = function removeAll(returnToCache, skipAnimation) { - var _this6 = this; - - var children = this.children; - var ii = children.length; - var i = void 0; - var rmPromises = []; + HtmlBehaviorResource.prototype.compile = function compile(compiler, resources, node, instruction, parentNode) { + if (this.liftsContent) { + if (!instruction.viewFactory) { + var template = _aureliaPal.DOM.createElement('template'); + var fragment = _aureliaPal.DOM.createDocumentFragment(); + var cacheSize = node.getAttribute('view-cache'); + var part = node.getAttribute('part'); - children.forEach(function (child) { - if (skipAnimation) { - child.removeNodes(); - return; - } + node.removeAttribute(instruction.originalAttrName); + _aureliaPal.DOM.replaceNode(template, node, parentNode); + fragment.appendChild(node); + instruction.viewFactory = compiler.compile(fragment, resources); - var animation = _this6.animateView(child, 'leave'); - if (animation) { - rmPromises.push(animation.then(function () { - return child.removeNodes(); - })); - } else { - child.removeNodes(); - } - }); + if (part) { + instruction.viewFactory.part = part; + node.removeAttribute('part'); + } - var removeAction = function removeAction() { - if (_this6.isAttached) { - for (i = 0; i < ii; ++i) { - children[i].detached(); + if (cacheSize) { + instruction.viewFactory.setCacheSize(cacheSize); + node.removeAttribute('view-cache'); } + + node = template; } + } else if (this.elementName !== null) { + var _partReplacements2 = {}; - if (returnToCache) { - for (i = 0; i < ii; ++i) { - children[i].returnToCache(); + if (this.processContent(compiler, resources, node, instruction) && node.hasChildNodes()) { + var currentChild = node.firstChild; + var contentElement = this.usesShadowDOM ? null : _aureliaPal.DOM.createElement('au-content'); + var nextSibling = void 0; + var toReplace = void 0; + + while (currentChild) { + nextSibling = currentChild.nextSibling; + + if (currentChild.tagName === 'TEMPLATE' && (toReplace = currentChild.getAttribute('replace-part'))) { + _partReplacements2[toReplace] = compiler.compile(currentChild, resources); + _aureliaPal.DOM.removeNode(currentChild, parentNode); + instruction.partReplacements = _partReplacements2; + } else if (contentElement !== null) { + if (currentChild.nodeType === 3 && _isAllWhitespace(currentChild)) { + _aureliaPal.DOM.removeNode(currentChild, parentNode); + } else { + contentElement.appendChild(currentChild); + } + } + + currentChild = nextSibling; } - } - _this6.children = []; - }; + if (contentElement !== null && contentElement.hasChildNodes()) { + node.appendChild(contentElement); + } - if (rmPromises.length > 0) { - return Promise.all(rmPromises).then(function () { - return removeAction(); - }); + instruction.skipContentProcessing = false; + } else { + instruction.skipContentProcessing = true; + } } - return removeAction(); + return node; }; - ViewSlot.prototype.attached = function attached() { - var i = void 0; - var ii = void 0; - var children = void 0; - var child = void 0; + HtmlBehaviorResource.prototype.create = function create(container, instruction, element, bindings) { + var viewHost = void 0; + var au = null; - if (this.isAttached) { - return; - } + instruction = instruction || BehaviorInstruction.normal; + element = element || null; + bindings = bindings || null; - this.isAttached = true; + if (this.elementName !== null && element) { + if (this.usesShadowDOM) { + viewHost = element.attachShadow(this.shadowDOMOptions); + container.registerInstance(_aureliaPal.DOM.boundary, viewHost); + } else { + viewHost = element; + if (this.targetShadowDOM) { + container.registerInstance(_aureliaPal.DOM.boundary, viewHost); + } + } + } - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - child = children[i]; - child.attached(); - this.animateView(child, 'enter'); + if (element !== null) { + element.au = au = element.au || {}; } - }; - ViewSlot.prototype.detached = function detached() { - var i = void 0; - var ii = void 0; - var children = void 0; + var viewModel = instruction.viewModel || container.get(this.target); + var controller = new Controller(this, instruction, viewModel, container); + var childBindings = this.childBindings; + var viewFactory = void 0; - if (this.isAttached) { - this.isAttached = false; - children = this.children; - for (i = 0, ii = children.length; i < ii; ++i) { - children[i].detached(); + if (this.liftsContent) { + au.controller = controller; + } else if (this.elementName !== null) { + viewFactory = instruction.viewFactory || this.viewFactory; + container.viewModel = viewModel; + + if (viewFactory) { + controller.view = viewFactory.create(container, instruction, element); } - } - }; - ViewSlot.prototype.projectTo = function projectTo(slots) { - var _this7 = this; + if (element !== null) { + au.controller = controller; - this.projectToSlots = slots; - this.add = this._projectionAdd; - this.insert = this._projectionInsert; - this.move = this._projectionMove; - this.remove = this._projectionRemove; - this.removeAt = this._projectionRemoveAt; - this.removeMany = this._projectionRemoveMany; - this.removeAll = this._projectionRemoveAll; - this.children.forEach(function (view) { - return ShadowDOM.distributeView(view, slots, _this7); - }); - }; + if (controller.view) { + if (!this.usesShadowDOM && (element.childNodes.length === 1 || element.contentElement)) { + var contentElement = element.childNodes[0] || element.contentElement; + controller.view.contentView = { fragment: contentElement }; + contentElement.parentNode && _aureliaPal.DOM.removeNode(contentElement); + } - ViewSlot.prototype._projectionAdd = function _projectionAdd(view) { - ShadowDOM.distributeView(view, this.projectToSlots, this); + if (instruction.anchorIsContainer) { + if (childBindings !== null) { + for (var _i3 = 0, _ii3 = childBindings.length; _i3 < _ii3; ++_i3) { + controller.view.addBinding(childBindings[_i3].create(element, viewModel, controller)); + } + } - this.children.push(view); + controller.view.appendNodesTo(viewHost); + } else { + controller.view.insertNodesBefore(viewHost); + } + } else if (childBindings !== null) { + for (var _i4 = 0, _ii4 = childBindings.length; _i4 < _ii4; ++_i4) { + bindings.push(childBindings[_i4].create(element, viewModel, controller)); + } + } + } else if (controller.view) { + controller.view.controller = controller; - if (this.isAttached) { - view.attached(); + if (childBindings !== null) { + for (var _i5 = 0, _ii5 = childBindings.length; _i5 < _ii5; ++_i5) { + controller.view.addBinding(childBindings[_i5].create(instruction.host, viewModel, controller)); + } + } + } else if (childBindings !== null) { + for (var _i6 = 0, _ii6 = childBindings.length; _i6 < _ii6; ++_i6) { + bindings.push(childBindings[_i6].create(instruction.host, viewModel, controller)); + } + } + } else if (childBindings !== null) { + for (var _i7 = 0, _ii7 = childBindings.length; _i7 < _ii7; ++_i7) { + bindings.push(childBindings[_i7].create(element, viewModel, controller)); + } } - }; - ViewSlot.prototype._projectionInsert = function _projectionInsert(index, view) { - if (index === 0 && !this.children.length || index >= this.children.length) { - this.add(view); - } else { - ShadowDOM.distributeView(view, this.projectToSlots, this, index); - - this.children.splice(index, 0, view); + if (au !== null) { + au[this.htmlName] = controller; + } - if (this.isAttached) { - view.attached(); - } + if (instruction.initiatedByBehavior && viewFactory) { + controller.view.created(); } + + return controller; }; - ViewSlot.prototype._projectionMove = function _projectionMove(sourceIndex, targetIndex) { - if (sourceIndex === targetIndex) { + HtmlBehaviorResource.prototype._ensurePropertiesDefined = function _ensurePropertiesDefined(instance, lookup) { + var properties = void 0; + var i = void 0; + var ii = void 0; + var observer = void 0; + + if ('__propertiesDefined__' in lookup) { return; } - var children = this.children; - var view = children[sourceIndex]; - - ShadowDOM.undistributeView(view, this.projectToSlots, this); - ShadowDOM.distributeView(view, this.projectToSlots, this, targetIndex); - - children.splice(sourceIndex, 1); - children.splice(targetIndex, 0, view); - }; + lookup.__propertiesDefined__ = true; + properties = this.properties; - ViewSlot.prototype._projectionRemove = function _projectionRemove(view, returnToCache) { - ShadowDOM.undistributeView(view, this.projectToSlots, this); - this.children.splice(this.children.indexOf(view), 1); + for (i = 0, ii = properties.length; i < ii; ++i) { + observer = properties[i].createObserver(instance); - if (this.isAttached) { - view.detached(); + if (observer !== undefined) { + lookup[observer.propertyName] = observer; + } } }; - ViewSlot.prototype._projectionRemoveAt = function _projectionRemoveAt(index, returnToCache) { - var view = this.children[index]; + return HtmlBehaviorResource; + }(); - ShadowDOM.undistributeView(view, this.projectToSlots, this); - this.children.splice(index, 1); + function createChildObserverDecorator(selectorOrConfig, all) { + return function (target, key, descriptor) { + var actualTarget = typeof key === 'string' ? target.constructor : target; + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, actualTarget); - if (this.isAttached) { - view.detached(); + if (typeof selectorOrConfig === 'string') { + selectorOrConfig = { + selector: selectorOrConfig, + name: key + }; } - }; - ViewSlot.prototype._projectionRemoveMany = function _projectionRemoveMany(viewsToRemove, returnToCache) { - var _this8 = this; + if (descriptor) { + descriptor.writable = true; + } - viewsToRemove.forEach(function (view) { - return _this8.remove(view, returnToCache); - }); + selectorOrConfig.all = all; + r.addChildBinding(new ChildObserver(selectorOrConfig)); }; + } - ViewSlot.prototype._projectionRemoveAll = function _projectionRemoveAll(returnToCache) { - ShadowDOM.undistributeAll(this.projectToSlots, this); + function children(selectorOrConfig) { + return createChildObserverDecorator(selectorOrConfig, true); + } - var children = this.children; + function child(selectorOrConfig) { + return createChildObserverDecorator(selectorOrConfig, false); + } - if (this.isAttached) { - for (var i = 0, ii = children.length; i < ii; ++i) { - children[i].detached(); - } - } + var ChildObserver = function () { + function ChildObserver(config) { + - this.children = []; + this.name = config.name; + this.changeHandler = config.changeHandler || this.name + 'Changed'; + this.selector = config.selector; + this.all = config.all; + } + + ChildObserver.prototype.create = function create(viewHost, viewModel, controller) { + return new ChildObserverBinder(this.selector, viewHost, this.name, viewModel, controller, this.changeHandler, this.all); }; - return ViewSlot; + return ChildObserver; }(); - var ProviderResolver = (0, _aureliaDependencyInjection.resolver)(_class11 = function () { - function ProviderResolver() { - + var noMutations = []; + + function trackMutation(groupedMutations, binder, record) { + var mutations = groupedMutations.get(binder); + + if (!mutations) { + mutations = []; + groupedMutations.set(binder, mutations); } - ProviderResolver.prototype.get = function get(container, key) { - var id = key.__providerId__; - return id in container ? container[id] : container[id] = container.invoke(key); - }; + mutations.push(record); + } - return ProviderResolver; - }()) || _class11; + function onChildChange(mutations, observer) { + var binders = observer.binders; + var bindersLength = binders.length; + var groupedMutations = new Map(); + + for (var _i8 = 0, _ii8 = mutations.length; _i8 < _ii8; ++_i8) { + var record = mutations[_i8]; + var added = record.addedNodes; + var removed = record.removedNodes; - var providerResolverInstance = new ProviderResolver(); + for (var j = 0, jj = removed.length; j < jj; ++j) { + var node = removed[j]; + if (node.nodeType === 1) { + for (var k = 0; k < bindersLength; ++k) { + var binder = binders[k]; + if (binder.onRemove(node)) { + trackMutation(groupedMutations, binder, record); + } + } + } + } - function elementContainerGet(key) { - if (key === _aureliaPal.DOM.Element) { - return this.element; + for (var _j = 0, _jj = added.length; _j < _jj; ++_j) { + var _node = added[_j]; + if (_node.nodeType === 1) { + for (var _k = 0; _k < bindersLength; ++_k) { + var _binder = binders[_k]; + if (_binder.onAdd(_node)) { + trackMutation(groupedMutations, _binder, record); + } + } + } + } } - if (key === BoundViewFactory) { - if (this.boundViewFactory) { - return this.boundViewFactory; + groupedMutations.forEach(function (value, key) { + if (key.changeHandler !== null) { + key.viewModel[key.changeHandler](value); } + }); + } - var factory = this.instruction.viewFactory; - var _partReplacements = this.partReplacements; + var ChildObserverBinder = function () { + function ChildObserverBinder(selector, viewHost, property, viewModel, controller, changeHandler, all) { + - if (_partReplacements) { - factory = _partReplacements[factory.part] || factory; - } + this.selector = selector; + this.viewHost = viewHost; + this.property = property; + this.viewModel = viewModel; + this.controller = controller; + this.changeHandler = changeHandler in viewModel ? changeHandler : null; + this.usesShadowDOM = controller.behavior.usesShadowDOM; + this.all = all; - this.boundViewFactory = new BoundViewFactory(this, factory, _partReplacements); - return this.boundViewFactory; + if (!this.usesShadowDOM && controller.view && controller.view.contentView) { + this.contentView = controller.view.contentView; + } else { + this.contentView = null; + } } - if (key === ViewSlot) { - if (this.viewSlot === undefined) { - this.viewSlot = new ViewSlot(this.element, this.instruction.anchorIsContainer); - this.element.isContentProjectionSource = this.instruction.lifting; - this.children.push(this.viewSlot); - } + ChildObserverBinder.prototype.matches = function matches(element) { + if (element.matches(this.selector)) { + if (this.contentView === null) { + return true; + } - return this.viewSlot; - } + var contentView = this.contentView; + var assignedSlot = element.auAssignedSlot; - if (key === ElementEvents) { - return this.elementEvents || (this.elementEvents = new ElementEvents(this.element)); - } + if (assignedSlot && assignedSlot.projectFromAnchors) { + var anchors = assignedSlot.projectFromAnchors; - if (key === CompositionTransaction) { - return this.compositionTransaction || (this.compositionTransaction = this.parent.get(key)); - } + for (var _i9 = 0, _ii9 = anchors.length; _i9 < _ii9; ++_i9) { + if (anchors[_i9].auOwnerView === contentView) { + return true; + } + } - if (key === ViewResources) { - return this.viewResources; - } + return false; + } - if (key === TargetInstruction) { - return this.instruction; - } + return element.auOwnerView === contentView; + } - return this.superGet(key); - } + return false; + }; - function createElementContainer(parent, element, instruction, children, partReplacements, resources) { - var container = parent.createChild(); - var providers = void 0; - var i = void 0; + ChildObserverBinder.prototype.bind = function bind(source) { + var viewHost = this.viewHost; + var viewModel = this.viewModel; + var observer = viewHost.__childObserver__; - container.element = element; - container.instruction = instruction; - container.children = children; - container.viewResources = resources; - container.partReplacements = partReplacements; + if (!observer) { + observer = viewHost.__childObserver__ = _aureliaPal.DOM.createMutationObserver(onChildChange); - providers = instruction.providers; - i = providers.length; + var options = { + childList: true, + subtree: !this.usesShadowDOM + }; - while (i--) { - container._resolvers.set(providers[i], providerResolverInstance); - } + observer.observe(viewHost, options); + observer.binders = []; + } - container.superGet = container.get; - container.get = elementContainerGet; + observer.binders.push(this); - return container; - } + if (this.usesShadowDOM) { + var current = viewHost.firstElementChild; - function hasAttribute(name) { - return this._element.hasAttribute(name); - } + if (this.all) { + var items = viewModel[this.property]; + if (!items) { + items = viewModel[this.property] = []; + } else { + items.length = 0; + } - function getAttribute(name) { - return this._element.getAttribute(name); - } + while (current) { + if (this.matches(current)) { + items.push(current.au && current.au.controller ? current.au.controller.viewModel : current); + } - function setAttribute(name, value) { - this._element.setAttribute(name, value); - } + current = current.nextElementSibling; + } - function makeElementIntoAnchor(element, elementInstruction) { - var anchor = _aureliaPal.DOM.createComment('anchor'); + if (this.changeHandler !== null) { + this.viewModel[this.changeHandler](noMutations); + } + } else { + while (current) { + if (this.matches(current)) { + var value = current.au && current.au.controller ? current.au.controller.viewModel : current; + this.viewModel[this.property] = value; - if (elementInstruction) { - var firstChild = element.firstChild; + if (this.changeHandler !== null) { + this.viewModel[this.changeHandler](value); + } - if (firstChild && firstChild.tagName === 'AU-CONTENT') { - anchor.contentElement = firstChild; + break; + } + + current = current.nextElementSibling; + } + } } + }; - anchor._element = element; + ChildObserverBinder.prototype.onRemove = function onRemove(element) { + if (this.matches(element)) { + var value = element.au && element.au.controller ? element.au.controller.viewModel : element; - anchor.hasAttribute = hasAttribute; - anchor.getAttribute = getAttribute; - anchor.setAttribute = setAttribute; - } + if (this.all) { + var items = this.viewModel[this.property] || (this.viewModel[this.property] = []); + var index = items.indexOf(value); - _aureliaPal.DOM.replaceNode(anchor, element); + if (index !== -1) { + items.splice(index, 1); + } - return anchor; - } + return true; + } - function applyInstructions(containers, element, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources) { - var behaviorInstructions = instruction.behaviorInstructions; - var expressions = instruction.expressions; - var elementContainer = void 0; - var i = void 0; - var ii = void 0; - var current = void 0; - var instance = void 0; + return false; + } - if (instruction.contentExpression) { - bindings.push(instruction.contentExpression.createBinding(element.nextSibling)); - element.nextSibling.auInterpolationTarget = true; - element.parentNode.removeChild(element); - return; - } + return false; + }; - if (instruction.shadowSlot) { - var commentAnchor = _aureliaPal.DOM.createComment('slot'); - var slot = void 0; + ChildObserverBinder.prototype.onAdd = function onAdd(element) { + if (this.matches(element)) { + var value = element.au && element.au.controller ? element.au.controller.viewModel : element; - if (instruction.slotDestination) { - slot = new PassThroughSlot(commentAnchor, instruction.slotName, instruction.slotDestination, instruction.slotFallbackFactory); - } else { - slot = new ShadowSlot(commentAnchor, instruction.slotName, instruction.slotFallbackFactory); - } + if (this.all) { + var items = this.viewModel[this.property] || (this.viewModel[this.property] = []); + var index = 0; + var prev = element.previousElementSibling; - _aureliaPal.DOM.replaceNode(commentAnchor, element); - shadowSlots[instruction.slotName] = slot; - controllers.push(slot); - return; - } + while (prev) { + if (this.matches(prev)) { + index++; + } - if (behaviorInstructions.length) { - if (!instruction.anchorIsContainer) { - element = makeElementIntoAnchor(element, instruction.elementInstruction); - } + prev = prev.previousElementSibling; + } - containers[instruction.injectorId] = elementContainer = createElementContainer(containers[instruction.parentInjectorId], element, instruction, children, partReplacements, resources); + items.splice(index, 0, value); + return true; + } + + this.viewModel[this.property] = value; - for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { - current = behaviorInstructions[i]; - instance = current.type.create(elementContainer, current, element, bindings); - controllers.push(instance); + if (this.changeHandler !== null) { + this.viewModel[this.changeHandler](value); + } } - } - for (i = 0, ii = expressions.length; i < ii; ++i) { - bindings.push(expressions[i].createBinding(element)); - } - } + return false; + }; - function styleStringToObject(style, target) { - var attributes = style.split(';'); - var firstIndexOfColon = void 0; - var i = void 0; - var current = void 0; - var key = void 0; - var value = void 0; + ChildObserverBinder.prototype.unbind = function unbind() { + if (this.viewHost.__childObserver__) { + this.viewHost.__childObserver__.disconnect(); + this.viewHost.__childObserver__ = null; + } + }; - target = target || {}; + return ChildObserverBinder; + }(); - for (i = 0; i < attributes.length; i++) { - current = attributes[i]; - firstIndexOfColon = current.indexOf(':'); - key = current.substring(0, firstIndexOfColon).trim(); - value = current.substring(firstIndexOfColon + 1).trim(); - target[key] = value; + function tryActivateViewModel(context) { + if (context.skipActivation || typeof context.viewModel.activate !== 'function') { + return Promise.resolve(); } - return target; + return context.viewModel.activate(context.model) || Promise.resolve(); } - function styleObjectToString(obj) { - var result = ''; + var CompositionEngine = exports.CompositionEngine = (_dec10 = (0, _aureliaDependencyInjection.inject)(ViewEngine, ViewLocator), _dec10(_class17 = function () { + function CompositionEngine(viewEngine, viewLocator) { + - for (var key in obj) { - result += key + ':' + obj[key] + ';'; + this.viewEngine = viewEngine; + this.viewLocator = viewLocator; } - return result; - } - - function applySurrogateInstruction(container, element, instruction, controllers, bindings, children) { - var behaviorInstructions = instruction.behaviorInstructions; - var expressions = instruction.expressions; - var providers = instruction.providers; - var values = instruction.values; - var i = void 0; - var ii = void 0; - var current = void 0; - var instance = void 0; - var currentAttributeValue = void 0; + CompositionEngine.prototype._createControllerAndSwap = function _createControllerAndSwap(context) { + function swap(controller) { + return Promise.resolve(context.viewSlot.removeAll(true)).then(function () { + if (context.currentController) { + context.currentController.unbind(); + } - i = providers.length; - while (i--) { - container._resolvers.set(providers[i], providerResolverInstance); - } + context.viewSlot.add(controller.view); - for (var key in values) { - currentAttributeValue = element.getAttribute(key); + if (context.compositionTransactionNotifier) { + context.compositionTransactionNotifier.done(); + } - if (currentAttributeValue) { - if (key === 'class') { - element.setAttribute('class', currentAttributeValue + ' ' + values[key]); - } else if (key === 'style') { - var styleObject = styleStringToObject(values[key]); - styleStringToObject(currentAttributeValue, styleObject); - element.setAttribute('style', styleObjectToString(styleObject)); - } - } else { - element.setAttribute(key, values[key]); + return controller; + }); } - } - if (behaviorInstructions.length) { - for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { - current = behaviorInstructions[i]; - instance = current.type.create(container, current, element, bindings); + return this.createController(context).then(function (controller) { + controller.automate(context.overrideContext, context.owningView); - if (instance.contentView) { - children.push(instance.contentView); + if (context.compositionTransactionOwnershipToken) { + return context.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function () { + return swap(controller); + }); } - controllers.push(instance); - } - } + return swap(controller); + }); + }; - for (i = 0, ii = expressions.length; i < ii; ++i) { - bindings.push(expressions[i].createBinding(element)); - } - } + CompositionEngine.prototype.createController = function createController(context) { + var _this14 = this; - var BoundViewFactory = exports.BoundViewFactory = function () { - function BoundViewFactory(parentContainer, viewFactory, partReplacements) { - + var childContainer = void 0; + var viewModel = void 0; + var viewModelResource = void 0; + var m = void 0; - this.parentContainer = parentContainer; - this.viewFactory = viewFactory; - this.factoryCreateInstruction = { partReplacements: partReplacements }; - } + return this.ensureViewModel(context).then(tryActivateViewModel).then(function () { + childContainer = context.childContainer; + viewModel = context.viewModel; + viewModelResource = context.viewModelResource; + m = viewModelResource.metadata; - BoundViewFactory.prototype.create = function create() { - var view = this.viewFactory.create(this.parentContainer.createChild(), this.factoryCreateInstruction); - view._isUserControlled = true; - return view; - }; + var viewStrategy = _this14.viewLocator.getViewStrategy(context.view || viewModel); - BoundViewFactory.prototype.setCacheSize = function setCacheSize(size, doNotOverrideIfAlreadySet) { - this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet); - }; + if (context.viewResources) { + viewStrategy.makeRelativeTo(context.viewResources.viewUrl); + } - BoundViewFactory.prototype.getCachedView = function getCachedView() { - return this.viewFactory.getCachedView(); + return m.load(childContainer, viewModelResource.value, null, viewStrategy, true); + }).then(function (viewFactory) { + return m.create(childContainer, BehaviorInstruction.dynamic(context.host, viewModel, viewFactory)); + }); }; - BoundViewFactory.prototype.returnViewToCache = function returnViewToCache(view) { - this.viewFactory.returnViewToCache(view); - }; + CompositionEngine.prototype.ensureViewModel = function ensureViewModel(context) { + var childContainer = context.childContainer = context.childContainer || context.container.createChild(); - _createClass(BoundViewFactory, [{ - key: 'isCaching', - get: function get() { - return this.viewFactory.isCaching; - } - }]); + if (typeof context.viewModel === 'string') { + context.viewModel = context.viewResources ? context.viewResources.relativeToView(context.viewModel) : context.viewModel; - return BoundViewFactory; - }(); + return this.viewEngine.importViewModelResource(context.viewModel).then(function (viewModelResource) { + childContainer.autoRegister(viewModelResource.value); - var ViewFactory = exports.ViewFactory = function () { - function ViewFactory(template, instructions, resources) { - + if (context.host) { + childContainer.registerInstance(_aureliaPal.DOM.Element, context.host); + } - this.isCaching = false; + context.viewModel = childContainer.viewModel = childContainer.get(viewModelResource.value); + context.viewModelResource = viewModelResource; + return context; + }); + } - this.template = template; - this.instructions = instructions; - this.resources = resources; - this.cacheSize = -1; - this.cache = null; - } + var m = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, context.viewModel.constructor); + m.elementName = m.elementName || 'dynamic-element'; + m.initialize(context.container || childContainer, context.viewModel.constructor); + context.viewModelResource = { metadata: m, value: context.viewModel.constructor }; + childContainer.viewModel = context.viewModel; + return Promise.resolve(context); + }; - ViewFactory.prototype.setCacheSize = function setCacheSize(size, doNotOverrideIfAlreadySet) { - if (size) { - if (size === '*') { - size = Number.MAX_VALUE; - } else if (typeof size === 'string') { - size = parseInt(size, 10); - } - } + CompositionEngine.prototype.compose = function compose(context) { + context.childContainer = context.childContainer || context.container.createChild(); + context.view = this.viewLocator.getViewStrategy(context.view); - if (this.cacheSize === -1 || !doNotOverrideIfAlreadySet) { - this.cacheSize = size; - } + var transaction = context.childContainer.get(CompositionTransaction); + var compositionTransactionOwnershipToken = transaction.tryCapture(); - if (this.cacheSize > 0) { - this.cache = []; + if (compositionTransactionOwnershipToken) { + context.compositionTransactionOwnershipToken = compositionTransactionOwnershipToken; } else { - this.cache = null; + context.compositionTransactionNotifier = transaction.enlist(); } - this.isCaching = this.cacheSize > 0; - }; - - ViewFactory.prototype.getCachedView = function getCachedView() { - return this.cache !== null ? this.cache.pop() || null : null; - }; + if (context.viewModel) { + return this._createControllerAndSwap(context); + } else if (context.view) { + if (context.viewResources) { + context.view.makeRelativeTo(context.viewResources.viewUrl); + } - ViewFactory.prototype.returnViewToCache = function returnViewToCache(view) { - if (view.isAttached) { - view.detached(); - } + return context.view.loadViewFactory(this.viewEngine, new ViewCompileInstruction()).then(function (viewFactory) { + var result = viewFactory.create(context.childContainer); + result.bind(context.bindingContext, context.overrideContext); - if (view.isBound) { - view.unbind(); - } + var work = function work() { + return Promise.resolve(context.viewSlot.removeAll(true)).then(function () { + context.viewSlot.add(result); - if (this.cache !== null && this.cache.length < this.cacheSize) { - view.fromCache = true; - this.cache.push(view); - } - }; + if (context.compositionTransactionNotifier) { + context.compositionTransactionNotifier.done(); + } - ViewFactory.prototype.create = function create(container, createInstruction, element) { - createInstruction = createInstruction || BehaviorInstruction.normal; + return result; + }); + }; - var cachedView = this.getCachedView(); - if (cachedView !== null) { - return cachedView; - } + if (context.compositionTransactionOwnershipToken) { + return context.compositionTransactionOwnershipToken.waitForCompositionComplete().then(work); + } - var fragment = createInstruction.enhance ? this.template : this.template.cloneNode(true); - var instructables = fragment.querySelectorAll('.au-target'); - var instructions = this.instructions; - var resources = this.resources; - var controllers = []; - var bindings = []; - var children = []; - var shadowSlots = Object.create(null); - var containers = { root: container }; - var partReplacements = createInstruction.partReplacements; - var i = void 0; - var ii = void 0; - var view = void 0; - var instructable = void 0; - var instruction = void 0; + return work(); + }); + } else if (context.viewSlot) { + context.viewSlot.removeAll(); - this.resources._invokeHook('beforeCreate', this, container, fragment, createInstruction); + if (context.compositionTransactionNotifier) { + context.compositionTransactionNotifier.done(); + } - if (element && this.surrogateInstruction !== null) { - applySurrogateInstruction(container, element, this.surrogateInstruction, controllers, bindings, children); + return Promise.resolve(null); } - if (createInstruction.enhance && fragment.hasAttribute('au-target-id')) { - instructable = fragment; - instruction = instructions[instructable.getAttribute('au-target-id')]; - applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources); - } + return Promise.resolve(null); + }; - for (i = 0, ii = instructables.length; i < ii; ++i) { - instructable = instructables[i]; - instruction = instructions[instructable.getAttribute('au-target-id')]; - applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources); - } + return CompositionEngine; + }()) || _class17); - view = new View(container, this, fragment, controllers, bindings, children, shadowSlots); + var ElementConfigResource = exports.ElementConfigResource = function () { + function ElementConfigResource() { + + } - if (!createInstruction.initiatedByBehavior) { - view.created(); - } + ElementConfigResource.prototype.initialize = function initialize(container, target) {}; - this.resources._invokeHook('afterCreate', view); + ElementConfigResource.prototype.register = function register(registry, name) {}; - return view; + ElementConfigResource.prototype.load = function load(container, target) { + var config = new target(); + var eventManager = container.get(_aureliaBinding.EventManager); + eventManager.registerElementConfig(config); }; - return ViewFactory; + return ElementConfigResource; }(); - var nextInjectorId = 0; - function getNextInjectorId() { - return ++nextInjectorId; + function validateBehaviorName(name, type) { + if (/[A-Z]/.test(name)) { + var newName = _hyphenate(name); + LogManager.getLogger('templating').warn('\'' + name + '\' is not a valid ' + type + ' name and has been converted to \'' + newName + '\'. Upper-case letters are not allowed because the DOM is not case-sensitive.'); + return newName; + } + return name; } - var lastAUTargetID = 0; - function getNextAUTargetID() { - return (++lastAUTargetID).toString(); + function resource(instance) { + return function (target) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, instance, target); + }; } - function makeIntoInstructionTarget(element) { - var value = element.getAttribute('class'); - var auTargetID = getNextAUTargetID(); - - element.setAttribute('class', value ? value + ' au-target' : 'au-target'); - element.setAttribute('au-target-id', auTargetID); + function behavior(override) { + return function (target) { + if (override instanceof HtmlBehaviorResource) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, override, target); + } else { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, target); + Object.assign(r, override); + } + }; + } - return auTargetID; + function customElement(name) { + return function (target) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, target); + r.elementName = validateBehaviorName(name, 'custom element'); + }; } - function makeShadowSlot(compiler, resources, node, instructions, parentInjectorId) { - var auShadowSlot = _aureliaPal.DOM.createElement('au-shadow-slot'); - _aureliaPal.DOM.replaceNode(auShadowSlot, node); + function customAttribute(name, defaultBindingMode) { + return function (target) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, target); + r.attributeName = validateBehaviorName(name, 'custom attribute'); + r.attributeDefaultBindingMode = defaultBindingMode; + }; + } - var auTargetID = makeIntoInstructionTarget(auShadowSlot); - var instruction = TargetInstruction.shadowSlot(parentInjectorId); + function templateController(target) { + var deco = function deco(t) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); + r.liftsContent = true; + }; - instruction.slotName = node.getAttribute('name') || ShadowDOM.defaultSlotKey; - instruction.slotDestination = node.getAttribute('slot'); + return target ? deco(target) : deco; + } - if (node.innerHTML.trim()) { - var fragment = _aureliaPal.DOM.createDocumentFragment(); - var _child3 = void 0; + function bindable(nameOrConfigOrTarget, key, descriptor) { + var deco = function deco(target, key2, descriptor2) { + var actualTarget = key2 ? target.constructor : target; + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, actualTarget); + var prop = void 0; - while (_child3 = node.firstChild) { - fragment.appendChild(_child3); + if (key2) { + nameOrConfigOrTarget = nameOrConfigOrTarget || {}; + nameOrConfigOrTarget.name = key2; } - instruction.slotFallbackFactory = compiler.compile(fragment, resources); + prop = new BindableProperty(nameOrConfigOrTarget); + return prop.registerWith(actualTarget, r, descriptor2); + }; + + if (!nameOrConfigOrTarget) { + return deco; } - instructions[auTargetID] = instruction; + if (key) { + var _target = nameOrConfigOrTarget; + nameOrConfigOrTarget = null; + return deco(_target, key, descriptor); + } - return auShadowSlot; + return deco; } - var ViewCompiler = exports.ViewCompiler = (_dec7 = (0, _aureliaDependencyInjection.inject)(BindingLanguage, ViewResources), _dec7(_class13 = function () { - function ViewCompiler(bindingLanguage, resources) { - - - this.bindingLanguage = bindingLanguage; - this.resources = resources; - } + function dynamicOptions(target) { + var deco = function deco(t) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); + r.hasDynamicOptions = true; + }; - ViewCompiler.prototype.compile = function compile(source, resources, compileInstruction) { - resources = resources || this.resources; - compileInstruction = compileInstruction || ViewCompileInstruction.normal; - source = typeof source === 'string' ? _aureliaPal.DOM.createTemplateFromMarkup(source) : source; + return target ? deco(target) : deco; + } - var content = void 0; - var part = void 0; - var cacheSize = void 0; + var defaultShadowDOMOptions = { mode: 'open' }; + function useShadowDOM(targetOrOptions) { + var options = typeof targetOrOptions === 'function' || !targetOrOptions ? defaultShadowDOMOptions : targetOrOptions; - if (source.content) { - part = source.getAttribute('part'); - cacheSize = source.getAttribute('view-cache'); - content = _aureliaPal.DOM.adoptNode(source.content); - } else { - content = source; - } + var deco = function deco(t) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); + r.targetShadowDOM = true; + r.shadowDOMOptions = options; + }; - compileInstruction.targetShadowDOM = compileInstruction.targetShadowDOM && _aureliaPal.FEATURE.shadowDOM; - resources._invokeHook('beforeCompile', content, resources, compileInstruction); + return typeof targetOrOptions === 'function' ? deco(targetOrOptions) : deco; + } - var instructions = {}; - this._compileNode(content, resources, instructions, source, 'root', !compileInstruction.targetShadowDOM); + function processAttributes(processor) { + return function (t) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); + r.processAttributes = function (compiler, resources, node, attributes, elementInstruction) { + try { + processor(compiler, resources, node, attributes, elementInstruction); + } catch (error) { + LogManager.getLogger('templating').error(error); + } + }; + }; + } - var firstChild = content.firstChild; - if (firstChild && firstChild.nodeType === 1) { - var targetId = firstChild.getAttribute('au-target-id'); - if (targetId) { - var ins = instructions[targetId]; + function doNotProcessContent() { + return false; + } - if (ins.shadowSlot || ins.lifting || ins.elementInstruction && !ins.elementInstruction.anchorIsContainer) { - content.insertBefore(_aureliaPal.DOM.createComment('view'), firstChild); - } + function processContent(processor) { + return function (t) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); + r.processContent = processor ? function (compiler, resources, node, instruction) { + try { + return processor(compiler, resources, node, instruction); + } catch (error) { + LogManager.getLogger('templating').error(error); + return false; } - } + } : doNotProcessContent; + }; + } - var factory = new ViewFactory(content, instructions, resources); + function containerless(target) { + var deco = function deco(t) { + var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); + r.containerless = true; + }; - factory.surrogateInstruction = compileInstruction.compileSurrogate ? this._compileSurrogate(source, resources) : null; - factory.part = part; + return target ? deco(target) : deco; + } + + function useViewStrategy(strategy) { + return function (target) { + _aureliaMetadata.metadata.define(ViewLocator.viewStrategyMetadataKey, strategy, target); + }; + } + + function useView(path) { + return useViewStrategy(new RelativeViewStrategy(path)); + } + + function inlineView(markup, dependencies, dependencyBaseUrl) { + return useViewStrategy(new InlineViewStrategy(markup, dependencies, dependencyBaseUrl)); + } + + function noView(targetOrDependencies, dependencyBaseUrl) { + var target = void 0; + var dependencies = void 0; + if (typeof targetOrDependencies === 'function') { + target = targetOrDependencies; + } else { + dependencies = targetOrDependencies; + target = undefined; + } - if (cacheSize) { - factory.setCacheSize(cacheSize); - } + var deco = function deco(t) { + _aureliaMetadata.metadata.define(ViewLocator.viewStrategyMetadataKey, new NoViewStrategy(dependencies, dependencyBaseUrl), t); + }; - resources._invokeHook('afterCompile', factory); + return target ? deco(target) : deco; + } - return factory; + function elementConfig(target) { + var deco = function deco(t) { + _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ElementConfigResource(), t); }; - ViewCompiler.prototype._compileNode = function _compileNode(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) { - switch (node.nodeType) { - case 1: - return this._compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM); - case 3: - var expression = resources.getBindingLanguage(this.bindingLanguage).inspectTextContent(resources, node.wholeText); - if (expression) { - var marker = _aureliaPal.DOM.createElement('au-marker'); - var auTargetID = makeIntoInstructionTarget(marker); - (node.parentNode || parentNode).insertBefore(marker, node); - node.textContent = ' '; - instructions[auTargetID] = TargetInstruction.contentExpression(expression); + return target ? deco(target) : deco; + } - while (node.nextSibling && node.nextSibling.nodeType === 3) { - (node.parentNode || parentNode).removeChild(node.nextSibling); - } - } else { - while (node.nextSibling && node.nextSibling.nodeType === 3) { - node = node.nextSibling; - } - } - return node.nextSibling; - case 11: - var currentChild = node.firstChild; - while (currentChild) { - currentChild = this._compileNode(currentChild, resources, instructions, node, parentInjectorId, targetLightDOM); - } - break; - default: - break; - } + function viewResources() { + for (var _len = arguments.length, resources = Array(_len), _key = 0; _key < _len; _key++) { + resources[_key] = arguments[_key]; + } - return node.nextSibling; + return function (target) { + _aureliaMetadata.metadata.define(ViewEngine.viewModelRequireMetadataKey, resources, target); }; + } - ViewCompiler.prototype._compileSurrogate = function _compileSurrogate(node, resources) { - var tagName = node.tagName.toLowerCase(); - var attributes = node.attributes; - var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage); - var knownAttribute = void 0; - var property = void 0; - var instruction = void 0; - var i = void 0; - var ii = void 0; - var attr = void 0; - var attrName = void 0; - var attrValue = void 0; - var info = void 0; - var type = void 0; - var expressions = []; - var expression = void 0; - var behaviorInstructions = []; - var values = {}; - var hasValues = false; - var providers = []; - - for (i = 0, ii = attributes.length; i < ii; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.value; + var TemplatingEngine = exports.TemplatingEngine = (_dec11 = (0, _aureliaDependencyInjection.inject)(_aureliaDependencyInjection.Container, ModuleAnalyzer, ViewCompiler, CompositionEngine), _dec11(_class18 = function () { + function TemplatingEngine(container, moduleAnalyzer, viewCompiler, compositionEngine) { + - info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue); - type = resources.getAttribute(info.attrName); + this._container = container; + this._moduleAnalyzer = moduleAnalyzer; + this._viewCompiler = viewCompiler; + this._compositionEngine = compositionEngine; + container.registerInstance(Animator, Animator.instance = new Animator()); + } - if (type) { - knownAttribute = resources.mapAttribute(info.attrName); - if (knownAttribute) { - property = type.attributes[knownAttribute]; + TemplatingEngine.prototype.configureAnimator = function configureAnimator(animator) { + this._container.unregister(Animator); + this._container.registerInstance(Animator, Animator.instance = animator); + }; - if (property) { - info.defaultBindingMode = property.defaultBindingMode; + TemplatingEngine.prototype.compose = function compose(context) { + return this._compositionEngine.compose(context); + }; - if (!info.command && !info.expression) { - info.command = property.hasOptions ? 'options' : null; - } + TemplatingEngine.prototype.enhance = function enhance(instruction) { + if (instruction instanceof _aureliaPal.DOM.Element) { + instruction = { element: instruction }; + } - if (info.command && info.command !== 'options' && type.primaryProperty) { - attrName = info.attrName = type.primaryProperty.name; - } - } - } - } + var compilerInstructions = {}; + var resources = instruction.resources || this._container.get(ViewResources); - instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type); + this._viewCompiler._compileNode(instruction.element, resources, compilerInstructions, instruction.element.parentNode, 'root', true); - if (instruction) { - if (instruction.alteredAttr) { - type = resources.getAttribute(instruction.attrName); - } + var factory = new ViewFactory(instruction.element, compilerInstructions, resources); + var container = instruction.container || this._container.createChild(); + var view = factory.create(container, BehaviorInstruction.enhance()); - if (instruction.discrete) { - expressions.push(instruction); - } else { - if (type) { - instruction.type = type; - this._configureProperties(instruction, resources); + view.bind(instruction.bindingContext || {}, instruction.overrideContext); - if (type.liftsContent) { - throw new Error('You cannot place a template controller on a surrogate element.'); - } else { - behaviorInstructions.push(instruction); - } - } else { - expressions.push(instruction.attributes[instruction.attrName]); - } - } - } else { - if (type) { - instruction = BehaviorInstruction.attribute(attrName, type); - instruction.attributes[resources.mapAttribute(attrName)] = attrValue; + return view; + }; - if (type.liftsContent) { - throw new Error('You cannot place a template controller on a surrogate element.'); - } else { - behaviorInstructions.push(instruction); - } - } else if (attrName !== 'id' && attrName !== 'part' && attrName !== 'replace-part') { - hasValues = true; - values[attrName] = attrValue; - } - } - } + return TemplatingEngine; + }()) || _class18); +}); +define('aurelia-task-queue',['exports', 'aurelia-pal'], function (exports, _aureliaPal) { + 'use strict'; - if (expressions.length || behaviorInstructions.length || hasValues) { - for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { - instruction = behaviorInstructions[i]; - instruction.type.compile(this, resources, node, instruction); - providers.push(instruction.type.target); - } + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.TaskQueue = undefined; - for (i = 0, ii = expressions.length; i < ii; ++i) { - expression = expressions[i]; - if (expression.attrToRemove !== undefined) { - node.removeAttribute(expression.attrToRemove); - } - } + - return TargetInstruction.surrogate(providers, behaviorInstructions, expressions, values); - } + var hasSetImmediate = typeof setImmediate === 'function'; - return null; + function makeRequestFlushFromMutationObserver(flush) { + var toggle = 1; + var observer = _aureliaPal.DOM.createMutationObserver(flush); + var node = _aureliaPal.DOM.createTextNode(''); + observer.observe(node, { characterData: true }); + return function requestFlush() { + toggle = -toggle; + node.data = toggle; }; + } - ViewCompiler.prototype._compileElement = function _compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) { - var tagName = node.tagName.toLowerCase(); - var attributes = node.attributes; - var expressions = []; - var expression = void 0; - var behaviorInstructions = []; - var providers = []; - var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage); - var liftingInstruction = void 0; - var viewFactory = void 0; - var type = void 0; - var elementInstruction = void 0; - var elementProperty = void 0; - var i = void 0; - var ii = void 0; - var attr = void 0; - var attrName = void 0; - var attrValue = void 0; - var instruction = void 0; - var info = void 0; - var property = void 0; - var knownAttribute = void 0; - var auTargetID = void 0; - var injectorId = void 0; + function makeRequestFlushFromTimer(flush) { + return function requestFlush() { + var timeoutHandle = setTimeout(handleFlushTimer, 0); - if (tagName === 'slot') { - if (targetLightDOM) { - node = makeShadowSlot(this, resources, node, instructions, parentInjectorId); - } - return node.nextSibling; - } else if (tagName === 'template') { - viewFactory = this.compile(node, resources); - viewFactory.part = node.getAttribute('part'); - } else { - type = resources.getElement(node.getAttribute('as-element') || tagName); - if (type) { - elementInstruction = BehaviorInstruction.element(node, type); - type.processAttributes(this, resources, node, attributes, elementInstruction); - behaviorInstructions.push(elementInstruction); - } + var intervalHandle = setInterval(handleFlushTimer, 50); + function handleFlushTimer() { + clearTimeout(timeoutHandle); + clearInterval(intervalHandle); + flush(); } + }; + } + + function onError(error, task) { + if ('onError' in task) { + task.onError(error); + } else if (hasSetImmediate) { + setImmediate(function () { + throw error; + }); + } else { + setTimeout(function () { + throw error; + }, 0); + } + } - for (i = 0, ii = attributes.length; i < ii; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.value; - info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue); + var TaskQueue = exports.TaskQueue = function () { + function TaskQueue() { + var _this = this; - if (targetLightDOM && info.attrName === 'slot') { - info.attrName = attrName = 'au-slot'; - } + - type = resources.getAttribute(info.attrName); - elementProperty = null; + this.flushing = false; - if (type) { - knownAttribute = resources.mapAttribute(info.attrName); - if (knownAttribute) { - property = type.attributes[knownAttribute]; + this.microTaskQueue = []; + this.microTaskQueueCapacity = 1024; + this.taskQueue = []; - if (property) { - info.defaultBindingMode = property.defaultBindingMode; + if (_aureliaPal.FEATURE.mutationObserver) { + this.requestFlushMicroTaskQueue = makeRequestFlushFromMutationObserver(function () { + return _this.flushMicroTaskQueue(); + }); + } else { + this.requestFlushMicroTaskQueue = makeRequestFlushFromTimer(function () { + return _this.flushMicroTaskQueue(); + }); + } - if (!info.command && !info.expression) { - info.command = property.hasOptions ? 'options' : null; - } + this.requestFlushTaskQueue = makeRequestFlushFromTimer(function () { + return _this.flushTaskQueue(); + }); + } - if (info.command && info.command !== 'options' && type.primaryProperty) { - attrName = info.attrName = type.primaryProperty.name; - } - } - } - } else if (elementInstruction) { - elementProperty = elementInstruction.type.attributes[info.attrName]; - if (elementProperty) { - info.defaultBindingMode = elementProperty.defaultBindingMode; - } - } + TaskQueue.prototype.queueMicroTask = function queueMicroTask(task) { + if (this.microTaskQueue.length < 1) { + this.requestFlushMicroTaskQueue(); + } - if (elementProperty) { - instruction = bindingLanguage.createAttributeInstruction(resources, node, info, elementInstruction); - } else { - instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type); - } + this.microTaskQueue.push(task); + }; - if (instruction) { - if (instruction.alteredAttr) { - type = resources.getAttribute(instruction.attrName); - } + TaskQueue.prototype.queueTask = function queueTask(task) { + if (this.taskQueue.length < 1) { + this.requestFlushTaskQueue(); + } - if (instruction.discrete) { - expressions.push(instruction); - } else { - if (type) { - instruction.type = type; - this._configureProperties(instruction, resources); + this.taskQueue.push(task); + }; - if (type.liftsContent) { - instruction.originalAttrName = attrName; - liftingInstruction = instruction; - break; - } else { - behaviorInstructions.push(instruction); - } - } else if (elementProperty) { - elementInstruction.attributes[info.attrName].targetProperty = elementProperty.name; - } else { - expressions.push(instruction.attributes[instruction.attrName]); - } - } - } else { - if (type) { - instruction = BehaviorInstruction.attribute(attrName, type); - instruction.attributes[resources.mapAttribute(attrName)] = attrValue; + TaskQueue.prototype.flushTaskQueue = function flushTaskQueue() { + var queue = this.taskQueue; + var index = 0; + var task = void 0; - if (type.liftsContent) { - instruction.originalAttrName = attrName; - liftingInstruction = instruction; - break; - } else { - behaviorInstructions.push(instruction); - } - } else if (elementProperty) { - elementInstruction.attributes[attrName] = attrValue; - } + this.taskQueue = []; + + try { + this.flushing = true; + while (index < queue.length) { + task = queue[index]; + task.call(); + index++; } + } catch (error) { + onError(error, task); + } finally { + this.flushing = false; } + }; - if (liftingInstruction) { - liftingInstruction.viewFactory = viewFactory; - node = liftingInstruction.type.compile(this, resources, node, liftingInstruction, parentNode); - auTargetID = makeIntoInstructionTarget(node); - instructions[auTargetID] = TargetInstruction.lifting(parentInjectorId, liftingInstruction); - } else { - if (expressions.length || behaviorInstructions.length) { - injectorId = behaviorInstructions.length ? getNextInjectorId() : false; + TaskQueue.prototype.flushMicroTaskQueue = function flushMicroTaskQueue() { + var queue = this.microTaskQueue; + var capacity = this.microTaskQueueCapacity; + var index = 0; + var task = void 0; - for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) { - instruction = behaviorInstructions[i]; - instruction.type.compile(this, resources, node, instruction, parentNode); - providers.push(instruction.type.target); - } + try { + this.flushing = true; + while (index < queue.length) { + task = queue[index]; + task.call(); + index++; - for (i = 0, ii = expressions.length; i < ii; ++i) { - expression = expressions[i]; - if (expression.attrToRemove !== undefined) { - node.removeAttribute(expression.attrToRemove); + if (index > capacity) { + for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { + queue[scan] = queue[scan + index]; } - } - auTargetID = makeIntoInstructionTarget(node); - instructions[auTargetID] = TargetInstruction.normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction); - } - - if (elementInstruction && elementInstruction.skipContentProcessing) { - return node.nextSibling; - } - - var currentChild = node.firstChild; - while (currentChild) { - currentChild = this._compileNode(currentChild, resources, instructions, node, injectorId || parentInjectorId, targetLightDOM); + queue.length -= index; + index = 0; + } } + } catch (error) { + onError(error, task); + } finally { + this.flushing = false; } - return node.nextSibling; + queue.length = 0; }; - ViewCompiler.prototype._configureProperties = function _configureProperties(instruction, resources) { - var type = instruction.type; - var attrName = instruction.attrName; - var attributes = instruction.attributes; - var property = void 0; - var key = void 0; - var value = void 0; + return TaskQueue; + }(); +}); +define('aurelia-router',['exports', 'aurelia-logging', 'aurelia-route-recognizer', 'aurelia-dependency-injection', 'aurelia-history', 'aurelia-event-aggregator'], function (exports, _aureliaLogging, _aureliaRouteRecognizer, _aureliaDependencyInjection, _aureliaHistory, _aureliaEventAggregator) { + 'use strict'; - var knownAttribute = resources.mapAttribute(attrName); - if (knownAttribute && attrName in attributes && knownAttribute !== attrName) { - attributes[knownAttribute] = attributes[attrName]; - delete attributes[attrName]; - } + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.AppRouter = exports.PipelineProvider = exports.LoadRouteStep = exports.RouteLoader = exports.ActivateNextStep = exports.DeactivatePreviousStep = exports.CanActivateNextStep = exports.CanDeactivatePreviousStep = exports.Router = exports.BuildNavigationPlanStep = exports.activationStrategy = exports.RouterConfiguration = exports.RedirectToRoute = exports.Redirect = exports.NavModel = exports.NavigationInstruction = exports.CommitChangesStep = exports.Pipeline = exports.pipelineStatus = undefined; + exports._normalizeAbsolutePath = _normalizeAbsolutePath; + exports._createRootedPath = _createRootedPath; + exports._resolveUrl = _resolveUrl; + exports.isNavigationCommand = isNavigationCommand; + exports._buildNavigationPlan = _buildNavigationPlan; - for (key in attributes) { - value = attributes[key]; + var LogManager = _interopRequireWildcard(_aureliaLogging); - if (value !== null && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') { - property = type.attributes[key]; + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; - if (property !== undefined) { - value.targetProperty = property.name; - } else { - value.targetProperty = key; - } + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } - }; - - return ViewCompiler; - }()) || _class13); - var ResourceModule = exports.ResourceModule = function () { - function ResourceModule(moduleId) { - + newObj.default = obj; + return newObj; + } + } - this.id = moduleId; - this.moduleInstance = null; - this.mainResource = null; - this.resources = null; - this.viewStrategy = null; - this.isInitialized = false; - this.onLoaded = null; - this.loadContext = null; + function _possibleConstructorReturn(self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } - ResourceModule.prototype.initialize = function initialize(container) { - var current = this.mainResource; - var resources = this.resources; - var vs = this.viewStrategy; + return call && (typeof call === "object" || typeof call === "function") ? call : self; + } + + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } - if (this.isInitialized) { - return; + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + } - this.isInitialized = true; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + }; - if (current !== undefined) { - current.metadata.viewStrategy = vs; - current.initialize(container); + var _createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); } + } - for (var i = 0, ii = resources.length; i < ii; ++i) { - current = resources[i]; - current.metadata.viewStrategy = vs; - current.initialize(container); - } + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; }; + }(); - ResourceModule.prototype.register = function register(registry, name) { - var main = this.mainResource; - var resources = this.resources; + - if (main !== undefined) { - main.register(registry, name); - name = null; - } + function _normalizeAbsolutePath(path, hasPushState) { + var absolute = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; - for (var i = 0, ii = resources.length; i < ii; ++i) { - resources[i].register(registry, name); - name = null; - } - }; + if (!hasPushState && path[0] !== '#') { + path = '#' + path; + } - ResourceModule.prototype.load = function load(container, loadContext) { - if (this.onLoaded !== null) { - return this.loadContext === loadContext ? Promise.resolve() : this.onLoaded; - } + if (hasPushState && absolute) { + path = path.substring(1, path.length); + } - var main = this.mainResource; - var resources = this.resources; - var loads = void 0; + return path; + } - if (main !== undefined) { - loads = new Array(resources.length + 1); - loads[0] = main.load(container, loadContext); - for (var i = 0, ii = resources.length; i < ii; ++i) { - loads[i + 1] = resources[i].load(container, loadContext); - } - } else { - loads = new Array(resources.length); - for (var _i = 0, _ii = resources.length; _i < _ii; ++_i) { - loads[_i] = resources[_i].load(container, loadContext); - } - } + function _createRootedPath(fragment, baseUrl, hasPushState, absolute) { + if (isAbsoluteUrl.test(fragment)) { + return fragment; + } - this.loadContext = loadContext; - this.onLoaded = Promise.all(loads); - return this.onLoaded; - }; + var path = ''; - return ResourceModule; - }(); + if (baseUrl.length && baseUrl[0] !== '/') { + path += '/'; + } - var ResourceDescription = exports.ResourceDescription = function () { - function ResourceDescription(key, exportedValue, resourceTypeMeta) { - + path += baseUrl; - if (!resourceTypeMeta) { - resourceTypeMeta = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.resource, exportedValue); + if ((!path.length || path[path.length - 1] !== '/') && fragment[0] !== '/') { + path += '/'; + } - if (!resourceTypeMeta) { - resourceTypeMeta = new HtmlBehaviorResource(); - resourceTypeMeta.elementName = _hyphenate(key); - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, resourceTypeMeta, exportedValue); - } - } + if (path.length && path[path.length - 1] === '/' && fragment[0] === '/') { + path = path.substring(0, path.length - 1); + } - if (resourceTypeMeta instanceof HtmlBehaviorResource) { - if (resourceTypeMeta.elementName === undefined) { - resourceTypeMeta.elementName = _hyphenate(key); - } else if (resourceTypeMeta.attributeName === undefined) { - resourceTypeMeta.attributeName = _hyphenate(key); - } else if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) { - HtmlBehaviorResource.convention(key, resourceTypeMeta); - } - } else if (!resourceTypeMeta.name) { - resourceTypeMeta.name = _hyphenate(key); - } + return _normalizeAbsolutePath(path + fragment, hasPushState, absolute); + } - this.metadata = resourceTypeMeta; - this.value = exportedValue; + function _resolveUrl(fragment, baseUrl, hasPushState) { + if (isRootedPath.test(fragment)) { + return _normalizeAbsolutePath(fragment, hasPushState); } - ResourceDescription.prototype.initialize = function initialize(container) { - this.metadata.initialize(container, this.value); - }; - - ResourceDescription.prototype.register = function register(registry, name) { - this.metadata.register(registry, name); - }; + return _createRootedPath(fragment, baseUrl, hasPushState); + } - ResourceDescription.prototype.load = function load(container, loadContext) { - return this.metadata.load(container, this.value, loadContext); - }; + var isRootedPath = /^#?\//; + var isAbsoluteUrl = /^([a-z][a-z0-9+\-.]*:)?\/\//i; - return ResourceDescription; - }(); + var pipelineStatus = exports.pipelineStatus = { + completed: 'completed', + canceled: 'canceled', + rejected: 'rejected', + running: 'running' + }; - var ModuleAnalyzer = exports.ModuleAnalyzer = function () { - function ModuleAnalyzer() { + var Pipeline = exports.Pipeline = function () { + function Pipeline() { - this.cache = Object.create(null); + this.steps = []; } - ModuleAnalyzer.prototype.getAnalysis = function getAnalysis(moduleId) { - return this.cache[moduleId]; - }; - - ModuleAnalyzer.prototype.analyze = function analyze(moduleId, moduleInstance, mainResourceKey) { - var mainResource = void 0; - var fallbackValue = void 0; - var fallbackKey = void 0; - var resourceTypeMeta = void 0; - var key = void 0; - var exportedValue = void 0; - var resources = []; - var conventional = void 0; - var vs = void 0; - var resourceModule = void 0; - - resourceModule = this.cache[moduleId]; - if (resourceModule) { - return resourceModule; - } - - resourceModule = new ResourceModule(moduleId); - this.cache[moduleId] = resourceModule; + Pipeline.prototype.addStep = function addStep(step) { + var run = void 0; - if (typeof moduleInstance === 'function') { - moduleInstance = { 'default': moduleInstance }; - } + if (typeof step === 'function') { + run = step; + } else if (typeof step.getSteps === 'function') { + var steps = step.getSteps(); + for (var i = 0, l = steps.length; i < l; i++) { + this.addStep(steps[i]); + } - if (mainResourceKey) { - mainResource = new ResourceDescription(mainResourceKey, moduleInstance[mainResourceKey]); + return this; + } else { + run = step.run.bind(step); } - for (key in moduleInstance) { - exportedValue = moduleInstance[key]; + this.steps.push(run); - if (key === mainResourceKey || typeof exportedValue !== 'function') { - continue; - } + return this; + }; - resourceTypeMeta = _aureliaMetadata.metadata.get(_aureliaMetadata.metadata.resource, exportedValue); + Pipeline.prototype.run = function run(instruction) { + var index = -1; + var steps = this.steps; - if (resourceTypeMeta) { - if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) { - HtmlBehaviorResource.convention(key, resourceTypeMeta); - } + function next() { + index++; - if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) { - resourceTypeMeta.elementName = _hyphenate(key); - } + if (index < steps.length) { + var currentStep = steps[index]; - if (!mainResource && resourceTypeMeta instanceof HtmlBehaviorResource && resourceTypeMeta.elementName !== null) { - mainResource = new ResourceDescription(key, exportedValue, resourceTypeMeta); - } else { - resources.push(new ResourceDescription(key, exportedValue, resourceTypeMeta)); + try { + return currentStep(instruction, next); + } catch (e) { + return next.reject(e); } - } else if (viewStrategy.decorates(exportedValue)) { - vs = exportedValue; - } else if (exportedValue instanceof _aureliaLoader.TemplateRegistryEntry) { - vs = new TemplateRegistryViewStrategy(moduleId, exportedValue); } else { - if (conventional = HtmlBehaviorResource.convention(key)) { - if (conventional.elementName !== null && !mainResource) { - mainResource = new ResourceDescription(key, exportedValue, conventional); - } else { - resources.push(new ResourceDescription(key, exportedValue, conventional)); - } - - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, conventional, exportedValue); - } else if (conventional = _aureliaBinding.ValueConverterResource.convention(key) || _aureliaBinding.BindingBehaviorResource.convention(key) || ViewEngineHooksResource.convention(key)) { - resources.push(new ResourceDescription(key, exportedValue, conventional)); - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, conventional, exportedValue); - } else if (!fallbackValue) { - fallbackValue = exportedValue; - fallbackKey = key; - } - } - } - - if (!mainResource && fallbackValue) { - mainResource = new ResourceDescription(fallbackKey, fallbackValue); + return next.complete(); + } } - resourceModule.moduleInstance = moduleInstance; - resourceModule.mainResource = mainResource; - resourceModule.resources = resources; - resourceModule.viewStrategy = vs; + next.complete = createCompletionHandler(next, pipelineStatus.completed); + next.cancel = createCompletionHandler(next, pipelineStatus.canceled); + next.reject = createCompletionHandler(next, pipelineStatus.rejected); - return resourceModule; + return next(); }; - return ModuleAnalyzer; + return Pipeline; }(); - var logger = LogManager.getLogger('templating'); - - function ensureRegistryEntry(loader, urlOrRegistryEntry) { - if (urlOrRegistryEntry instanceof _aureliaLoader.TemplateRegistryEntry) { - return Promise.resolve(urlOrRegistryEntry); - } - - return loader.loadTemplate(urlOrRegistryEntry); + function createCompletionHandler(next, status) { + return function (output) { + return Promise.resolve({ status: status, output: output, completed: status === pipelineStatus.completed }); + }; } - var ProxyViewFactory = function () { - function ProxyViewFactory(promise) { - var _this9 = this; - + var CommitChangesStep = exports.CommitChangesStep = function () { + function CommitChangesStep() { - - promise.then(function (x) { - return _this9.viewFactory = x; - }); } - ProxyViewFactory.prototype.create = function create(container, bindingContext, createInstruction, element) { - return this.viewFactory.create(container, bindingContext, createInstruction, element); - }; - - ProxyViewFactory.prototype.setCacheSize = function setCacheSize(size, doNotOverrideIfAlreadySet) { - this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet); - }; - - ProxyViewFactory.prototype.getCachedView = function getCachedView() { - return this.viewFactory.getCachedView(); - }; - - ProxyViewFactory.prototype.returnViewToCache = function returnViewToCache(view) { - this.viewFactory.returnViewToCache(view); + CommitChangesStep.prototype.run = function run(navigationInstruction, next) { + return navigationInstruction._commitChanges(true).then(function () { + navigationInstruction._updateTitle(); + return next(); + }); }; - _createClass(ProxyViewFactory, [{ - key: 'isCaching', - get: function get() { - return this.viewFactory.isCaching; - } - }]); - - return ProxyViewFactory; + return CommitChangesStep; }(); - var ViewEngine = exports.ViewEngine = (_dec8 = (0, _aureliaDependencyInjection.inject)(_aureliaLoader.Loader, _aureliaDependencyInjection.Container, ViewCompiler, ModuleAnalyzer, ViewResources), _dec8(_class14 = (_temp4 = _class15 = function () { - function ViewEngine(loader, container, viewCompiler, moduleAnalyzer, appResources) { + var NavigationInstruction = exports.NavigationInstruction = function () { + function NavigationInstruction(init) { - this.loader = loader; - this.container = container; - this.viewCompiler = viewCompiler; - this.moduleAnalyzer = moduleAnalyzer; - this.appResources = appResources; - this._pluginMap = {}; - - var auSlotBehavior = new HtmlBehaviorResource(); - auSlotBehavior.attributeName = 'au-slot'; - auSlotBehavior.initialize(container, SlotCustomAttribute); - auSlotBehavior.register(appResources); - } - - ViewEngine.prototype.addResourcePlugin = function addResourcePlugin(extension, implementation) { - var name = extension.replace('.', '') + '-resource-plugin'; - this._pluginMap[extension] = name; - this.loader.addPlugin(name, implementation); - }; - - ViewEngine.prototype.loadViewFactory = function loadViewFactory(urlOrRegistryEntry, compileInstruction, loadContext, target) { - var _this10 = this; - - loadContext = loadContext || new ResourceLoadContext(); + this.plan = null; + this.options = {}; - return ensureRegistryEntry(this.loader, urlOrRegistryEntry).then(function (registryEntry) { - if (registryEntry.onReady) { - if (!loadContext.hasDependency(urlOrRegistryEntry)) { - loadContext.addDependency(urlOrRegistryEntry); - return registryEntry.onReady; - } + Object.assign(this, init); - if (registryEntry.template === null) { - return registryEntry.onReady; - } + this.params = this.params || {}; + this.viewPortInstructions = {}; - return Promise.resolve(new ProxyViewFactory(registryEntry.onReady)); + var ancestorParams = []; + var current = this; + do { + var currentParams = Object.assign({}, current.params); + if (current.config && current.config.hasChildRouter) { + delete currentParams[current.getWildCardName()]; } - loadContext.addDependency(urlOrRegistryEntry); + ancestorParams.unshift(currentParams); + current = current.parentInstruction; + } while (current); - registryEntry.onReady = _this10.loadTemplateResources(registryEntry, compileInstruction, loadContext, target).then(function (resources) { - registryEntry.resources = resources; + var allParams = Object.assign.apply(Object, [{}, this.queryParams].concat(ancestorParams)); + this.lifecycleArgs = [allParams, this.config, this]; + } - if (registryEntry.template === null) { - return registryEntry.factory = null; - } + NavigationInstruction.prototype.getAllInstructions = function getAllInstructions() { + var instructions = [this]; + for (var key in this.viewPortInstructions) { + var childInstruction = this.viewPortInstructions[key].childNavigationInstruction; + if (childInstruction) { + instructions.push.apply(instructions, childInstruction.getAllInstructions()); + } + } - var viewFactory = _this10.viewCompiler.compile(registryEntry.template, resources, compileInstruction); - return registryEntry.factory = viewFactory; - }); + return instructions; + }; - return registryEntry.onReady; + NavigationInstruction.prototype.getAllPreviousInstructions = function getAllPreviousInstructions() { + return this.getAllInstructions().map(function (c) { + return c.previousInstruction; + }).filter(function (c) { + return c; }); }; - ViewEngine.prototype.loadTemplateResources = function loadTemplateResources(registryEntry, compileInstruction, loadContext, target) { - var resources = new ViewResources(this.appResources, registryEntry.address); - var dependencies = registryEntry.dependencies; - var importIds = void 0; - var names = void 0; - - compileInstruction = compileInstruction || ViewCompileInstruction.normal; + NavigationInstruction.prototype.addViewPortInstruction = function addViewPortInstruction(viewPortName, strategy, moduleId, component) { + var viewportInstruction = this.viewPortInstructions[viewPortName] = { + name: viewPortName, + strategy: strategy, + moduleId: moduleId, + component: component, + childRouter: component.childRouter, + lifecycleArgs: this.lifecycleArgs.slice() + }; - if (dependencies.length === 0 && !compileInstruction.associatedModuleId) { - return Promise.resolve(resources); - } + return viewportInstruction; + }; - importIds = dependencies.map(function (x) { - return x.src; - }); - names = dependencies.map(function (x) { - return x.name; - }); - logger.debug('importing resources for ' + registryEntry.address, importIds); + NavigationInstruction.prototype.getWildCardName = function getWildCardName() { + var wildcardIndex = this.config.route.lastIndexOf('*'); + return this.config.route.substr(wildcardIndex + 1); + }; - if (target) { - var viewModelRequires = _aureliaMetadata.metadata.get(ViewEngine.viewModelRequireMetadataKey, target); - if (viewModelRequires) { - var templateImportCount = importIds.length; - for (var i = 0, ii = viewModelRequires.length; i < ii; ++i) { - var req = viewModelRequires[i]; - var importId = typeof req === 'function' ? _aureliaMetadata.Origin.get(req).moduleId : (0, _aureliaPath.relativeToFile)(req.src || req, registryEntry.address); + NavigationInstruction.prototype.getWildcardPath = function getWildcardPath() { + var wildcardName = this.getWildCardName(); + var path = this.params[wildcardName] || ''; - if (importIds.indexOf(importId) === -1) { - importIds.push(importId); - names.push(req.as); - } - } - logger.debug('importing ViewModel resources for ' + compileInstruction.associatedModuleId, importIds.slice(templateImportCount)); - } + if (this.queryString) { + path += '?' + this.queryString; } - return this.importViewResources(importIds, names, resources, compileInstruction, loadContext); + return path; }; - ViewEngine.prototype.importViewModelResource = function importViewModelResource(moduleImport, moduleMember) { - var _this11 = this; - - return this.loader.loadModule(moduleImport).then(function (viewModelModule) { - var normalizedId = _aureliaMetadata.Origin.get(viewModelModule).moduleId; - var resourceModule = _this11.moduleAnalyzer.analyze(normalizedId, viewModelModule, moduleMember); + NavigationInstruction.prototype.getBaseUrl = function getBaseUrl() { + if (!this.params) { + return this.fragment; + } - if (!resourceModule.mainResource) { - throw new Error('No view model found in module "' + moduleImport + '".'); - } + var wildcardName = this.getWildCardName(); + var path = this.params[wildcardName] || ''; - resourceModule.initialize(_this11.container); + if (!path) { + return this.fragment; + } - return resourceModule.mainResource; - }); + path = encodeURI(path); + return this.fragment.substr(0, this.fragment.lastIndexOf(path)); }; - ViewEngine.prototype.importViewResources = function importViewResources(moduleIds, names, resources, compileInstruction, loadContext) { - var _this12 = this; + NavigationInstruction.prototype._commitChanges = function _commitChanges(waitToSwap) { + var _this = this; - loadContext = loadContext || new ResourceLoadContext(); - compileInstruction = compileInstruction || ViewCompileInstruction.normal; + var router = this.router; + router.currentInstruction = this; - moduleIds = moduleIds.map(function (x) { - return _this12._applyLoaderPlugin(x); - }); + if (this.previousInstruction) { + this.previousInstruction.config.navModel.isActive = false; + } - return this.loader.loadAllModules(moduleIds).then(function (imports) { - var i = void 0; - var ii = void 0; - var analysis = void 0; - var normalizedId = void 0; - var current = void 0; - var associatedModule = void 0; - var container = _this12.container; - var moduleAnalyzer = _this12.moduleAnalyzer; - var allAnalysis = new Array(imports.length); + this.config.navModel.isActive = true; - for (i = 0, ii = imports.length; i < ii; ++i) { - current = imports[i]; - normalizedId = _aureliaMetadata.Origin.get(current).moduleId; + router._refreshBaseUrl(); + router.refreshNavigation(); - analysis = moduleAnalyzer.analyze(normalizedId, current); - analysis.initialize(container); - analysis.register(resources, names[i]); + var loads = []; + var delaySwaps = []; + + var _loop = function _loop(viewPortName) { + var viewPortInstruction = _this.viewPortInstructions[viewPortName]; + var viewPort = router.viewPorts[viewPortName]; - allAnalysis[i] = analysis; + if (!viewPort) { + throw new Error('There was no router-view found in the view for ' + viewPortInstruction.moduleId + '.'); } - if (compileInstruction.associatedModuleId) { - associatedModule = moduleAnalyzer.getAnalysis(compileInstruction.associatedModuleId); + if (viewPortInstruction.strategy === activationStrategy.replace) { + if (waitToSwap) { + delaySwaps.push({ viewPort: viewPort, viewPortInstruction: viewPortInstruction }); + } - if (associatedModule) { - associatedModule.register(resources); + loads.push(viewPort.process(viewPortInstruction, waitToSwap).then(function (x) { + if (viewPortInstruction.childNavigationInstruction) { + return viewPortInstruction.childNavigationInstruction._commitChanges(); + } + + return undefined; + })); + } else { + if (viewPortInstruction.childNavigationInstruction) { + loads.push(viewPortInstruction.childNavigationInstruction._commitChanges(waitToSwap)); } } + }; - for (i = 0, ii = allAnalysis.length; i < ii; ++i) { - allAnalysis[i] = allAnalysis[i].load(container, loadContext); - } + for (var viewPortName in this.viewPortInstructions) { + _loop(viewPortName); + } - return Promise.all(allAnalysis).then(function () { - return resources; + return Promise.all(loads).then(function () { + delaySwaps.forEach(function (x) { + return x.viewPort.swap(x.viewPortInstruction); }); + return null; + }).then(function () { + return prune(_this); }); }; - ViewEngine.prototype._applyLoaderPlugin = function _applyLoaderPlugin(id) { - var index = id.lastIndexOf('.'); - if (index !== -1) { - var ext = id.substring(index); - var pluginName = this._pluginMap[ext]; - - if (pluginName === undefined) { - return id; - } - - return this.loader.applyPluginToUrl(id, pluginName); + NavigationInstruction.prototype._updateTitle = function _updateTitle() { + var title = this._buildTitle(); + if (title) { + this.router.history.setTitle(title); } - - return id; }; - return ViewEngine; - }(), _class15.viewModelRequireMetadataKey = 'aurelia:view-model-require', _temp4)) || _class14); - - var Controller = exports.Controller = function () { - function Controller(behavior, instruction, viewModel, container) { - + NavigationInstruction.prototype._buildTitle = function _buildTitle() { + var separator = arguments.length <= 0 || arguments[0] === undefined ? ' | ' : arguments[0]; - this.behavior = behavior; - this.instruction = instruction; - this.viewModel = viewModel; - this.isAttached = false; - this.view = null; - this.isBound = false; - this.scope = null; - this.container = container; - this.elementEvents = container.elementEvents || null; + var title = ''; + var childTitles = []; - var observerLookup = behavior.observerLocator.getOrCreateObserversLookup(viewModel); - var handlesBind = behavior.handlesBind; - var attributes = instruction.attributes; - var boundProperties = this.boundProperties = []; - var properties = behavior.properties; - var i = void 0; - var ii = void 0; + if (this.config.navModel.title) { + title = this.router.transformTitle(this.config.navModel.title); + } - behavior._ensurePropertiesDefined(viewModel, observerLookup); + for (var viewPortName in this.viewPortInstructions) { + var _viewPortInstruction = this.viewPortInstructions[viewPortName]; - for (i = 0, ii = properties.length; i < ii; ++i) { - properties[i]._initialize(viewModel, observerLookup, attributes, handlesBind, boundProperties); + if (_viewPortInstruction.childNavigationInstruction) { + var childTitle = _viewPortInstruction.childNavigationInstruction._buildTitle(separator); + if (childTitle) { + childTitles.push(childTitle); + } + } } - } - Controller.prototype.created = function created(owningView) { - if (this.behavior.handlesCreated) { - this.viewModel.created(owningView, this.view); + if (childTitles.length) { + title = childTitles.join(separator) + (title ? separator : '') + title; } - }; - - Controller.prototype.automate = function automate(overrideContext, owningView) { - this.view.bindingContext = this.viewModel; - this.view.overrideContext = overrideContext || (0, _aureliaBinding.createOverrideContext)(this.viewModel); - this.view._isUserControlled = true; - if (this.behavior.handlesCreated) { - this.viewModel.created(owningView || null, this.view); + if (this.router.title) { + title += (title ? separator : '') + this.router.transformTitle(this.router.title); } - this.bind(this.view); + return title; }; - Controller.prototype.bind = function bind(scope) { - var skipSelfSubscriber = this.behavior.handlesBind; - var boundProperties = this.boundProperties; - var i = void 0; - var ii = void 0; - var x = void 0; - var observer = void 0; - var selfSubscriber = void 0; - - if (this.isBound) { - if (this.scope === scope) { - return; - } + return NavigationInstruction; + }(); - this.unbind(); - } + function prune(instruction) { + instruction.previousInstruction = null; + instruction.plan = null; + } - this.isBound = true; - this.scope = scope; + var NavModel = exports.NavModel = function () { + function NavModel(router, relativeHref) { + - for (i = 0, ii = boundProperties.length; i < ii; ++i) { - x = boundProperties[i]; - observer = x.observer; - selfSubscriber = observer.selfSubscriber; - observer.publishing = false; + this.isActive = false; + this.title = null; + this.href = null; + this.relativeHref = null; + this.settings = {}; + this.config = null; - if (skipSelfSubscriber) { - observer.selfSubscriber = null; - } + this.router = router; + this.relativeHref = relativeHref; + } - x.binding.bind(scope); - observer.call(); + NavModel.prototype.setTitle = function setTitle(title) { + this.title = title; - observer.publishing = true; - observer.selfSubscriber = selfSubscriber; + if (this.isActive) { + this.router.updateTitle(); } + }; - var overrideContext = void 0; - if (this.view !== null) { - if (skipSelfSubscriber) { - this.view.viewModelScope = scope; - } + return NavModel; + }(); - if (this.viewModel === scope.overrideContext.bindingContext) { - overrideContext = scope.overrideContext; - } else if (this.instruction.inheritBindingContext) { - overrideContext = (0, _aureliaBinding.createOverrideContext)(this.viewModel, scope.overrideContext); - } else { - overrideContext = (0, _aureliaBinding.createOverrideContext)(this.viewModel); - overrideContext.__parentOverrideContext = scope.overrideContext; - } + function isNavigationCommand(obj) { + return obj && typeof obj.navigate === 'function'; + } - this.view.bind(this.viewModel, overrideContext); - } else if (skipSelfSubscriber) { - overrideContext = scope.overrideContext; + var Redirect = exports.Redirect = function () { + function Redirect(url) { + var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - if (scope.overrideContext.__parentOverrideContext !== undefined && this.viewModel.viewFactory && this.viewModel.viewFactory.factoryCreateInstruction.partReplacements) { - overrideContext = Object.assign({}, scope.overrideContext); - overrideContext.parentOverrideContext = scope.overrideContext.__parentOverrideContext; - } - this.viewModel.bind(scope.bindingContext, overrideContext); - } + + + this.url = url; + this.options = Object.assign({ trigger: true, replace: true }, options); + this.shouldContinueProcessing = false; + } + + Redirect.prototype.setRouter = function setRouter(router) { + this.router = router; }; - Controller.prototype.unbind = function unbind() { - if (this.isBound) { - var _boundProperties = this.boundProperties; - var _i2 = void 0; - var _ii2 = void 0; + Redirect.prototype.navigate = function navigate(appRouter) { + var navigatingRouter = this.options.useAppRouter ? appRouter : this.router || appRouter; + navigatingRouter.navigate(this.url, this.options); + }; - this.isBound = false; - this.scope = null; + return Redirect; + }(); - if (this.view !== null) { - this.view.unbind(); - } + var RedirectToRoute = exports.RedirectToRoute = function () { + function RedirectToRoute(route) { + var params = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - if (this.behavior.handlesUnbind) { - this.viewModel.unbind(); - } + - if (this.elementEvents !== null) { - this.elementEvents.disposeAll(); - } + this.route = route; + this.params = params; + this.options = Object.assign({ trigger: true, replace: true }, options); + this.shouldContinueProcessing = false; + } - for (_i2 = 0, _ii2 = _boundProperties.length; _i2 < _ii2; ++_i2) { - _boundProperties[_i2].binding.unbind(); - } - } + RedirectToRoute.prototype.setRouter = function setRouter(router) { + this.router = router; }; - Controller.prototype.attached = function attached() { - if (this.isAttached) { - return; - } + RedirectToRoute.prototype.navigate = function navigate(appRouter) { + var navigatingRouter = this.options.useAppRouter ? appRouter : this.router || appRouter; + navigatingRouter.navigateToRoute(this.route, this.params, this.options); + }; - this.isAttached = true; + return RedirectToRoute; + }(); - if (this.behavior.handlesAttached) { - this.viewModel.attached(); - } + var RouterConfiguration = exports.RouterConfiguration = function () { + function RouterConfiguration() { + - if (this.view !== null) { - this.view.attached(); - } + this.instructions = []; + this.options = {}; + this.pipelineSteps = []; + } + + RouterConfiguration.prototype.addPipelineStep = function addPipelineStep(name, step) { + this.pipelineSteps.push({ name: name, step: step }); + return this; }; - Controller.prototype.detached = function detached() { - if (this.isAttached) { - this.isAttached = false; + RouterConfiguration.prototype.addAuthorizeStep = function addAuthorizeStep(step) { + return this.addPipelineStep('authorize', step); + }; - if (this.view !== null) { - this.view.detached(); - } + RouterConfiguration.prototype.addPreActivateStep = function addPreActivateStep(step) { + return this.addPipelineStep('preActivate', step); + }; - if (this.behavior.handlesDetached) { - this.viewModel.detached(); - } - } + RouterConfiguration.prototype.addPreRenderStep = function addPreRenderStep(step) { + return this.addPipelineStep('preRender', step); }; - return Controller; - }(); + RouterConfiguration.prototype.addPostRenderStep = function addPostRenderStep(step) { + return this.addPipelineStep('postRender', step); + }; - var BehaviorPropertyObserver = exports.BehaviorPropertyObserver = (_dec9 = (0, _aureliaBinding.subscriberCollection)(), _dec9(_class16 = function () { - function BehaviorPropertyObserver(taskQueue, obj, propertyName, selfSubscriber, initialValue) { - + RouterConfiguration.prototype.fallbackRoute = function fallbackRoute(fragment) { + this._fallbackRoute = fragment; + return this; + }; - this.taskQueue = taskQueue; - this.obj = obj; - this.propertyName = propertyName; - this.notqueued = true; - this.publishing = false; - this.selfSubscriber = selfSubscriber; - this.currentValue = this.oldValue = initialValue; - } + RouterConfiguration.prototype.map = function map(route) { + if (Array.isArray(route)) { + route.forEach(this.map.bind(this)); + return this; + } - BehaviorPropertyObserver.prototype.getValue = function getValue() { - return this.currentValue; + return this.mapRoute(route); }; - BehaviorPropertyObserver.prototype.setValue = function setValue(newValue) { - var oldValue = this.currentValue; + RouterConfiguration.prototype.mapRoute = function mapRoute(config) { + this.instructions.push(function (router) { + var routeConfigs = []; - if (oldValue !== newValue) { - this.oldValue = oldValue; - this.currentValue = newValue; + if (Array.isArray(config.route)) { + for (var i = 0, ii = config.route.length; i < ii; ++i) { + var current = Object.assign({}, config); + current.route = config.route[i]; + routeConfigs.push(current); + } + } else { + routeConfigs.push(Object.assign({}, config)); + } - if (this.publishing && this.notqueued) { - if (this.taskQueue.flushing) { - this.call(); - } else { - this.notqueued = false; - this.taskQueue.queueMicroTask(this); + var navModel = void 0; + for (var _i = 0, _ii = routeConfigs.length; _i < _ii; ++_i) { + var _routeConfig = routeConfigs[_i]; + _routeConfig.settings = _routeConfig.settings || {}; + if (!navModel) { + navModel = router.createNavModel(_routeConfig); } + + router.addRoute(_routeConfig, navModel); } - } + }); + + return this; }; - BehaviorPropertyObserver.prototype.call = function call() { - var oldValue = this.oldValue; - var newValue = this.currentValue; + RouterConfiguration.prototype.mapUnknownRoutes = function mapUnknownRoutes(config) { + this.unknownRouteConfig = config; + return this; + }; - this.notqueued = true; + RouterConfiguration.prototype.exportToRouter = function exportToRouter(router) { + var instructions = this.instructions; + for (var i = 0, ii = instructions.length; i < ii; ++i) { + instructions[i](router); + } - if (newValue === oldValue) { - return; + if (this.title) { + router.title = this.title; } - if (this.selfSubscriber) { - this.selfSubscriber(newValue, oldValue); + if (this.unknownRouteConfig) { + router.handleUnknownRoutes(this.unknownRouteConfig); } - this.callSubscribers(newValue, oldValue); - this.oldValue = newValue; - }; + if (this._fallbackRoute) { + router.fallbackRoute = this._fallbackRoute; + } - BehaviorPropertyObserver.prototype.subscribe = function subscribe(context, callable) { - this.addSubscriber(context, callable); - }; + router.options = this.options; - BehaviorPropertyObserver.prototype.unsubscribe = function unsubscribe(context, callable) { - this.removeSubscriber(context, callable); - }; + var pipelineSteps = this.pipelineSteps; + if (pipelineSteps.length) { + if (!router.isRoot) { + throw new Error('Pipeline steps can only be added to the root router'); + } - return BehaviorPropertyObserver; - }()) || _class16); + var pipelineProvider = router.pipelineProvider; + for (var _i2 = 0, _ii2 = pipelineSteps.length; _i2 < _ii2; ++_i2) { + var _pipelineSteps$_i = pipelineSteps[_i2]; + var _name = _pipelineSteps$_i.name; + var step = _pipelineSteps$_i.step; + pipelineProvider.addStep(_name, step); + } + } + }; - function getObserver(behavior, instance, name) { - var lookup = instance.__observers__; + return RouterConfiguration; + }(); - if (lookup === undefined) { - if (!behavior.isInitialized) { - behavior.initialize(_aureliaDependencyInjection.Container.instance || new _aureliaDependencyInjection.Container(), instance.constructor); - } + var activationStrategy = exports.activationStrategy = { + noChange: 'no-change', + invokeLifecycle: 'invoke-lifecycle', + replace: 'replace' + }; - lookup = behavior.observerLocator.getOrCreateObserversLookup(instance); - behavior._ensurePropertiesDefined(instance, lookup); + var BuildNavigationPlanStep = exports.BuildNavigationPlanStep = function () { + function BuildNavigationPlanStep() { + } - return lookup[name]; - } + BuildNavigationPlanStep.prototype.run = function run(navigationInstruction, next) { + return _buildNavigationPlan(navigationInstruction).then(function (plan) { + navigationInstruction.plan = plan; + return next(); + }).catch(next.cancel); + }; - var BindableProperty = exports.BindableProperty = function () { - function BindableProperty(nameOrConfig) { - + return BuildNavigationPlanStep; + }(); - if (typeof nameOrConfig === 'string') { - this.name = nameOrConfig; - } else { - Object.assign(this, nameOrConfig); - } + function _buildNavigationPlan(instruction, forceLifecycleMinimum) { + var prev = instruction.previousInstruction; + var config = instruction.config; + var plan = {}; - this.attribute = this.attribute || _hyphenate(this.name); - if (this.defaultBindingMode === null || this.defaultBindingMode === undefined) { - this.defaultBindingMode = _aureliaBinding.bindingMode.oneWay; + if ('redirect' in config) { + var redirectLocation = _resolveUrl(config.redirect, getInstructionBaseUrl(instruction)); + if (instruction.queryString) { + redirectLocation += '?' + instruction.queryString; } - this.changeHandler = this.changeHandler || null; - this.owner = null; - this.descriptor = null; + + return Promise.reject(new Redirect(redirectLocation)); } - BindableProperty.prototype.registerWith = function registerWith(target, behavior, descriptor) { - behavior.properties.push(this); - behavior.attributes[this.attribute] = this; - this.owner = behavior; + if (prev) { + var newParams = hasDifferentParameterValues(prev, instruction); + var pending = []; - if (descriptor) { - this.descriptor = descriptor; - return this._configureDescriptor(behavior, descriptor); - } + var _loop2 = function _loop2(viewPortName) { + var prevViewPortInstruction = prev.viewPortInstructions[viewPortName]; + var nextViewPortConfig = config.viewPorts[viewPortName]; - return undefined; - }; + if (!nextViewPortConfig) throw new Error('Invalid Route Config: Configuration for viewPort "' + viewPortName + '" was not found for route: "' + instruction.config.route + '."'); - BindableProperty.prototype._configureDescriptor = function _configureDescriptor(behavior, descriptor) { - var name = this.name; + var viewPortPlan = plan[viewPortName] = { + name: viewPortName, + config: nextViewPortConfig, + prevComponent: prevViewPortInstruction.component, + prevModuleId: prevViewPortInstruction.moduleId + }; - descriptor.configurable = true; - descriptor.enumerable = true; + if (prevViewPortInstruction.moduleId !== nextViewPortConfig.moduleId) { + viewPortPlan.strategy = activationStrategy.replace; + } else if ('determineActivationStrategy' in prevViewPortInstruction.component.viewModel) { + var _prevViewPortInstruct; - if ('initializer' in descriptor) { - this.defaultValue = descriptor.initializer; - delete descriptor.initializer; - delete descriptor.writable; - } + viewPortPlan.strategy = (_prevViewPortInstruct = prevViewPortInstruction.component.viewModel).determineActivationStrategy.apply(_prevViewPortInstruct, instruction.lifecycleArgs); + } else if (config.activationStrategy) { + viewPortPlan.strategy = config.activationStrategy; + } else if (newParams || forceLifecycleMinimum) { + viewPortPlan.strategy = activationStrategy.invokeLifecycle; + } else { + viewPortPlan.strategy = activationStrategy.noChange; + } - if ('value' in descriptor) { - this.defaultValue = descriptor.value; - delete descriptor.value; - delete descriptor.writable; - } + if (viewPortPlan.strategy !== activationStrategy.replace && prevViewPortInstruction.childRouter) { + var path = instruction.getWildcardPath(); + var task = prevViewPortInstruction.childRouter._createNavigationInstruction(path, instruction).then(function (childInstruction) { + viewPortPlan.childNavigationInstruction = childInstruction; - descriptor.get = function () { - return getObserver(behavior, this, name).getValue(); + return _buildNavigationPlan(childInstruction, viewPortPlan.strategy === activationStrategy.invokeLifecycle).then(function (childPlan) { + childInstruction.plan = childPlan; + }); + }); + + pending.push(task); + } }; - descriptor.set = function (value) { - getObserver(behavior, this, name).setValue(value); - }; + for (var viewPortName in prev.viewPortInstructions) { + _loop2(viewPortName); + } - descriptor.get.getObserver = function (obj) { - return getObserver(behavior, obj, name); + return Promise.all(pending).then(function () { + return plan; + }); + } + + for (var _viewPortName in config.viewPorts) { + plan[_viewPortName] = { + name: _viewPortName, + strategy: activationStrategy.replace, + config: instruction.config.viewPorts[_viewPortName] }; + } - return descriptor; - }; + return Promise.resolve(plan); + } - BindableProperty.prototype.defineOn = function defineOn(target, behavior) { - var name = this.name; - var handlerName = void 0; + function hasDifferentParameterValues(prev, next) { + var prevParams = prev.params; + var nextParams = next.params; + var nextWildCardName = next.config.hasChildRouter ? next.getWildCardName() : null; - if (this.changeHandler === null) { - handlerName = name + 'Changed'; - if (handlerName in target.prototype) { - this.changeHandler = handlerName; - } + for (var key in nextParams) { + if (key === nextWildCardName) { + continue; } - if (this.descriptor === null) { - Object.defineProperty(target.prototype, name, this._configureDescriptor(behavior, {})); + if (prevParams[key] !== nextParams[key]) { + return true; } - }; - - BindableProperty.prototype.createObserver = function createObserver(viewModel) { - var selfSubscriber = null; - var defaultValue = this.defaultValue; - var changeHandlerName = this.changeHandler; - var name = this.name; - var initialValue = void 0; + } - if (this.hasOptions) { - return undefined; + for (var _key in prevParams) { + if (_key === nextWildCardName) { + continue; } - if (changeHandlerName in viewModel) { - if ('propertyChanged' in viewModel) { - selfSubscriber = function selfSubscriber(newValue, oldValue) { - viewModel[changeHandlerName](newValue, oldValue); - viewModel.propertyChanged(name, newValue, oldValue); - }; - } else { - selfSubscriber = function selfSubscriber(newValue, oldValue) { - return viewModel[changeHandlerName](newValue, oldValue); - }; - } - } else if ('propertyChanged' in viewModel) { - selfSubscriber = function selfSubscriber(newValue, oldValue) { - return viewModel.propertyChanged(name, newValue, oldValue); - }; - } else if (changeHandlerName !== null) { - throw new Error('Change handler ' + changeHandlerName + ' was specified but not declared on the class.'); + if (prevParams[_key] !== nextParams[_key]) { + return true; } + } - if (defaultValue !== undefined) { - initialValue = typeof defaultValue === 'function' ? defaultValue.call(viewModel) : defaultValue; - } + if (!next.options.compareQueryParams) { + return false; + } - return new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, this.name, selfSubscriber, initialValue); - }; + var prevQueryParams = prev.queryParams; + var nextQueryParams = next.queryParams; + for (var _key2 in nextQueryParams) { + if (prevQueryParams[_key2] !== nextQueryParams[_key2]) { + return true; + } + } - BindableProperty.prototype._initialize = function _initialize(viewModel, observerLookup, attributes, behaviorHandlesBind, boundProperties) { - var selfSubscriber = void 0; - var observer = void 0; - var attribute = void 0; - var defaultValue = this.defaultValue; + for (var _key3 in prevQueryParams) { + if (prevQueryParams[_key3] !== nextQueryParams[_key3]) { + return true; + } + } - if (this.isDynamic) { - for (var key in attributes) { - this._createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, key, attributes[key], boundProperties); - } - } else if (!this.hasOptions) { - observer = observerLookup[this.name]; + return false; + } - if (attributes !== null) { - selfSubscriber = observer.selfSubscriber; - attribute = attributes[this.attribute]; + function getInstructionBaseUrl(instruction) { + var instructionBaseUrlParts = []; + instruction = instruction.parentInstruction; - if (behaviorHandlesBind) { - observer.selfSubscriber = null; - } + while (instruction) { + instructionBaseUrlParts.unshift(instruction.getBaseUrl()); + instruction = instruction.parentInstruction; + } - if (typeof attribute === 'string') { - viewModel[this.name] = attribute; - observer.call(); - } else if (attribute) { - boundProperties.push({ observer: observer, binding: attribute.createBinding(viewModel) }); - } else if (defaultValue !== undefined) { - observer.call(); - } + instructionBaseUrlParts.unshift('/'); + return instructionBaseUrlParts.join(''); + } - observer.selfSubscriber = selfSubscriber; - } + var Router = exports.Router = function () { + function Router(container, history) { + var _this2 = this; - observer.publishing = true; - } - }; + - BindableProperty.prototype._createDynamicProperty = function _createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, name, attribute, boundProperties) { - var changeHandlerName = name + 'Changed'; - var selfSubscriber = null; - var observer = void 0; - var info = void 0; + this.parent = null; + this.options = {}; - if (changeHandlerName in viewModel) { - if ('propertyChanged' in viewModel) { - selfSubscriber = function selfSubscriber(newValue, oldValue) { - viewModel[changeHandlerName](newValue, oldValue); - viewModel.propertyChanged(name, newValue, oldValue); - }; - } else { - selfSubscriber = function selfSubscriber(newValue, oldValue) { - return viewModel[changeHandlerName](newValue, oldValue); - }; + this.transformTitle = function (title) { + if (_this2.parent) { + return _this2.parent.transformTitle(title); } - } else if ('propertyChanged' in viewModel) { - selfSubscriber = function selfSubscriber(newValue, oldValue) { - return viewModel.propertyChanged(name, newValue, oldValue); - }; - } - - observer = observerLookup[name] = new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, name, selfSubscriber); - - Object.defineProperty(viewModel, name, { - configurable: true, - enumerable: true, - get: observer.getValue.bind(observer), - set: observer.setValue.bind(observer) - }); + return title; + }; - if (behaviorHandlesBind) { - observer.selfSubscriber = null; - } + this.container = container; + this.history = history; + this.reset(); + } - if (typeof attribute === 'string') { - viewModel[name] = attribute; - observer.call(); - } else if (attribute) { - info = { observer: observer, binding: attribute.createBinding(viewModel) }; - boundProperties.push(info); - } + Router.prototype.reset = function reset() { + var _this3 = this; - observer.publishing = true; - observer.selfSubscriber = selfSubscriber; + this.viewPorts = {}; + this.routes = []; + this.baseUrl = ''; + this.isConfigured = false; + this.isNavigating = false; + this.navigation = []; + this.currentInstruction = null; + this._fallbackOrder = 100; + this._recognizer = new _aureliaRouteRecognizer.RouteRecognizer(); + this._childRecognizer = new _aureliaRouteRecognizer.RouteRecognizer(); + this._configuredPromise = new Promise(function (resolve) { + _this3._resolveConfiguredPromise = resolve; + }); }; - return BindableProperty; - }(); - - var lastProviderId = 0; + Router.prototype.registerViewPort = function registerViewPort(viewPort, name) { + name = name || 'default'; + this.viewPorts[name] = viewPort; + }; - function nextProviderId() { - return ++lastProviderId; - } + Router.prototype.ensureConfigured = function ensureConfigured() { + return this._configuredPromise; + }; - function doProcessContent() { - return true; - } - function doProcessAttributes() {} + Router.prototype.configure = function configure(callbackOrConfig) { + var _this4 = this; - var HtmlBehaviorResource = exports.HtmlBehaviorResource = function () { - function HtmlBehaviorResource() { - + this.isConfigured = true; - this.elementName = null; - this.attributeName = null; - this.attributeDefaultBindingMode = undefined; - this.liftsContent = false; - this.targetShadowDOM = false; - this.shadowDOMOptions = null; - this.processAttributes = doProcessAttributes; - this.processContent = doProcessContent; - this.usesShadowDOM = false; - this.childBindings = null; - this.hasDynamicOptions = false; - this.containerless = false; - this.properties = []; - this.attributes = {}; - this.isInitialized = false; - this.primaryProperty = null; - } + var result = callbackOrConfig; + var config = void 0; + if (typeof callbackOrConfig === 'function') { + config = new RouterConfiguration(); + result = callbackOrConfig(config); + } - HtmlBehaviorResource.convention = function convention(name, existing) { - var behavior = void 0; + return Promise.resolve(result).then(function (c) { + if (c && c.exportToRouter) { + config = c; + } - if (name.endsWith('CustomAttribute')) { - behavior = existing || new HtmlBehaviorResource(); - behavior.attributeName = _hyphenate(name.substring(0, name.length - 15)); - } + config.exportToRouter(_this4); + _this4.isConfigured = true; + _this4._resolveConfiguredPromise(); + }); + }; - if (name.endsWith('CustomElement')) { - behavior = existing || new HtmlBehaviorResource(); - behavior.elementName = _hyphenate(name.substring(0, name.length - 13)); + Router.prototype.navigate = function navigate(fragment, options) { + if (!this.isConfigured && this.parent) { + return this.parent.navigate(fragment, options); } - return behavior; + return this.history.navigate(_resolveUrl(fragment, this.baseUrl, this.history._hasPushState), options); }; - HtmlBehaviorResource.prototype.addChildBinding = function addChildBinding(behavior) { - if (this.childBindings === null) { - this.childBindings = []; - } + Router.prototype.navigateToRoute = function navigateToRoute(route, params, options) { + var path = this.generate(route, params); + return this.navigate(path, options); + }; - this.childBindings.push(behavior); + Router.prototype.navigateBack = function navigateBack() { + this.history.navigateBack(); }; - HtmlBehaviorResource.prototype.initialize = function initialize(container, target) { - var proto = target.prototype; - var properties = this.properties; - var attributeName = this.attributeName; - var attributeDefaultBindingMode = this.attributeDefaultBindingMode; - var i = void 0; - var ii = void 0; - var current = void 0; + Router.prototype.createChild = function createChild(container) { + var childRouter = new Router(container || this.container.createChild(), this.history); + childRouter.parent = this; + return childRouter; + }; - if (this.isInitialized) { - return; + Router.prototype.generate = function generate(name, params) { + var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + var hasRoute = this._recognizer.hasRoute(name); + if ((!this.isConfigured || !hasRoute) && this.parent) { + return this.parent.generate(name, params); } - this.isInitialized = true; - target.__providerId__ = nextProviderId(); + if (!hasRoute) { + throw new Error('A route with name \'' + name + '\' could not be found. Check that `name: \'' + name + '\'` was specified in the route\'s config.'); + } - this.observerLocator = container.get(_aureliaBinding.ObserverLocator); - this.taskQueue = container.get(_aureliaTaskQueue.TaskQueue); + var path = this._recognizer.generate(name, params); + var rootedPath = _createRootedPath(path, this.baseUrl, this.history._hasPushState, options.absolute); + return options.absolute ? '' + this.history.getAbsoluteRoot() + rootedPath : rootedPath; + }; - this.target = target; - this.usesShadowDOM = this.targetShadowDOM && _aureliaPal.FEATURE.shadowDOM; - this.handlesCreated = 'created' in proto; - this.handlesBind = 'bind' in proto; - this.handlesUnbind = 'unbind' in proto; - this.handlesAttached = 'attached' in proto; - this.handlesDetached = 'detached' in proto; - this.htmlName = this.elementName || this.attributeName; + Router.prototype.createNavModel = function createNavModel(config) { + var navModel = new NavModel(this, 'href' in config ? config.href : config.route); + navModel.title = config.title; + navModel.order = config.nav; + navModel.href = config.href; + navModel.settings = config.settings; + navModel.config = config; - if (attributeName !== null) { - if (properties.length === 0) { - new BindableProperty({ - name: 'value', - changeHandler: 'valueChanged' in proto ? 'valueChanged' : null, - attribute: attributeName, - defaultBindingMode: attributeDefaultBindingMode - }).registerWith(target, this); - } + return navModel; + }; - current = properties[0]; + Router.prototype.addRoute = function addRoute(config, navModel) { + validateRouteConfig(config, this.routes); - if (properties.length === 1 && current.name === 'value') { - current.isDynamic = current.hasOptions = this.hasDynamicOptions; - current.defineOn(target, this); - } else { - for (i = 0, ii = properties.length; i < ii; ++i) { - properties[i].defineOn(target, this); - if (properties[i].primaryProperty) { - if (this.primaryProperty) { - throw new Error('Only one bindable property on a custom element can be defined as the default'); - } - this.primaryProperty = properties[i]; - } + if (!('viewPorts' in config) && !config.navigationStrategy) { + config.viewPorts = { + 'default': { + moduleId: config.moduleId, + view: config.view } - - current = new BindableProperty({ - name: 'value', - changeHandler: 'valueChanged' in proto ? 'valueChanged' : null, - attribute: attributeName, - defaultBindingMode: attributeDefaultBindingMode - }); - - current.hasOptions = true; - current.registerWith(target, this); - } - } else { - for (i = 0, ii = properties.length; i < ii; ++i) { - properties[i].defineOn(target, this); - } + }; } - }; - HtmlBehaviorResource.prototype.register = function register(registry, name) { - if (this.attributeName !== null) { - registry.registerAttribute(name || this.attributeName, this, this.attributeName); + if (!navModel) { + navModel = this.createNavModel(config); } - if (this.elementName !== null) { - registry.registerElement(name || this.elementName, this); + this.routes.push(config); + + var path = config.route; + if (path.charAt(0) === '/') { + path = path.substr(1); } - }; + var caseSensitive = config.caseSensitive === true; + var state = this._recognizer.add({ path: path, handler: config, caseSensitive: caseSensitive }); - HtmlBehaviorResource.prototype.load = function load(container, target, loadContext, viewStrategy, transientView) { - var _this13 = this; + if (path) { + var _settings = config.settings; + delete config.settings; + var withChild = JSON.parse(JSON.stringify(config)); + config.settings = _settings; + withChild.route = path + '/*childRoute'; + withChild.hasChildRouter = true; + this._childRecognizer.add({ + path: withChild.route, + handler: withChild, + caseSensitive: caseSensitive + }); - var options = void 0; + withChild.navModel = navModel; + withChild.settings = config.settings; + withChild.navigationStrategy = config.navigationStrategy; + } - if (this.elementName !== null) { - viewStrategy = container.get(ViewLocator).getViewStrategy(viewStrategy || this.viewStrategy || target); - options = new ViewCompileInstruction(this.targetShadowDOM, true); + config.navModel = navModel; - if (!viewStrategy.moduleId) { - viewStrategy.moduleId = _aureliaMetadata.Origin.get(target).moduleId; + if ((navModel.order || navModel.order === 0) && this.navigation.indexOf(navModel) === -1) { + if (!navModel.href && navModel.href !== '' && (state.types.dynamics || state.types.stars)) { + throw new Error('Invalid route config for "' + config.route + '" : dynamic routes must specify an "href:" to be included in the navigation model.'); } - return viewStrategy.loadViewFactory(container.get(ViewEngine), options, loadContext, target).then(function (viewFactory) { - if (!transientView || !_this13.viewFactory) { - _this13.viewFactory = viewFactory; - } + if (typeof navModel.order !== 'number') { + navModel.order = ++this._fallbackOrder; + } - return viewFactory; + this.navigation.push(navModel); + this.navigation = this.navigation.sort(function (a, b) { + return a.order - b.order; }); } - - return Promise.resolve(this); }; - HtmlBehaviorResource.prototype.compile = function compile(compiler, resources, node, instruction, parentNode) { - if (this.liftsContent) { - if (!instruction.viewFactory) { - var template = _aureliaPal.DOM.createElement('template'); - var fragment = _aureliaPal.DOM.createDocumentFragment(); - var cacheSize = node.getAttribute('view-cache'); - var part = node.getAttribute('part'); - - node.removeAttribute(instruction.originalAttrName); - _aureliaPal.DOM.replaceNode(template, node, parentNode); - fragment.appendChild(node); - instruction.viewFactory = compiler.compile(fragment, resources); - - if (part) { - instruction.viewFactory.part = part; - node.removeAttribute('part'); - } + Router.prototype.hasRoute = function hasRoute(name) { + return !!(this._recognizer.hasRoute(name) || this.parent && this.parent.hasRoute(name)); + }; - if (cacheSize) { - instruction.viewFactory.setCacheSize(cacheSize); - node.removeAttribute('view-cache'); - } + Router.prototype.hasOwnRoute = function hasOwnRoute(name) { + return this._recognizer.hasRoute(name); + }; - node = template; - } - } else if (this.elementName !== null) { - var _partReplacements2 = {}; + Router.prototype.handleUnknownRoutes = function handleUnknownRoutes(config) { + var _this5 = this; - if (this.processContent(compiler, resources, node, instruction) && node.hasChildNodes()) { - var currentChild = node.firstChild; - var contentElement = this.usesShadowDOM ? null : _aureliaPal.DOM.createElement('au-content'); - var nextSibling = void 0; - var toReplace = void 0; + if (!config) { + throw new Error('Invalid unknown route handler'); + } - while (currentChild) { - nextSibling = currentChild.nextSibling; + this.catchAllHandler = function (instruction) { + return _this5._createRouteConfig(config, instruction).then(function (c) { + instruction.config = c; + return instruction; + }); + }; + }; - if (currentChild.tagName === 'TEMPLATE' && (toReplace = currentChild.getAttribute('replace-part'))) { - _partReplacements2[toReplace] = compiler.compile(currentChild, resources); - _aureliaPal.DOM.removeNode(currentChild, parentNode); - instruction.partReplacements = _partReplacements2; - } else if (contentElement !== null) { - if (currentChild.nodeType === 3 && _isAllWhitespace(currentChild)) { - _aureliaPal.DOM.removeNode(currentChild, parentNode); - } else { - contentElement.appendChild(currentChild); - } - } + Router.prototype.updateTitle = function updateTitle() { + if (this.parent) { + return this.parent.updateTitle(); + } - currentChild = nextSibling; - } + if (this.currentInstruction) { + this.currentInstruction._updateTitle(); + } + return undefined; + }; - if (contentElement !== null && contentElement.hasChildNodes()) { - node.appendChild(contentElement); - } + Router.prototype.refreshNavigation = function refreshNavigation() { + var nav = this.navigation; - instruction.skipContentProcessing = false; + for (var i = 0, length = nav.length; i < length; i++) { + var current = nav[i]; + if (!current.config.href) { + current.href = _createRootedPath(current.relativeHref, this.baseUrl, this.history._hasPushState); } else { - instruction.skipContentProcessing = true; + current.href = _normalizeAbsolutePath(current.config.href, this.history._hasPushState); } } + }; - return node; + Router.prototype._refreshBaseUrl = function _refreshBaseUrl() { + if (this.parent) { + var baseUrl = this.parent.currentInstruction.getBaseUrl(); + this.baseUrl = this.parent.baseUrl + baseUrl; + } }; - HtmlBehaviorResource.prototype.create = function create(container, instruction, element, bindings) { - var viewHost = void 0; - var au = null; + Router.prototype._createNavigationInstruction = function _createNavigationInstruction() { + var url = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; + var parentInstruction = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; - instruction = instruction || BehaviorInstruction.normal; - element = element || null; - bindings = bindings || null; + var fragment = url; + var queryString = ''; - if (this.elementName !== null && element) { - if (this.usesShadowDOM) { - viewHost = element.attachShadow(this.shadowDOMOptions); - container.registerInstance(_aureliaPal.DOM.boundary, viewHost); - } else { - viewHost = element; - if (this.targetShadowDOM) { - container.registerInstance(_aureliaPal.DOM.boundary, viewHost); - } - } + var queryIndex = url.indexOf('?'); + if (queryIndex !== -1) { + fragment = url.substr(0, queryIndex); + queryString = url.substr(queryIndex + 1); } - if (element !== null) { - element.au = au = element.au || {}; + var results = this._recognizer.recognize(url); + if (!results || !results.length) { + results = this._childRecognizer.recognize(url); } - var viewModel = instruction.viewModel || container.get(this.target); - var controller = new Controller(this, instruction, viewModel, container); - var childBindings = this.childBindings; - var viewFactory = void 0; + var instructionInit = { + fragment: fragment, + queryString: queryString, + config: null, + parentInstruction: parentInstruction, + previousInstruction: this.currentInstruction, + router: this, + options: { + compareQueryParams: this.options.compareQueryParams + } + }; - if (this.liftsContent) { - au.controller = controller; - } else if (this.elementName !== null) { - viewFactory = instruction.viewFactory || this.viewFactory; - container.viewModel = viewModel; + if (results && results.length) { + var first = results[0]; + var _instruction = new NavigationInstruction(Object.assign({}, instructionInit, { + params: first.params, + queryParams: first.queryParams || results.queryParams, + config: first.config || first.handler + })); - if (viewFactory) { - controller.view = viewFactory.create(container, instruction, element); + if (typeof first.handler === 'function') { + return evaluateNavigationStrategy(_instruction, first.handler, first); + } else if (first.handler && typeof first.handler.navigationStrategy === 'function') { + return evaluateNavigationStrategy(_instruction, first.handler.navigationStrategy, first.handler); } - if (element !== null) { - au.controller = controller; + return Promise.resolve(_instruction); + } else if (this.catchAllHandler) { + var _instruction2 = new NavigationInstruction(Object.assign({}, instructionInit, { + params: { path: fragment }, + queryParams: results && results.queryParams, + config: null })); - if (controller.view) { - if (!this.usesShadowDOM && (element.childNodes.length === 1 || element.contentElement)) { - var contentElement = element.childNodes[0] || element.contentElement; - controller.view.contentView = { fragment: contentElement }; - contentElement.parentNode && _aureliaPal.DOM.removeNode(contentElement); - } + return evaluateNavigationStrategy(_instruction2, this.catchAllHandler); + } - if (instruction.anchorIsContainer) { - if (childBindings !== null) { - for (var _i3 = 0, _ii3 = childBindings.length; _i3 < _ii3; ++_i3) { - controller.view.addBinding(childBindings[_i3].create(element, viewModel, controller)); - } - } + return Promise.reject(new Error('Route not found: ' + url)); + }; - controller.view.appendNodesTo(viewHost); - } else { - controller.view.insertNodesBefore(viewHost); - } - } else if (childBindings !== null) { - for (var _i4 = 0, _ii4 = childBindings.length; _i4 < _ii4; ++_i4) { - bindings.push(childBindings[_i4].create(element, viewModel, controller)); - } - } - } else if (controller.view) { - controller.view.controller = controller; + Router.prototype._createRouteConfig = function _createRouteConfig(config, instruction) { + var _this6 = this; - if (childBindings !== null) { - for (var _i5 = 0, _ii5 = childBindings.length; _i5 < _ii5; ++_i5) { - controller.view.addBinding(childBindings[_i5].create(instruction.host, viewModel, controller)); - } - } - } else if (childBindings !== null) { - for (var _i6 = 0, _ii6 = childBindings.length; _i6 < _ii6; ++_i6) { - bindings.push(childBindings[_i6].create(instruction.host, viewModel, controller)); - } - } - } else if (childBindings !== null) { - for (var _i7 = 0, _ii7 = childBindings.length; _i7 < _ii7; ++_i7) { - bindings.push(childBindings[_i7].create(element, viewModel, controller)); + return Promise.resolve(config).then(function (c) { + if (typeof c === 'string') { + return { moduleId: c }; + } else if (typeof c === 'function') { + return c(instruction); } - } - if (au !== null) { - au[this.htmlName] = controller; - } + return c; + }).then(function (c) { + return typeof c === 'string' ? { moduleId: c } : c; + }).then(function (c) { + c.route = instruction.params.path; + validateRouteConfig(c, _this6.routes); - if (instruction.initiatedByBehavior && viewFactory) { - controller.view.created(); - } + if (!c.navModel) { + c.navModel = _this6.createNavModel(c); + } - return controller; + return c; + }); }; - HtmlBehaviorResource.prototype._ensurePropertiesDefined = function _ensurePropertiesDefined(instance, lookup) { - var properties = void 0; - var i = void 0; - var ii = void 0; - var observer = void 0; - - if ('__propertiesDefined__' in lookup) { - return; + _createClass(Router, [{ + key: 'isRoot', + get: function get() { + return !this.parent; } + }]); - lookup.__propertiesDefined__ = true; - properties = this.properties; - - for (i = 0, ii = properties.length; i < ii; ++i) { - observer = properties[i].createObserver(instance); + return Router; + }(); - if (observer !== undefined) { - lookup[observer.propertyName] = observer; - } - } - }; + function validateRouteConfig(config, routes) { + if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) !== 'object') { + throw new Error('Invalid Route Config'); + } - return HtmlBehaviorResource; - }(); + if (typeof config.route !== 'string') { + var _name2 = config.name || '(no name)'; + throw new Error('Invalid Route Config for "' + _name2 + '": You must specify a "route:" pattern.'); + } - function createChildObserverDecorator(selectorOrConfig, all) { - return function (target, key, descriptor) { - var actualTarget = typeof key === 'string' ? target.constructor : target; - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, actualTarget); + if (!('redirect' in config || config.moduleId || config.navigationStrategy || config.viewPorts)) { + throw new Error('Invalid Route Config for "' + config.route + '": You must specify a "moduleId:", "redirect:", "navigationStrategy:", or "viewPorts:".'); + } + } - if (typeof selectorOrConfig === 'string') { - selectorOrConfig = { - selector: selectorOrConfig, - name: key + function evaluateNavigationStrategy(instruction, evaluator, context) { + return Promise.resolve(evaluator.call(context, instruction)).then(function () { + if (!('viewPorts' in instruction.config)) { + instruction.config.viewPorts = { + 'default': { + moduleId: instruction.config.moduleId + } }; } - if (descriptor) { - descriptor.writable = true; - } - - selectorOrConfig.all = all; - r.addChildBinding(new ChildObserver(selectorOrConfig)); - }; + return instruction; + }); } - function children(selectorOrConfig) { - return createChildObserverDecorator(selectorOrConfig, true); - } + var CanDeactivatePreviousStep = exports.CanDeactivatePreviousStep = function () { + function CanDeactivatePreviousStep() { + + } - function child(selectorOrConfig) { - return createChildObserverDecorator(selectorOrConfig, false); - } + CanDeactivatePreviousStep.prototype.run = function run(navigationInstruction, next) { + return processDeactivatable(navigationInstruction.plan, 'canDeactivate', next); + }; - var ChildObserver = function () { - function ChildObserver(config) { + return CanDeactivatePreviousStep; + }(); + + var CanActivateNextStep = exports.CanActivateNextStep = function () { + function CanActivateNextStep() { + } - this.name = config.name; - this.changeHandler = config.changeHandler || this.name + 'Changed'; - this.selector = config.selector; - this.all = config.all; + CanActivateNextStep.prototype.run = function run(navigationInstruction, next) { + return processActivatable(navigationInstruction, 'canActivate', next); + }; + + return CanActivateNextStep; + }(); + + var DeactivatePreviousStep = exports.DeactivatePreviousStep = function () { + function DeactivatePreviousStep() { + } - ChildObserver.prototype.create = function create(viewHost, viewModel, controller) { - return new ChildObserverBinder(this.selector, viewHost, this.name, viewModel, controller, this.changeHandler, this.all); + DeactivatePreviousStep.prototype.run = function run(navigationInstruction, next) { + return processDeactivatable(navigationInstruction.plan, 'deactivate', next, true); }; - return ChildObserver; + return DeactivatePreviousStep; }(); - var noMutations = []; - - function trackMutation(groupedMutations, binder, record) { - var mutations = groupedMutations.get(binder); - - if (!mutations) { - mutations = []; - groupedMutations.set(binder, mutations); + var ActivateNextStep = exports.ActivateNextStep = function () { + function ActivateNextStep() { + } - mutations.push(record); - } + ActivateNextStep.prototype.run = function run(navigationInstruction, next) { + return processActivatable(navigationInstruction, 'activate', next, true); + }; - function onChildChange(mutations, observer) { - var binders = observer.binders; - var bindersLength = binders.length; - var groupedMutations = new Map(); + return ActivateNextStep; + }(); - for (var _i8 = 0, _ii8 = mutations.length; _i8 < _ii8; ++_i8) { - var record = mutations[_i8]; - var added = record.addedNodes; - var removed = record.removedNodes; + function processDeactivatable(plan, callbackName, next, ignoreResult) { + var infos = findDeactivatable(plan, callbackName); + var i = infos.length; - for (var j = 0, jj = removed.length; j < jj; ++j) { - var node = removed[j]; - if (node.nodeType === 1) { - for (var k = 0; k < bindersLength; ++k) { - var binder = binders[k]; - if (binder.onRemove(node)) { - trackMutation(groupedMutations, binder, record); - } - } - } + function inspect(val) { + if (ignoreResult || shouldContinue(val)) { + return iterate(); } - for (var _j = 0, _jj = added.length; _j < _jj; ++_j) { - var _node = added[_j]; - if (_node.nodeType === 1) { - for (var _k = 0; _k < bindersLength; ++_k) { - var _binder = binders[_k]; - if (_binder.onAdd(_node)) { - trackMutation(groupedMutations, _binder, record); - } - } - } - } + return next.cancel(val); } - groupedMutations.forEach(function (value, key) { - if (key.changeHandler !== null) { - key.viewModel[key.changeHandler](value); + function iterate() { + if (i--) { + try { + var viewModel = infos[i]; + var _result = viewModel[callbackName](); + return processPotential(_result, inspect, next.cancel); + } catch (error) { + return next.cancel(error); + } } - }); - } - - var ChildObserverBinder = function () { - function ChildObserverBinder(selector, viewHost, property, viewModel, controller, changeHandler, all) { - - - this.selector = selector; - this.viewHost = viewHost; - this.property = property; - this.viewModel = viewModel; - this.controller = controller; - this.changeHandler = changeHandler in viewModel ? changeHandler : null; - this.usesShadowDOM = controller.behavior.usesShadowDOM; - this.all = all; - if (!this.usesShadowDOM && controller.view && controller.view.contentView) { - this.contentView = controller.view.contentView; - } else { - this.contentView = null; - } + return next(); } - ChildObserverBinder.prototype.matches = function matches(element) { - if (element.matches(this.selector)) { - if (this.contentView === null) { - return true; - } + return iterate(); + } - var contentView = this.contentView; - var assignedSlot = element.auAssignedSlot; + function findDeactivatable(plan, callbackName) { + var list = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2]; - if (assignedSlot && assignedSlot.projectFromAnchors) { - var anchors = assignedSlot.projectFromAnchors; + for (var viewPortName in plan) { + var _viewPortPlan = plan[viewPortName]; + var prevComponent = _viewPortPlan.prevComponent; - for (var _i9 = 0, _ii9 = anchors.length; _i9 < _ii9; ++_i9) { - if (anchors[_i9].auOwnerView === contentView) { - return true; - } - } + if ((_viewPortPlan.strategy === activationStrategy.invokeLifecycle || _viewPortPlan.strategy === activationStrategy.replace) && prevComponent) { + var viewModel = prevComponent.viewModel; - return false; + if (callbackName in viewModel) { + list.push(viewModel); } - - return element.auOwnerView === contentView; } - return false; - }; + if (_viewPortPlan.childNavigationInstruction) { + findDeactivatable(_viewPortPlan.childNavigationInstruction.plan, callbackName, list); + } else if (prevComponent) { + addPreviousDeactivatable(prevComponent, callbackName, list); + } + } - ChildObserverBinder.prototype.bind = function bind(source) { - var viewHost = this.viewHost; - var viewModel = this.viewModel; - var observer = viewHost.__childObserver__; + return list; + } - if (!observer) { - observer = viewHost.__childObserver__ = _aureliaPal.DOM.createMutationObserver(onChildChange); + function addPreviousDeactivatable(component, callbackName, list) { + var childRouter = component.childRouter; - var options = { - childList: true, - subtree: !this.usesShadowDOM - }; + if (childRouter && childRouter.currentInstruction) { + var viewPortInstructions = childRouter.currentInstruction.viewPortInstructions; - observer.observe(viewHost, options); - observer.binders = []; - } + for (var viewPortName in viewPortInstructions) { + var _viewPortInstruction2 = viewPortInstructions[viewPortName]; + var prevComponent = _viewPortInstruction2.component; + var prevViewModel = prevComponent.viewModel; - observer.binders.push(this); + if (callbackName in prevViewModel) { + list.push(prevViewModel); + } - if (this.usesShadowDOM) { - var current = viewHost.firstElementChild; + addPreviousDeactivatable(prevComponent, callbackName, list); + } + } + } - if (this.all) { - var items = viewModel[this.property]; - if (!items) { - items = viewModel[this.property] = []; - } else { - items.length = 0; - } + function processActivatable(navigationInstruction, callbackName, next, ignoreResult) { + var infos = findActivatable(navigationInstruction, callbackName); + var length = infos.length; + var i = -1; - while (current) { - if (this.matches(current)) { - items.push(current.au && current.au.controller ? current.au.controller.viewModel : current); - } + function inspect(val, router) { + if (ignoreResult || shouldContinue(val, router)) { + return iterate(); + } - current = current.nextElementSibling; - } + return next.cancel(val); + } - if (this.changeHandler !== null) { - this.viewModel[this.changeHandler](noMutations); - } - } else { - while (current) { - if (this.matches(current)) { - var value = current.au && current.au.controller ? current.au.controller.viewModel : current; - this.viewModel[this.property] = value; + function iterate() { + i++; - if (this.changeHandler !== null) { - this.viewModel[this.changeHandler](value); - } + if (i < length) { + try { + var _ret3 = function () { + var _current$viewModel; - break; - } + var current = infos[i]; + var result = (_current$viewModel = current.viewModel)[callbackName].apply(_current$viewModel, current.lifecycleArgs); + return { + v: processPotential(result, function (val) { + return inspect(val, current.router); + }, next.cancel) + }; + }(); - current = current.nextElementSibling; - } + if ((typeof _ret3 === 'undefined' ? 'undefined' : _typeof(_ret3)) === "object") return _ret3.v; + } catch (error) { + return next.cancel(error); } } - }; - ChildObserverBinder.prototype.onRemove = function onRemove(element) { - if (this.matches(element)) { - var value = element.au && element.au.controller ? element.au.controller.viewModel : element; + return next(); + } - if (this.all) { - var items = this.viewModel[this.property] || (this.viewModel[this.property] = []); - var index = items.indexOf(value); + return iterate(); + } - if (index !== -1) { - items.splice(index, 1); - } + function findActivatable(navigationInstruction, callbackName) { + var list = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2]; + var router = arguments[3]; - return true; - } + var plan = navigationInstruction.plan; - return false; + Object.keys(plan).filter(function (viewPortName) { + var viewPortPlan = plan[viewPortName]; + var viewPortInstruction = navigationInstruction.viewPortInstructions[viewPortName]; + var viewModel = viewPortInstruction.component.viewModel; + + if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle || viewPortPlan.strategy === activationStrategy.replace) && callbackName in viewModel) { + list.push({ + viewModel: viewModel, + lifecycleArgs: viewPortInstruction.lifecycleArgs, + router: router + }); + } + + if (viewPortPlan.childNavigationInstruction) { + findActivatable(viewPortPlan.childNavigationInstruction, callbackName, list, viewPortInstruction.component.childRouter || router); } + }); + + return list; + } + function shouldContinue(output, router) { + if (output instanceof Error) { return false; - }; + } - ChildObserverBinder.prototype.onAdd = function onAdd(element) { - if (this.matches(element)) { - var value = element.au && element.au.controller ? element.au.controller.viewModel : element; + if (isNavigationCommand(output)) { + if (typeof output.setRouter === 'function') { + output.setRouter(router); + } - if (this.all) { - var items = this.viewModel[this.property] || (this.viewModel[this.property] = []); - var index = 0; - var prev = element.previousElementSibling; + return !!output.shouldContinueProcessing; + } - while (prev) { - if (this.matches(prev)) { - index++; - } + if (output === undefined) { + return true; + } - prev = prev.previousElementSibling; - } + return output; + } - items.splice(index, 0, value); - return true; - } + var SafeSubscription = function () { + function SafeSubscription(subscriptionFunc) { + - this.viewModel[this.property] = value; + this._subscribed = true; + this._subscription = subscriptionFunc(this); - if (this.changeHandler !== null) { - this.viewModel[this.changeHandler](value); - } - } + if (!this._subscribed) this.unsubscribe(); + } - return false; + SafeSubscription.prototype.unsubscribe = function unsubscribe() { + if (this._subscribed && this._subscription) this._subscription.unsubscribe(); + + this._subscribed = false; }; - ChildObserverBinder.prototype.unbind = function unbind() { - if (this.viewHost.__childObserver__) { - this.viewHost.__childObserver__.disconnect(); - this.viewHost.__childObserver__ = null; + _createClass(SafeSubscription, [{ + key: 'subscribed', + get: function get() { + return this._subscribed; } - }; + }]); - return ChildObserverBinder; + return SafeSubscription; }(); - function tryActivateViewModel(context) { - if (context.skipActivation || typeof context.viewModel.activate !== 'function') { - return Promise.resolve(); + function processPotential(obj, resolve, reject) { + if (obj && typeof obj.then === 'function') { + return Promise.resolve(obj).then(resolve).catch(reject); } - return context.viewModel.activate(context.model) || Promise.resolve(); - } + if (obj && typeof obj.subscribe === 'function') { + var _ret4 = function () { + var obs = obj; + return { + v: new SafeSubscription(function (sub) { + return obs.subscribe({ + next: function next() { + if (sub.subscribed) { + sub.unsubscribe(); + resolve(obj); + } + }, + error: function error(_error) { + if (sub.subscribed) { + sub.unsubscribe(); + reject(_error); + } + }, + complete: function complete() { + if (sub.subscribed) { + sub.unsubscribe(); + resolve(obj); + } + } + }); + }) + }; + }(); - var CompositionEngine = exports.CompositionEngine = (_dec10 = (0, _aureliaDependencyInjection.inject)(ViewEngine, ViewLocator), _dec10(_class17 = function () { - function CompositionEngine(viewEngine, viewLocator) { - + if ((typeof _ret4 === 'undefined' ? 'undefined' : _typeof(_ret4)) === "object") return _ret4.v; + } - this.viewEngine = viewEngine; - this.viewLocator = viewLocator; + try { + return resolve(obj); + } catch (error) { + return reject(error); } + } - CompositionEngine.prototype._createControllerAndSwap = function _createControllerAndSwap(context) { - function swap(controller) { - return Promise.resolve(context.viewSlot.removeAll(true)).then(function () { - if (context.currentController) { - context.currentController.unbind(); - } + var RouteLoader = exports.RouteLoader = function () { + function RouteLoader() { + + } - context.viewSlot.add(controller.view); + RouteLoader.prototype.loadRoute = function loadRoute(router, config, navigationInstruction) { + throw Error('Route loaders must implement "loadRoute(router, config, navigationInstruction)".'); + }; - if (context.compositionTransactionNotifier) { - context.compositionTransactionNotifier.done(); - } + return RouteLoader; + }(); - return controller; - }); - } + var LoadRouteStep = exports.LoadRouteStep = function () { + LoadRouteStep.inject = function inject() { + return [RouteLoader]; + }; - return this.createController(context).then(function (controller) { - controller.automate(context.overrideContext, context.owningView); + function LoadRouteStep(routeLoader) { + - if (context.compositionTransactionOwnershipToken) { - return context.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function () { - return swap(controller); - }); - } + this.routeLoader = routeLoader; + } - return swap(controller); - }); + LoadRouteStep.prototype.run = function run(navigationInstruction, next) { + return loadNewRoute(this.routeLoader, navigationInstruction).then(next).catch(next.cancel); }; - CompositionEngine.prototype.createController = function createController(context) { - var _this14 = this; - - var childContainer = void 0; - var viewModel = void 0; - var viewModelResource = void 0; - var m = void 0; - - return this.ensureViewModel(context).then(tryActivateViewModel).then(function () { - childContainer = context.childContainer; - viewModel = context.viewModel; - viewModelResource = context.viewModelResource; - m = viewModelResource.metadata; + return LoadRouteStep; + }(); - var viewStrategy = _this14.viewLocator.getViewStrategy(context.view || viewModel); + function loadNewRoute(routeLoader, navigationInstruction) { + var toLoad = determineWhatToLoad(navigationInstruction); + var loadPromises = toLoad.map(function (current) { + return loadRoute(routeLoader, current.navigationInstruction, current.viewPortPlan); + }); - if (context.viewResources) { - viewStrategy.makeRelativeTo(context.viewResources.viewUrl); - } + return Promise.all(loadPromises); + } - return m.load(childContainer, viewModelResource.value, null, viewStrategy, true); - }).then(function (viewFactory) { - return m.create(childContainer, BehaviorInstruction.dynamic(context.host, viewModel, viewFactory)); - }); - }; + function determineWhatToLoad(navigationInstruction) { + var toLoad = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; - CompositionEngine.prototype.ensureViewModel = function ensureViewModel(context) { - var childContainer = context.childContainer = context.childContainer || context.container.createChild(); + var plan = navigationInstruction.plan; - if (typeof context.viewModel === 'string') { - context.viewModel = context.viewResources ? context.viewResources.relativeToView(context.viewModel) : context.viewModel; + for (var viewPortName in plan) { + var _viewPortPlan2 = plan[viewPortName]; - return this.viewEngine.importViewModelResource(context.viewModel).then(function (viewModelResource) { - childContainer.autoRegister(viewModelResource.value); + if (_viewPortPlan2.strategy === activationStrategy.replace) { + toLoad.push({ viewPortPlan: _viewPortPlan2, navigationInstruction: navigationInstruction }); - if (context.host) { - childContainer.registerInstance(_aureliaPal.DOM.Element, context.host); - } + if (_viewPortPlan2.childNavigationInstruction) { + determineWhatToLoad(_viewPortPlan2.childNavigationInstruction, toLoad); + } + } else { + var _viewPortInstruction3 = navigationInstruction.addViewPortInstruction(viewPortName, _viewPortPlan2.strategy, _viewPortPlan2.prevModuleId, _viewPortPlan2.prevComponent); - context.viewModel = childContainer.viewModel = childContainer.get(viewModelResource.value); - context.viewModelResource = viewModelResource; - return context; - }); + if (_viewPortPlan2.childNavigationInstruction) { + _viewPortInstruction3.childNavigationInstruction = _viewPortPlan2.childNavigationInstruction; + determineWhatToLoad(_viewPortPlan2.childNavigationInstruction, toLoad); + } } + } - var m = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, context.viewModel.constructor); - m.elementName = m.elementName || 'dynamic-element'; - m.initialize(context.container || childContainer, context.viewModel.constructor); - context.viewModelResource = { metadata: m, value: context.viewModel.constructor }; - childContainer.viewModel = context.viewModel; - return Promise.resolve(context); - }; + return toLoad; + } - CompositionEngine.prototype.compose = function compose(context) { - context.childContainer = context.childContainer || context.container.createChild(); - context.view = this.viewLocator.getViewStrategy(context.view); + function loadRoute(routeLoader, navigationInstruction, viewPortPlan) { + var moduleId = viewPortPlan.config.moduleId; - var transaction = context.childContainer.get(CompositionTransaction); - var compositionTransactionOwnershipToken = transaction.tryCapture(); + return loadComponent(routeLoader, navigationInstruction, viewPortPlan.config).then(function (component) { + var viewPortInstruction = navigationInstruction.addViewPortInstruction(viewPortPlan.name, viewPortPlan.strategy, moduleId, component); - if (compositionTransactionOwnershipToken) { - context.compositionTransactionOwnershipToken = compositionTransactionOwnershipToken; - } else { - context.compositionTransactionNotifier = transaction.enlist(); - } + var childRouter = component.childRouter; + if (childRouter) { + var path = navigationInstruction.getWildcardPath(); - if (context.viewModel) { - return this._createControllerAndSwap(context); - } else if (context.view) { - if (context.viewResources) { - context.view.makeRelativeTo(context.viewResources.viewUrl); - } + return childRouter._createNavigationInstruction(path, navigationInstruction).then(function (childInstruction) { + viewPortPlan.childNavigationInstruction = childInstruction; - return context.view.loadViewFactory(this.viewEngine, new ViewCompileInstruction()).then(function (viewFactory) { - var result = viewFactory.create(context.childContainer); - result.bind(context.bindingContext, context.overrideContext); + return _buildNavigationPlan(childInstruction).then(function (childPlan) { + childInstruction.plan = childPlan; + viewPortInstruction.childNavigationInstruction = childInstruction; + + return loadNewRoute(routeLoader, childInstruction); + }); + }); + } - var work = function work() { - return Promise.resolve(context.viewSlot.removeAll(true)).then(function () { - context.viewSlot.add(result); + return undefined; + }); + } - if (context.compositionTransactionNotifier) { - context.compositionTransactionNotifier.done(); - } + function loadComponent(routeLoader, navigationInstruction, config) { + var router = navigationInstruction.router; + var lifecycleArgs = navigationInstruction.lifecycleArgs; - return result; - }); - }; + return routeLoader.loadRoute(router, config, navigationInstruction).then(function (component) { + var viewModel = component.viewModel; + var childContainer = component.childContainer; - if (context.compositionTransactionOwnershipToken) { - return context.compositionTransactionOwnershipToken.waitForCompositionComplete().then(work); - } + component.router = router; + component.config = config; - return work(); - }); - } else if (context.viewSlot) { - context.viewSlot.removeAll(); + if ('configureRouter' in viewModel) { + var _ret5 = function () { + var childRouter = childContainer.getChildRouter(); + component.childRouter = childRouter; - if (context.compositionTransactionNotifier) { - context.compositionTransactionNotifier.done(); - } + return { + v: childRouter.configure(function (c) { + return viewModel.configureRouter.apply(viewModel, [c, childRouter].concat(lifecycleArgs)); + }).then(function () { + return component; + }) + }; + }(); - return Promise.resolve(null); + if ((typeof _ret5 === 'undefined' ? 'undefined' : _typeof(_ret5)) === "object") return _ret5.v; } - return Promise.resolve(null); - }; - - return CompositionEngine; - }()) || _class17); + return component; + }); + } - var ElementConfigResource = exports.ElementConfigResource = function () { - function ElementConfigResource() { + var PipelineSlot = function () { + function PipelineSlot(container, name, alias) { - } - ElementConfigResource.prototype.initialize = function initialize(container, target) {}; + this.steps = []; - ElementConfigResource.prototype.register = function register(registry, name) {}; + this.container = container; + this.slotName = name; + this.slotAlias = alias; + } - ElementConfigResource.prototype.load = function load(container, target) { - var config = new target(); - var eventManager = container.get(_aureliaBinding.EventManager); - eventManager.registerElementConfig(config); + PipelineSlot.prototype.getSteps = function getSteps() { + var _this7 = this; + + return this.steps.map(function (x) { + return _this7.container.get(x); + }); }; - return ElementConfigResource; + return PipelineSlot; }(); - function validateBehaviorName(name, type) { - if (/[A-Z]/.test(name)) { - var newName = _hyphenate(name); - LogManager.getLogger('templating').warn('\'' + name + '\' is not a valid ' + type + ' name and has been converted to \'' + newName + '\'. Upper-case letters are not allowed because the DOM is not case-sensitive.'); - return newName; + var PipelineProvider = exports.PipelineProvider = function () { + PipelineProvider.inject = function inject() { + return [_aureliaDependencyInjection.Container]; + }; + + function PipelineProvider(container) { + + + this.container = container; + this.steps = [BuildNavigationPlanStep, CanDeactivatePreviousStep, LoadRouteStep, this._createPipelineSlot('authorize'), CanActivateNextStep, this._createPipelineSlot('preActivate', 'modelbind'), DeactivatePreviousStep, ActivateNextStep, this._createPipelineSlot('preRender', 'precommit'), CommitChangesStep, this._createPipelineSlot('postRender', 'postcomplete')]; } - return name; - } - function resource(instance) { - return function (target) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, instance, target); + PipelineProvider.prototype.createPipeline = function createPipeline() { + var _this8 = this; + + var pipeline = new Pipeline(); + this.steps.forEach(function (step) { + return pipeline.addStep(_this8.container.get(step)); + }); + return pipeline; }; - } - function behavior(override) { - return function (target) { - if (override instanceof HtmlBehaviorResource) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, override, target); + PipelineProvider.prototype._findStep = function _findStep(name) { + return this.steps.find(function (x) { + return x.slotName === name || x.slotAlias === name; + }); + }; + + PipelineProvider.prototype.addStep = function addStep(name, step) { + var found = this._findStep(name); + if (found) { + if (!found.steps.includes(step)) { + found.steps.push(step); + } } else { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, target); - Object.assign(r, override); + throw new Error('Invalid pipeline slot name: ' + name + '.'); } }; - } - function customElement(name) { - return function (target) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, target); - r.elementName = validateBehaviorName(name, 'custom element'); + PipelineProvider.prototype.removeStep = function removeStep(name, step) { + var slot = this._findStep(name); + if (slot) { + slot.steps.splice(slot.steps.indexOf(step), 1); + } }; - } - function customAttribute(name, defaultBindingMode) { - return function (target) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, target); - r.attributeName = validateBehaviorName(name, 'custom attribute'); - r.attributeDefaultBindingMode = defaultBindingMode; + PipelineProvider.prototype._clearSteps = function _clearSteps() { + var name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; + + var slot = this._findStep(name); + if (slot) { + slot.steps = []; + } }; - } - function templateController(target) { - var deco = function deco(t) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); - r.liftsContent = true; + PipelineProvider.prototype.reset = function reset() { + this._clearSteps('authorize'); + this._clearSteps('preActivate'); + this._clearSteps('preRender'); + this._clearSteps('postRender'); }; - return target ? deco(target) : deco; - } + PipelineProvider.prototype._createPipelineSlot = function _createPipelineSlot(name, alias) { + return new PipelineSlot(this.container, name, alias); + }; - function bindable(nameOrConfigOrTarget, key, descriptor) { - var deco = function deco(target, key2, descriptor2) { - var actualTarget = key2 ? target.constructor : target; - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, actualTarget); - var prop = void 0; + return PipelineProvider; + }(); - if (key2) { - nameOrConfigOrTarget = nameOrConfigOrTarget || {}; - nameOrConfigOrTarget.name = key2; - } + var logger = LogManager.getLogger('app-router'); - prop = new BindableProperty(nameOrConfigOrTarget); - return prop.registerWith(actualTarget, r, descriptor2); + var AppRouter = exports.AppRouter = function (_Router) { + _inherits(AppRouter, _Router); + + AppRouter.inject = function inject() { + return [_aureliaDependencyInjection.Container, _aureliaHistory.History, PipelineProvider, _aureliaEventAggregator.EventAggregator]; }; - if (!nameOrConfigOrTarget) { - return deco; - } + function AppRouter(container, history, pipelineProvider, events) { + - if (key) { - var _target = nameOrConfigOrTarget; - nameOrConfigOrTarget = null; - return deco(_target, key, descriptor); + var _this9 = _possibleConstructorReturn(this, _Router.call(this, container, history)); + + _this9.pipelineProvider = pipelineProvider; + _this9.events = events; + return _this9; } - return deco; - } + AppRouter.prototype.reset = function reset() { + _Router.prototype.reset.call(this); + this.maxInstructionCount = 10; + if (!this._queue) { + this._queue = []; + } else { + this._queue.length = 0; + } + }; - function dynamicOptions(target) { - var deco = function deco(t) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); - r.hasDynamicOptions = true; + AppRouter.prototype.loadUrl = function loadUrl(url) { + var _this10 = this; + + return this._createNavigationInstruction(url).then(function (instruction) { + return _this10._queueInstruction(instruction); + }).catch(function (error) { + logger.error(error); + restorePreviousLocation(_this10); + }); + }; + + AppRouter.prototype.registerViewPort = function registerViewPort(viewPort, name) { + var _this11 = this; + + _Router.prototype.registerViewPort.call(this, viewPort, name); + + if (!this.isActive) { + var _ret6 = function () { + var viewModel = _this11._findViewModel(viewPort); + if ('configureRouter' in viewModel) { + if (!_this11.isConfigured) { + var _ret7 = function () { + var resolveConfiguredPromise = _this11._resolveConfiguredPromise; + _this11._resolveConfiguredPromise = function () {}; + return { + v: { + v: _this11.configure(function (config) { + return viewModel.configureRouter(config, _this11); + }).then(function () { + _this11.activate(); + resolveConfiguredPromise(); + }) + } + }; + }(); + + if ((typeof _ret7 === 'undefined' ? 'undefined' : _typeof(_ret7)) === "object") return _ret7.v; + } + } else { + _this11.activate(); + } + }(); + + if ((typeof _ret6 === 'undefined' ? 'undefined' : _typeof(_ret6)) === "object") return _ret6.v; + } else { + this._dequeueInstruction(); + } + + return Promise.resolve(); }; - return target ? deco(target) : deco; - } + AppRouter.prototype.activate = function activate(options) { + if (this.isActive) { + return; + } - var defaultShadowDOMOptions = { mode: 'open' }; - function useShadowDOM(targetOrOptions) { - var options = typeof targetOrOptions === 'function' || !targetOrOptions ? defaultShadowDOMOptions : targetOrOptions; + this.isActive = true; + this.options = Object.assign({ routeHandler: this.loadUrl.bind(this) }, this.options, options); + this.history.activate(this.options); + this._dequeueInstruction(); + }; - var deco = function deco(t) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); - r.targetShadowDOM = true; - r.shadowDOMOptions = options; + AppRouter.prototype.deactivate = function deactivate() { + this.isActive = false; + this.history.deactivate(); }; - return typeof targetOrOptions === 'function' ? deco(targetOrOptions) : deco; - } + AppRouter.prototype._queueInstruction = function _queueInstruction(instruction) { + var _this12 = this; - function processAttributes(processor) { - return function (t) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); - r.processAttributes = function (compiler, resources, node, attributes, elementInstruction) { - try { - processor(compiler, resources, node, attributes, elementInstruction); - } catch (error) { - LogManager.getLogger('templating').error(error); - } - }; + return new Promise(function (resolve) { + instruction.resolve = resolve; + _this12._queue.unshift(instruction); + _this12._dequeueInstruction(); + }); }; - } - function doNotProcessContent() { - return false; - } + AppRouter.prototype._dequeueInstruction = function _dequeueInstruction() { + var _this13 = this; - function processContent(processor) { - return function (t) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); - r.processContent = processor ? function (compiler, resources, node, instruction) { - try { - return processor(compiler, resources, node, instruction); - } catch (error) { - LogManager.getLogger('templating').error(error); - return false; - } - } : doNotProcessContent; - }; - } + var instructionCount = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0]; - function containerless(target) { - var deco = function deco(t) { - var r = _aureliaMetadata.metadata.getOrCreateOwn(_aureliaMetadata.metadata.resource, HtmlBehaviorResource, t); - r.containerless = true; - }; + return Promise.resolve().then(function () { + if (_this13.isNavigating && !instructionCount) { + return undefined; + } - return target ? deco(target) : deco; - } + var instruction = _this13._queue.shift(); + _this13._queue.length = 0; - function useViewStrategy(strategy) { - return function (target) { - _aureliaMetadata.metadata.define(ViewLocator.viewStrategyMetadataKey, strategy, target); - }; - } + if (!instruction) { + return undefined; + } - function useView(path) { - return useViewStrategy(new RelativeViewStrategy(path)); - } + _this13.isNavigating = true; + instruction.previousInstruction = _this13.currentInstruction; - function inlineView(markup, dependencies, dependencyBaseUrl) { - return useViewStrategy(new InlineViewStrategy(markup, dependencies, dependencyBaseUrl)); - } + if (!instructionCount) { + _this13.events.publish('router:navigation:processing', { instruction: instruction }); + } else if (instructionCount === _this13.maxInstructionCount - 1) { + logger.error(instructionCount + 1 + ' navigation instructions have been attempted without success. Restoring last known good location.'); + restorePreviousLocation(_this13); + return _this13._dequeueInstruction(instructionCount + 1); + } else if (instructionCount > _this13.maxInstructionCount) { + throw new Error('Maximum navigation attempts exceeded. Giving up.'); + } - function noView(targetOrDependencies, dependencyBaseUrl) { - var target = void 0; - var dependencies = void 0; - if (typeof targetOrDependencies === 'function') { - target = targetOrDependencies; - } else { - dependencies = targetOrDependencies; - target = undefined; - } + var pipeline = _this13.pipelineProvider.createPipeline(); - var deco = function deco(t) { - _aureliaMetadata.metadata.define(ViewLocator.viewStrategyMetadataKey, new NoViewStrategy(dependencies, dependencyBaseUrl), t); + return pipeline.run(instruction).then(function (result) { + return processResult(instruction, result, instructionCount, _this13); + }).catch(function (error) { + return { output: error instanceof Error ? error : new Error(error) }; + }).then(function (result) { + return resolveInstruction(instruction, result, !!instructionCount, _this13); + }); + }); }; - return target ? deco(target) : deco; - } + AppRouter.prototype._findViewModel = function _findViewModel(viewPort) { + if (this.container.viewModel) { + return this.container.viewModel; + } - function elementConfig(target) { - var deco = function deco(t) { - _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.resource, new ElementConfigResource(), t); - }; + if (viewPort.container) { + var container = viewPort.container; - return target ? deco(target) : deco; - } + while (container) { + if (container.viewModel) { + this.container.viewModel = container.viewModel; + return container.viewModel; + } - function viewResources() { - for (var _len = arguments.length, resources = Array(_len), _key = 0; _key < _len; _key++) { - resources[_key] = arguments[_key]; - } + container = container.parent; + } + } - return function (target) { - _aureliaMetadata.metadata.define(ViewEngine.viewModelRequireMetadataKey, resources, target); + return undefined; }; - } - var TemplatingEngine = exports.TemplatingEngine = (_dec11 = (0, _aureliaDependencyInjection.inject)(_aureliaDependencyInjection.Container, ModuleAnalyzer, ViewCompiler, CompositionEngine), _dec11(_class18 = function () { - function TemplatingEngine(container, moduleAnalyzer, viewCompiler, compositionEngine) { - + return AppRouter; + }(Router); - this._container = container; - this._moduleAnalyzer = moduleAnalyzer; - this._viewCompiler = viewCompiler; - this._compositionEngine = compositionEngine; - container.registerInstance(Animator, Animator.instance = new Animator()); + function processResult(instruction, result, instructionCount, router) { + if (!(result && 'completed' in result && 'output' in result)) { + result = result || {}; + result.output = new Error('Expected router pipeline to return a navigation result, but got [' + JSON.stringify(result) + '] instead.'); } - TemplatingEngine.prototype.configureAnimator = function configureAnimator(animator) { - this._container.unregister(Animator); - this._container.registerInstance(Animator, Animator.instance = animator); - }; + var finalResult = null; + if (isNavigationCommand(result.output)) { + result.output.navigate(router); + } else { + finalResult = result; - TemplatingEngine.prototype.compose = function compose(context) { - return this._compositionEngine.compose(context); - }; + if (!result.completed) { + if (result.output instanceof Error) { + logger.error(result.output); + } - TemplatingEngine.prototype.enhance = function enhance(instruction) { - if (instruction instanceof _aureliaPal.DOM.Element) { - instruction = { element: instruction }; + restorePreviousLocation(router); } + } - var compilerInstructions = {}; - var resources = instruction.resources || this._container.get(ViewResources); + return router._dequeueInstruction(instructionCount + 1).then(function (innerResult) { + return finalResult || innerResult || result; + }); + } - this._viewCompiler._compileNode(instruction.element, resources, compilerInstructions, instruction.element.parentNode, 'root', true); + function resolveInstruction(instruction, result, isInnerInstruction, router) { + instruction.resolve(result); - var factory = new ViewFactory(instruction.element, compilerInstructions, resources); - var container = instruction.container || this._container.createChild(); - var view = factory.create(container, BehaviorInstruction.enhance()); + if (!isInnerInstruction) { + router.isNavigating = false; + var eventArgs = { instruction: instruction, result: result }; + var eventName = void 0; - view.bind(instruction.bindingContext || {}, instruction.overrideContext); + if (result.output instanceof Error) { + eventName = 'error'; + } else if (!result.completed) { + eventName = 'canceled'; + } else { + var _queryString = instruction.queryString ? '?' + instruction.queryString : ''; + router.history.previousLocation = instruction.fragment + _queryString; + eventName = 'success'; + } - return view; - }; + router.events.publish('router:navigation:' + eventName, eventArgs); + router.events.publish('router:navigation:complete', eventArgs); + } - return TemplatingEngine; - }()) || _class18); + return result; + } + + function restorePreviousLocation(router) { + var previousLocation = router.history.previousLocation; + if (previousLocation) { + router.navigate(router.history.previousLocation, { trigger: false, replace: true }); + } else if (router.fallbackRoute) { + router.navigate(router.fallbackRoute, { trigger: true, replace: true }); + } else { + logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.'); + } + } }); -define('text',{}); define('aurelia-templating-binding',['exports', 'aurelia-logging', 'aurelia-binding', 'aurelia-templating'], function (exports, _aureliaLogging, _aureliaBinding, _aureliaTemplating) { 'use strict'; @@ -27177,6 +27176,7 @@ define('aurelia-templating-router/route-href',['exports', 'aurelia-templating', return RouteHref; }()) || _class) || _class) || _class) || _class) || _class); }); +define('text',{}); define('aurelia-testing/aurelia-testing',['exports', './compile-spy', './view-spy', './component-tester'], function (exports, _compileSpy, _viewSpy, _componentTester) { 'use strict'; @@ -27452,6 +27452,17 @@ define('aurelia-testing/component-tester',['exports', 'aurelia-templating', 'aur return ComponentTester; }(); }); +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); +define("bootstrap/js/bootstrap.min", [],function(){}); +;define('bootstrap', ['bootstrap/js/bootstrap.min'], function (main) { return main; }); + +define('text!bootstrap/css/bootstrap.css', ['module'], function(module) { module.exports = "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: .67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -.5em;\n}\nsub {\n bottom: -.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: .35em .625em .75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all .2s ease-in-out;\n -o-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: .2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .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-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: .01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: .35s;\n -o-transition-duration: .35s;\n transition-duration: .35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border .2s ease-in-out;\n -o-transition: border .2s ease-in-out;\n transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n -webkit-transition: width .6s ease;\n -o-transition: width .6s ease;\n transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n 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);\n 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);\n 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);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n 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);\n 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);\n 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);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n 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);\n 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);\n 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);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n 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);\n 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);\n 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);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n 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);\n 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);\n 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);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: .2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: .5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n line-break: auto;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, .25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, .25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: .6s ease-in-out left;\n -o-transition: .6s ease-in-out left;\n transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform .6s ease-in-out;\n -o-transition: -o-transform .6s ease-in-out;\n transition: transform .6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n"; }); define('aurelia-fetch-client/aurelia-fetch-client',['exports'], function (exports) { 'use strict'; @@ -27710,15 +27721,4 @@ define('aurelia-fetch-client/aurelia-fetch-client',['exports'], function (export } });;define('aurelia-fetch-client', ['aurelia-fetch-client/aurelia-fetch-client'], function (main) { return main; }); -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); -define("bootstrap/js/bootstrap.min", [],function(){}); -;define('bootstrap', ['bootstrap/js/bootstrap.min'], function (main) { return main; }); - -define('text!bootstrap/css/bootstrap.css', ['module'], function(module) { module.exports = "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: .67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -.5em;\n}\nsub {\n bottom: -.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: .35em .625em .75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all .2s ease-in-out;\n -o-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: .2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .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-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: .01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: .35s;\n -o-transition-duration: .35s;\n transition-duration: .35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border .2s ease-in-out;\n -o-transition: border .2s ease-in-out;\n transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n -webkit-transition: width .6s ease;\n -o-transition: width .6s ease;\n transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n 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);\n 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);\n 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);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n 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);\n 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);\n 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);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n 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);\n 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);\n 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);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n 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);\n 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);\n 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);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n 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);\n 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);\n 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);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: .2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: .5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n line-break: auto;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, .25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, .25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: .6s ease-in-out left;\n -o-transition: .6s ease-in-out left;\n transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform .6s ease-in-out;\n -o-transition: -o-transform .6s ease-in-out;\n transition: transform .6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n"; }); -function _aureliaConfigureModuleLoader(){requirejs.config({"baseUrl":"src/","paths":{"aurelia-binding":"../node_modules\\aurelia-binding\\dist\\amd\\aurelia-binding","aurelia-bootstrapper":"../node_modules\\aurelia-bootstrapper\\dist\\amd\\aurelia-bootstrapper","aurelia-framework":"../node_modules\\aurelia-framework\\dist\\amd\\aurelia-framework","aurelia-event-aggregator":"../node_modules\\aurelia-event-aggregator\\dist\\amd\\aurelia-event-aggregator","aurelia-dependency-injection":"../node_modules\\aurelia-dependency-injection\\dist\\amd\\aurelia-dependency-injection","aurelia-history":"../node_modules\\aurelia-history\\dist\\amd\\aurelia-history","aurelia-history-browser":"../node_modules\\aurelia-history-browser\\dist\\amd\\aurelia-history-browser","aurelia-loader":"../node_modules\\aurelia-loader\\dist\\amd\\aurelia-loader","aurelia-loader-default":"../node_modules\\aurelia-loader-default\\dist\\amd\\aurelia-loader-default","aurelia-logging":"../node_modules\\aurelia-logging\\dist\\amd\\aurelia-logging","aurelia-logging-console":"../node_modules\\aurelia-logging-console\\dist\\amd\\aurelia-logging-console","aurelia-metadata":"../node_modules\\aurelia-metadata\\dist\\amd\\aurelia-metadata","aurelia-pal":"../node_modules\\aurelia-pal\\dist\\amd\\aurelia-pal","aurelia-pal-browser":"../node_modules\\aurelia-pal-browser\\dist\\amd\\aurelia-pal-browser","aurelia-path":"../node_modules\\aurelia-path\\dist\\amd\\aurelia-path","aurelia-polyfills":"../node_modules\\aurelia-polyfills\\dist\\amd\\aurelia-polyfills","aurelia-route-recognizer":"../node_modules\\aurelia-route-recognizer\\dist\\amd\\aurelia-route-recognizer","aurelia-router":"../node_modules\\aurelia-router\\dist\\amd\\aurelia-router","aurelia-task-queue":"../node_modules\\aurelia-task-queue\\dist\\amd\\aurelia-task-queue","aurelia-templating":"../node_modules\\aurelia-templating\\dist\\amd\\aurelia-templating","text":"../node_modules\\text\\text","aurelia-templating-binding":"../node_modules\\aurelia-templating-binding\\dist\\amd\\aurelia-templating-binding","app-bundle":"../scripts/app-bundle"},"packages":[{"name":"aurelia-templating-resources","location":"../node_modules/aurelia-templating-resources/dist/amd","main":"aurelia-templating-resources"},{"name":"aurelia-templating-router","location":"../node_modules/aurelia-templating-router/dist/amd","main":"aurelia-templating-router"},{"name":"aurelia-testing","location":"../node_modules/aurelia-testing/dist/amd","main":"aurelia-testing"},{"name":"aurelia-fetch-client","location":"../node_modules/aurelia-fetch-client/dist/amd","main":"aurelia-fetch-client"},{"name":"bootstrap","location":"../node_modules/bootstrap/dist","main":"js/bootstrap.min"}],"stubModules":["text"],"shim":{},"bundles":{"app-bundle":["resources/services/eventService","shell/routerService","app","environment","resources/services/restService","resources/services/cookieService","resources/services/authService","microservices/auth/authClient","main","resources/index","shell/index","shell/nav-bar","shell/shell","shell/top-bar","main/admin/admin","main/feedback/feedback","main/picks/picks","main/statistics/statistics","microservices/auth/index","microservices/auth/login","microservices/stats/statsClient","resources/valueConverters/dateFormat","microservices/stats/current/current-stats","microservices/stats/current/index","microservices/stats/history/history-stats","microservices/stats/history/index","microservices/stats/majors/index","microservices/stats/majors/majors-stats","microservices/stats/monthly/index","microservices/stats/monthly/monthly-stats","microservices/stats/playoffs/index","microservices/stats/playoffs/playoff-stats","microservices/stats/season/index","microservices/stats/season/season-stats","resources/styles/datatablestyles","resources/styles/iconfonts","microservices/stats/current/current-stats-styles","microservices/stats/season/season-stats-styles","resources/styles/minton/css/components","resources/styles/minton/css/core","resources/styles/minton/css/elements","resources/styles/minton/css/icons","microservices/stats/current/current-course","resources/styles/minton/css/menu","microservices/stats/current/current-golfers-table","resources/styles/minton/css/pages","microservices/stats/current/current-poolies-table","resources/styles/minton/css/responsive","resources/styles/minton/css/variables","microservices/stats/current/current-tournament"]}})} \ No newline at end of file +function _aureliaConfigureModuleLoader(){requirejs.config({"baseUrl":"src/","paths":{"aurelia-dependency-injection":"../node_modules\\aurelia-dependency-injection\\dist\\amd\\aurelia-dependency-injection","aurelia-event-aggregator":"../node_modules\\aurelia-event-aggregator\\dist\\amd\\aurelia-event-aggregator","aurelia-binding":"../node_modules\\aurelia-binding\\dist\\amd\\aurelia-binding","aurelia-framework":"../node_modules\\aurelia-framework\\dist\\amd\\aurelia-framework","aurelia-bootstrapper":"../node_modules\\aurelia-bootstrapper\\dist\\amd\\aurelia-bootstrapper","aurelia-history":"../node_modules\\aurelia-history\\dist\\amd\\aurelia-history","aurelia-loader":"../node_modules\\aurelia-loader\\dist\\amd\\aurelia-loader","aurelia-history-browser":"../node_modules\\aurelia-history-browser\\dist\\amd\\aurelia-history-browser","aurelia-loader-default":"../node_modules\\aurelia-loader-default\\dist\\amd\\aurelia-loader-default","aurelia-metadata":"../node_modules\\aurelia-metadata\\dist\\amd\\aurelia-metadata","aurelia-pal":"../node_modules\\aurelia-pal\\dist\\amd\\aurelia-pal","aurelia-logging-console":"../node_modules\\aurelia-logging-console\\dist\\amd\\aurelia-logging-console","aurelia-logging":"../node_modules\\aurelia-logging\\dist\\amd\\aurelia-logging","aurelia-pal-browser":"../node_modules\\aurelia-pal-browser\\dist\\amd\\aurelia-pal-browser","aurelia-polyfills":"../node_modules\\aurelia-polyfills\\dist\\amd\\aurelia-polyfills","aurelia-path":"../node_modules\\aurelia-path\\dist\\amd\\aurelia-path","aurelia-route-recognizer":"../node_modules\\aurelia-route-recognizer\\dist\\amd\\aurelia-route-recognizer","aurelia-templating":"../node_modules\\aurelia-templating\\dist\\amd\\aurelia-templating","aurelia-task-queue":"../node_modules\\aurelia-task-queue\\dist\\amd\\aurelia-task-queue","aurelia-router":"../node_modules\\aurelia-router\\dist\\amd\\aurelia-router","aurelia-templating-binding":"../node_modules\\aurelia-templating-binding\\dist\\amd\\aurelia-templating-binding","text":"../node_modules\\text\\text","app-bundle":"../scripts/app-bundle"},"packages":[{"name":"aurelia-templating-resources","location":"../node_modules/aurelia-templating-resources/dist/amd","main":"aurelia-templating-resources"},{"name":"aurelia-templating-router","location":"../node_modules/aurelia-templating-router/dist/amd","main":"aurelia-templating-router"},{"name":"aurelia-testing","location":"../node_modules/aurelia-testing/dist/amd","main":"aurelia-testing"},{"name":"bootstrap","location":"../node_modules/bootstrap/dist","main":"js/bootstrap.min"},{"name":"aurelia-fetch-client","location":"../node_modules/aurelia-fetch-client/dist/amd","main":"aurelia-fetch-client"}],"stubModules":["text"],"shim":{},"bundles":{"app-bundle":["resources/services/eventService","shell/routerService","app","environment","resources/services/restService","resources/services/cookieService","resources/services/authService","microservices/auth/authClient","main","shell/index","shell/nav-bar","shell/shell","shell/top-bar","resources/index","main/admin/admin","main/feedback/feedback","main/picks/picks","main/statistics/statistics","microservices/auth/index","microservices/auth/login","microservices/picks/index","microservices/picks/pickClient","microservices/picks/picks-main","microservices/stats/statsClient","resources/valueConverters/dateFormat","microservices/stats/current/current-stats","microservices/stats/current/index","microservices/stats/history/history-stats","microservices/stats/history/index","microservices/stats/majors/index","microservices/stats/majors/majors-stats","microservices/stats/monthly/index","microservices/stats/monthly/monthly-stats","microservices/stats/playoffs/index","microservices/stats/playoffs/playoff-stats","microservices/stats/season/index","microservices/stats/season/season-stats","resources/styles/datatablestyles","resources/styles/iconfonts","microservices/stats/current/current-stats-styles","microservices/stats/season/season-stats-styles","resources/styles/minton/css/components","resources/styles/minton/css/core","resources/styles/minton/css/elements","resources/styles/minton/css/icons","resources/styles/minton/css/menu","resources/styles/minton/css/pages","microservices/picks/picks-pick","resources/styles/minton/css/responsive","microservices/picks/picks-start","resources/styles/minton/css/variables","microservices/picks/picks-state","microservices/picks/picks-title","microservices/stats/current/current-course","microservices/stats/current/current-golfers-table","microservices/stats/current/current-poolies-table","microservices/stats/current/current-tournament"]}})} \ No newline at end of file diff --git a/web.config b/web.config index 656a1c7..e5e7588 100644 --- a/web.config +++ b/web.config @@ -15,6 +15,7 @@ + \ No newline at end of file