diff --git a/app/js/controllers/main/settings/tabs/ModulesController.js b/app/js/controllers/main/settings/tabs/ModulesController.js index 52f4a7c164dc15f5096ce437be345f50014b81cc..e8885ff4cb8384602bf0bf247001076925df95b0 100644 --- a/app/js/controllers/main/settings/tabs/ModulesController.js +++ b/app/js/controllers/main/settings/tabs/ModulesController.js @@ -76,7 +76,8 @@ module.exports = ($scope, $http, $state, $interval, $timeout, UIUtils, summary, return { name: m.name, fullName: [m.name, m.version].join('@'), - disabled: !$scope.hasAccess, + locked: m.locked, + disabled: !$scope.hasAccess || m.locked, installing: false, installed: true } diff --git a/app/styles/main.styl b/app/styles/main.styl index 7879a749fda0363a1d72ce38d59d038db7376f11..639daec9d98279e29a1673d5662aecaa07c7e9c6 100644 --- a/app/styles/main.styl +++ b/app/styles/main.styl @@ -332,6 +332,12 @@ blockquote.info margin-bottom 5px } + span.badge + margin-right 120px + + span.badge:after + content: "" !important + .modules blockquote a { font-weight: bold !important text-transform: none !important diff --git a/app/views/main/settings/tabs/modules.jade b/app/views/main/settings/tabs/modules.jade index a290aa282cf945d39fc8c3f6fb3966d1b5c97392..7f82139b559e2dc23c9413c40fd3fc531b59070b 100644 --- a/app/views/main/settings/tabs/modules.jade +++ b/app/views/main/settings/tabs/modules.jade @@ -19,6 +19,7 @@ li.collection-item(ng-repeat="mod in modules track by $index") div span {{ mod.fullName }} + span.badge.new.deep-orange.darken-4(ng-if="mod.locked") required .switch.secondary-content label span(translate="settings.modules.off") diff --git a/index.js b/index.js index e788089afd798776084b9630db1fd4aa4d61549e..3fd4837b5f4050c3dcb16b6d9d0baf309ac5869d 100644 --- a/index.js +++ b/index.js @@ -50,7 +50,7 @@ module.exports = { }, { name: 'direct_webstart', desc: 'Do a webstart', - onDatabaseExecute: (server, conf, program, params, startServices, stopServices) => co(function*(){ + onDatabaseExecute: (server, conf, program, params, startServices, stopServices, stack) => co(function*(){ try { @@ -77,7 +77,7 @@ module.exports = { })); app.use(bodyParser.json()); - const wbmin = webminController(server, startServices, stopServices, listDuniterPlugins); + const wbmin = webminController(server, startServices, stopServices, listDuniterPlugins, stack); const httpServer = http.createServer(app); httpServer.listen(PORT, HOTE); server.logger.info("Web administration accessible at following address: http://%s:%s", HOTE, PORT); @@ -172,8 +172,9 @@ function listDuniterUIPlugins() { function listPlugins(conditionTest) { const uiDependencies = [] - const pathToPackageJSON = path.join(__dirname, './package.json') + const pathToPackageJSON = path.resolve('./package.json') const pkgJSON = JSON.parse(fs.readFileSync(pathToPackageJSON, 'utf8')) + const peerDeps = pkgJSON.peerDependencies || {} const allDeps = _.extend(pkgJSON.dependencies || {}, pkgJSON.devDependencies || {}) const deps = Object.keys(allDeps) for (const dep of deps) { @@ -183,6 +184,7 @@ function listPlugins(conditionTest) { uiDependencies.push({ name: dep, version: allDeps[dep], + locked: !!peerDeps[dep], required }) } diff --git a/package.json b/package.json index e4a9b1080157f4f6599654aaab01d35ef7ec2050..10d2f35eac787c6c0d77768212946c12c8a55700 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,9 @@ "util-deprecate": "1.0.2" }, "peerDependencies": { - "duniter": "1.3.x" + "duniter": "1.3.x", + "duniter-bma": "1.3.x", + "duniter-crawler": "1.3.x", + "duniter-keypair": "1.3.x" } } diff --git a/public/app.css b/public/app.css index d47403c045422f0dcd40a054ab525cd31000a4b6..a1afeae1f62ad19f41816c9a44d292c9f3805d7a 100644 --- a/public/app.css +++ b/public/app.css @@ -13868,6 +13868,12 @@ blockquote.info { .modules blockquote { margin-bottom: 5px; } +.modules span.badge { + margin-right: 120px; +} +.modules span.badge:after { + content: "" !important; +} .modules blockquote a { font-weight: bold !important; text-transform: none !important; diff --git a/public/app.css.map b/public/app.css.map index 822d217f924d3380985cbff28b7ab815a6495c82..fa3122543f2ec1785e05cbc45e1bb675c65cefb5 100644 --- a/public/app.css.map +++ b/public/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["app/css/font-awesome.css","app/css/material-icons.css","app/css/materialize.css","app/styles/badges.styl","app/styles/fa.styl","app/styles/main.styl","app/styles/menu.styl","app/styles/vendor.styl"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtiEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACx/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1FA","file":"public/app.css","sourcesContent":["/*!\n * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('../font/font-awesome/fontawesome-webfont.eot?v=4.5.0');\n src: url('../font/font-awesome/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../font/font-awesome/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../font/font-awesome/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../font/font-awesome/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../font/font-awesome/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eeeeee;\n border-radius: .1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: .3em;\n}\n.fa.pull-right {\n margin-left: .3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n","@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(../font/material.woff2) format('woff2');\n}\n\n.material-icons {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}","/*!\n * Materialize v0.97.5 (http://materializecss.com)\n * Copyright 2014-2015 Materialize\n * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)\n */\n.materialize-red.lighten-5 {\n background-color: #fdeaeb !important;\n}\n\n.materialize-red-text.text-lighten-5 {\n color: #fdeaeb !important;\n}\n\n.materialize-red.lighten-4 {\n background-color: #f8c1c3 !important;\n}\n\n.materialize-red-text.text-lighten-4 {\n color: #f8c1c3 !important;\n}\n\n.materialize-red.lighten-3 {\n background-color: #f3989b !important;\n}\n\n.materialize-red-text.text-lighten-3 {\n color: #f3989b !important;\n}\n\n.materialize-red.lighten-2 {\n background-color: #ee6e73 !important;\n}\n\n.materialize-red-text.text-lighten-2 {\n color: #ee6e73 !important;\n}\n\n.materialize-red.lighten-1 {\n background-color: #ea454b !important;\n}\n\n.materialize-red-text.text-lighten-1 {\n color: #ea454b !important;\n}\n\n.materialize-red {\n background-color: #e51c23 !important;\n}\n\n.materialize-red-text {\n color: #e51c23 !important;\n}\n\n.materialize-red.darken-1 {\n background-color: #d0181e !important;\n}\n\n.materialize-red-text.text-darken-1 {\n color: #d0181e !important;\n}\n\n.materialize-red.darken-2 {\n background-color: #b9151b !important;\n}\n\n.materialize-red-text.text-darken-2 {\n color: #b9151b !important;\n}\n\n.materialize-red.darken-3 {\n background-color: #a21318 !important;\n}\n\n.materialize-red-text.text-darken-3 {\n color: #a21318 !important;\n}\n\n.materialize-red.darken-4 {\n background-color: #8b1014 !important;\n}\n\n.materialize-red-text.text-darken-4 {\n color: #8b1014 !important;\n}\n\n.red.lighten-5 {\n background-color: #FFEBEE !important;\n}\n\n.red-text.text-lighten-5 {\n color: #FFEBEE !important;\n}\n\n.red.lighten-4 {\n background-color: #FFCDD2 !important;\n}\n\n.red-text.text-lighten-4 {\n color: #FFCDD2 !important;\n}\n\n.red.lighten-3 {\n background-color: #EF9A9A !important;\n}\n\n.red-text.text-lighten-3 {\n color: #EF9A9A !important;\n}\n\n.red.lighten-2 {\n background-color: #E57373 !important;\n}\n\n.red-text.text-lighten-2 {\n color: #E57373 !important;\n}\n\n.red.lighten-1 {\n background-color: #EF5350 !important;\n}\n\n.red-text.text-lighten-1 {\n color: #EF5350 !important;\n}\n\n.red {\n background-color: #F44336 !important;\n}\n\n.red-text {\n color: #F44336 !important;\n}\n\n.red.darken-1 {\n background-color: #E53935 !important;\n}\n\n.red-text.text-darken-1 {\n color: #E53935 !important;\n}\n\n.red.darken-2 {\n background-color: #D32F2F !important;\n}\n\n.red-text.text-darken-2 {\n color: #D32F2F !important;\n}\n\n.red.darken-3 {\n background-color: #C62828 !important;\n}\n\n.red-text.text-darken-3 {\n color: #C62828 !important;\n}\n\n.red.darken-4 {\n background-color: #B71C1C !important;\n}\n\n.red-text.text-darken-4 {\n color: #B71C1C !important;\n}\n\n.red.accent-1 {\n background-color: #FF8A80 !important;\n}\n\n.red-text.text-accent-1 {\n color: #FF8A80 !important;\n}\n\n.red.accent-2 {\n background-color: #FF5252 !important;\n}\n\n.red-text.text-accent-2 {\n color: #FF5252 !important;\n}\n\n.red.accent-3 {\n background-color: #FF1744 !important;\n}\n\n.red-text.text-accent-3 {\n color: #FF1744 !important;\n}\n\n.red.accent-4 {\n background-color: #D50000 !important;\n}\n\n.red-text.text-accent-4 {\n color: #D50000 !important;\n}\n\n.pink.lighten-5 {\n background-color: #fce4ec !important;\n}\n\n.pink-text.text-lighten-5 {\n color: #fce4ec !important;\n}\n\n.pink.lighten-4 {\n background-color: #f8bbd0 !important;\n}\n\n.pink-text.text-lighten-4 {\n color: #f8bbd0 !important;\n}\n\n.pink.lighten-3 {\n background-color: #f48fb1 !important;\n}\n\n.pink-text.text-lighten-3 {\n color: #f48fb1 !important;\n}\n\n.pink.lighten-2 {\n background-color: #f06292 !important;\n}\n\n.pink-text.text-lighten-2 {\n color: #f06292 !important;\n}\n\n.pink.lighten-1 {\n background-color: #ec407a !important;\n}\n\n.pink-text.text-lighten-1 {\n color: #ec407a !important;\n}\n\n.pink {\n background-color: #e91e63 !important;\n}\n\n.pink-text {\n color: #e91e63 !important;\n}\n\n.pink.darken-1 {\n background-color: #d81b60 !important;\n}\n\n.pink-text.text-darken-1 {\n color: #d81b60 !important;\n}\n\n.pink.darken-2 {\n background-color: #c2185b !important;\n}\n\n.pink-text.text-darken-2 {\n color: #c2185b !important;\n}\n\n.pink.darken-3 {\n background-color: #ad1457 !important;\n}\n\n.pink-text.text-darken-3 {\n color: #ad1457 !important;\n}\n\n.pink.darken-4 {\n background-color: #880e4f !important;\n}\n\n.pink-text.text-darken-4 {\n color: #880e4f !important;\n}\n\n.pink.accent-1 {\n background-color: #ff80ab !important;\n}\n\n.pink-text.text-accent-1 {\n color: #ff80ab !important;\n}\n\n.pink.accent-2 {\n background-color: #ff4081 !important;\n}\n\n.pink-text.text-accent-2 {\n color: #ff4081 !important;\n}\n\n.pink.accent-3 {\n background-color: #f50057 !important;\n}\n\n.pink-text.text-accent-3 {\n color: #f50057 !important;\n}\n\n.pink.accent-4 {\n background-color: #c51162 !important;\n}\n\n.pink-text.text-accent-4 {\n color: #c51162 !important;\n}\n\n.purple.lighten-5 {\n background-color: #f3e5f5 !important;\n}\n\n.purple-text.text-lighten-5 {\n color: #f3e5f5 !important;\n}\n\n.purple.lighten-4 {\n background-color: #e1bee7 !important;\n}\n\n.purple-text.text-lighten-4 {\n color: #e1bee7 !important;\n}\n\n.purple.lighten-3 {\n background-color: #ce93d8 !important;\n}\n\n.purple-text.text-lighten-3 {\n color: #ce93d8 !important;\n}\n\n.purple.lighten-2 {\n background-color: #ba68c8 !important;\n}\n\n.purple-text.text-lighten-2 {\n color: #ba68c8 !important;\n}\n\n.purple.lighten-1 {\n background-color: #ab47bc !important;\n}\n\n.purple-text.text-lighten-1 {\n color: #ab47bc !important;\n}\n\n.purple {\n background-color: #9c27b0 !important;\n}\n\n.purple-text {\n color: #9c27b0 !important;\n}\n\n.purple.darken-1 {\n background-color: #8e24aa !important;\n}\n\n.purple-text.text-darken-1 {\n color: #8e24aa !important;\n}\n\n.purple.darken-2 {\n background-color: #7b1fa2 !important;\n}\n\n.purple-text.text-darken-2 {\n color: #7b1fa2 !important;\n}\n\n.purple.darken-3 {\n background-color: #6a1b9a !important;\n}\n\n.purple-text.text-darken-3 {\n color: #6a1b9a !important;\n}\n\n.purple.darken-4 {\n background-color: #4a148c !important;\n}\n\n.purple-text.text-darken-4 {\n color: #4a148c !important;\n}\n\n.purple.accent-1 {\n background-color: #ea80fc !important;\n}\n\n.purple-text.text-accent-1 {\n color: #ea80fc !important;\n}\n\n.purple.accent-2 {\n background-color: #e040fb !important;\n}\n\n.purple-text.text-accent-2 {\n color: #e040fb !important;\n}\n\n.purple.accent-3 {\n background-color: #d500f9 !important;\n}\n\n.purple-text.text-accent-3 {\n color: #d500f9 !important;\n}\n\n.purple.accent-4 {\n background-color: #aa00ff !important;\n}\n\n.purple-text.text-accent-4 {\n color: #aa00ff !important;\n}\n\n.deep-purple.lighten-5 {\n background-color: #ede7f6 !important;\n}\n\n.deep-purple-text.text-lighten-5 {\n color: #ede7f6 !important;\n}\n\n.deep-purple.lighten-4 {\n background-color: #d1c4e9 !important;\n}\n\n.deep-purple-text.text-lighten-4 {\n color: #d1c4e9 !important;\n}\n\n.deep-purple.lighten-3 {\n background-color: #b39ddb !important;\n}\n\n.deep-purple-text.text-lighten-3 {\n color: #b39ddb !important;\n}\n\n.deep-purple.lighten-2 {\n background-color: #9575cd !important;\n}\n\n.deep-purple-text.text-lighten-2 {\n color: #9575cd !important;\n}\n\n.deep-purple.lighten-1 {\n background-color: #7e57c2 !important;\n}\n\n.deep-purple-text.text-lighten-1 {\n color: #7e57c2 !important;\n}\n\n.deep-purple {\n background-color: #673ab7 !important;\n}\n\n.deep-purple-text {\n color: #673ab7 !important;\n}\n\n.deep-purple.darken-1 {\n background-color: #5e35b1 !important;\n}\n\n.deep-purple-text.text-darken-1 {\n color: #5e35b1 !important;\n}\n\n.deep-purple.darken-2 {\n background-color: #512da8 !important;\n}\n\n.deep-purple-text.text-darken-2 {\n color: #512da8 !important;\n}\n\n.deep-purple.darken-3 {\n background-color: #4527a0 !important;\n}\n\n.deep-purple-text.text-darken-3 {\n color: #4527a0 !important;\n}\n\n.deep-purple.darken-4 {\n background-color: #311b92 !important;\n}\n\n.deep-purple-text.text-darken-4 {\n color: #311b92 !important;\n}\n\n.deep-purple.accent-1 {\n background-color: #b388ff !important;\n}\n\n.deep-purple-text.text-accent-1 {\n color: #b388ff !important;\n}\n\n.deep-purple.accent-2 {\n background-color: #7c4dff !important;\n}\n\n.deep-purple-text.text-accent-2 {\n color: #7c4dff !important;\n}\n\n.deep-purple.accent-3 {\n background-color: #651fff !important;\n}\n\n.deep-purple-text.text-accent-3 {\n color: #651fff !important;\n}\n\n.deep-purple.accent-4 {\n background-color: #6200ea !important;\n}\n\n.deep-purple-text.text-accent-4 {\n color: #6200ea !important;\n}\n\n.indigo.lighten-5 {\n background-color: #e8eaf6 !important;\n}\n\n.indigo-text.text-lighten-5 {\n color: #e8eaf6 !important;\n}\n\n.indigo.lighten-4 {\n background-color: #c5cae9 !important;\n}\n\n.indigo-text.text-lighten-4 {\n color: #c5cae9 !important;\n}\n\n.indigo.lighten-3 {\n background-color: #9fa8da !important;\n}\n\n.indigo-text.text-lighten-3 {\n color: #9fa8da !important;\n}\n\n.indigo.lighten-2 {\n background-color: #7986cb !important;\n}\n\n.indigo-text.text-lighten-2 {\n color: #7986cb !important;\n}\n\n.indigo.lighten-1 {\n background-color: #5c6bc0 !important;\n}\n\n.indigo-text.text-lighten-1 {\n color: #5c6bc0 !important;\n}\n\n.indigo {\n background-color: #3f51b5 !important;\n}\n\n.indigo-text {\n color: #3f51b5 !important;\n}\n\n.indigo.darken-1 {\n background-color: #3949ab !important;\n}\n\n.indigo-text.text-darken-1 {\n color: #3949ab !important;\n}\n\n.indigo.darken-2 {\n background-color: #303f9f !important;\n}\n\n.indigo-text.text-darken-2 {\n color: #303f9f !important;\n}\n\n.indigo.darken-3 {\n background-color: #283593 !important;\n}\n\n.indigo-text.text-darken-3 {\n color: #283593 !important;\n}\n\n.indigo.darken-4 {\n background-color: #1a237e !important;\n}\n\n.indigo-text.text-darken-4 {\n color: #1a237e !important;\n}\n\n.indigo.accent-1 {\n background-color: #8c9eff !important;\n}\n\n.indigo-text.text-accent-1 {\n color: #8c9eff !important;\n}\n\n.indigo.accent-2 {\n background-color: #536dfe !important;\n}\n\n.indigo-text.text-accent-2 {\n color: #536dfe !important;\n}\n\n.indigo.accent-3 {\n background-color: #3d5afe !important;\n}\n\n.indigo-text.text-accent-3 {\n color: #3d5afe !important;\n}\n\n.indigo.accent-4 {\n background-color: #304ffe !important;\n}\n\n.indigo-text.text-accent-4 {\n color: #304ffe !important;\n}\n\n.blue.lighten-5 {\n background-color: #E3F2FD !important;\n}\n\n.blue-text.text-lighten-5 {\n color: #E3F2FD !important;\n}\n\n.blue.lighten-4 {\n background-color: #BBDEFB !important;\n}\n\n.blue-text.text-lighten-4 {\n color: #BBDEFB !important;\n}\n\n.blue.lighten-3 {\n background-color: #90CAF9 !important;\n}\n\n.blue-text.text-lighten-3 {\n color: #90CAF9 !important;\n}\n\n.blue.lighten-2 {\n background-color: #64B5F6 !important;\n}\n\n.blue-text.text-lighten-2 {\n color: #64B5F6 !important;\n}\n\n.blue.lighten-1 {\n background-color: #42A5F5 !important;\n}\n\n.blue-text.text-lighten-1 {\n color: #42A5F5 !important;\n}\n\n.blue {\n background-color: #2196F3 !important;\n}\n\n.blue-text {\n color: #2196F3 !important;\n}\n\n.blue.darken-1 {\n background-color: #1E88E5 !important;\n}\n\n.blue-text.text-darken-1 {\n color: #1E88E5 !important;\n}\n\n.blue.darken-2 {\n background-color: #1976D2 !important;\n}\n\n.blue-text.text-darken-2 {\n color: #1976D2 !important;\n}\n\n.blue.darken-3 {\n background-color: #1565C0 !important;\n}\n\n.blue-text.text-darken-3 {\n color: #1565C0 !important;\n}\n\n.blue.darken-4 {\n background-color: #0D47A1 !important;\n}\n\n.blue-text.text-darken-4 {\n color: #0D47A1 !important;\n}\n\n.blue.accent-1 {\n background-color: #82B1FF !important;\n}\n\n.blue-text.text-accent-1 {\n color: #82B1FF !important;\n}\n\n.blue.accent-2 {\n background-color: #448AFF !important;\n}\n\n.blue-text.text-accent-2 {\n color: #448AFF !important;\n}\n\n.blue.accent-3 {\n background-color: #2979FF !important;\n}\n\n.blue-text.text-accent-3 {\n color: #2979FF !important;\n}\n\n.blue.accent-4 {\n background-color: #2962FF !important;\n}\n\n.blue-text.text-accent-4 {\n color: #2962FF !important;\n}\n\n.light-blue.lighten-5 {\n background-color: #e1f5fe !important;\n}\n\n.light-blue-text.text-lighten-5 {\n color: #e1f5fe !important;\n}\n\n.light-blue.lighten-4 {\n background-color: #b3e5fc !important;\n}\n\n.light-blue-text.text-lighten-4 {\n color: #b3e5fc !important;\n}\n\n.light-blue.lighten-3 {\n background-color: #81d4fa !important;\n}\n\n.light-blue-text.text-lighten-3 {\n color: #81d4fa !important;\n}\n\n.light-blue.lighten-2 {\n background-color: #4fc3f7 !important;\n}\n\n.light-blue-text.text-lighten-2 {\n color: #4fc3f7 !important;\n}\n\n.light-blue.lighten-1 {\n background-color: #29b6f6 !important;\n}\n\n.light-blue-text.text-lighten-1 {\n color: #29b6f6 !important;\n}\n\n.light-blue {\n background-color: #03a9f4 !important;\n}\n\n.light-blue-text {\n color: #03a9f4 !important;\n}\n\n.light-blue.darken-1 {\n background-color: #039be5 !important;\n}\n\n.light-blue-text.text-darken-1 {\n color: #039be5 !important;\n}\n\n.light-blue.darken-2 {\n background-color: #0288d1 !important;\n}\n\n.light-blue-text.text-darken-2 {\n color: #0288d1 !important;\n}\n\n.light-blue.darken-3 {\n background-color: #0277bd !important;\n}\n\n.light-blue-text.text-darken-3 {\n color: #0277bd !important;\n}\n\n.light-blue.darken-4 {\n background-color: #01579b !important;\n}\n\n.light-blue-text.text-darken-4 {\n color: #01579b !important;\n}\n\n.light-blue.accent-1 {\n background-color: #80d8ff !important;\n}\n\n.light-blue-text.text-accent-1 {\n color: #80d8ff !important;\n}\n\n.light-blue.accent-2 {\n background-color: #40c4ff !important;\n}\n\n.light-blue-text.text-accent-2 {\n color: #40c4ff !important;\n}\n\n.light-blue.accent-3 {\n background-color: #00b0ff !important;\n}\n\n.light-blue-text.text-accent-3 {\n color: #00b0ff !important;\n}\n\n.light-blue.accent-4 {\n background-color: #0091ea !important;\n}\n\n.light-blue-text.text-accent-4 {\n color: #0091ea !important;\n}\n\n.cyan.lighten-5 {\n background-color: #e0f7fa !important;\n}\n\n.cyan-text.text-lighten-5 {\n color: #e0f7fa !important;\n}\n\n.cyan.lighten-4 {\n background-color: #b2ebf2 !important;\n}\n\n.cyan-text.text-lighten-4 {\n color: #b2ebf2 !important;\n}\n\n.cyan.lighten-3 {\n background-color: #80deea !important;\n}\n\n.cyan-text.text-lighten-3 {\n color: #80deea !important;\n}\n\n.cyan.lighten-2 {\n background-color: #4dd0e1 !important;\n}\n\n.cyan-text.text-lighten-2 {\n color: #4dd0e1 !important;\n}\n\n.cyan.lighten-1 {\n background-color: #26c6da !important;\n}\n\n.cyan-text.text-lighten-1 {\n color: #26c6da !important;\n}\n\n.cyan {\n background-color: #00bcd4 !important;\n}\n\n.cyan-text {\n color: #00bcd4 !important;\n}\n\n.cyan.darken-1 {\n background-color: #00acc1 !important;\n}\n\n.cyan-text.text-darken-1 {\n color: #00acc1 !important;\n}\n\n.cyan.darken-2 {\n background-color: #0097a7 !important;\n}\n\n.cyan-text.text-darken-2 {\n color: #0097a7 !important;\n}\n\n.cyan.darken-3 {\n background-color: #00838f !important;\n}\n\n.cyan-text.text-darken-3 {\n color: #00838f !important;\n}\n\n.cyan.darken-4 {\n background-color: #006064 !important;\n}\n\n.cyan-text.text-darken-4 {\n color: #006064 !important;\n}\n\n.cyan.accent-1 {\n background-color: #84ffff !important;\n}\n\n.cyan-text.text-accent-1 {\n color: #84ffff !important;\n}\n\n.cyan.accent-2 {\n background-color: #18ffff !important;\n}\n\n.cyan-text.text-accent-2 {\n color: #18ffff !important;\n}\n\n.cyan.accent-3 {\n background-color: #00e5ff !important;\n}\n\n.cyan-text.text-accent-3 {\n color: #00e5ff !important;\n}\n\n.cyan.accent-4 {\n background-color: #00b8d4 !important;\n}\n\n.cyan-text.text-accent-4 {\n color: #00b8d4 !important;\n}\n\n.teal.lighten-5 {\n background-color: #e0f2f1 !important;\n}\n\n.teal-text.text-lighten-5 {\n color: #e0f2f1 !important;\n}\n\n.teal.lighten-4 {\n background-color: #b2dfdb !important;\n}\n\n.teal-text.text-lighten-4 {\n color: #b2dfdb !important;\n}\n\n.teal.lighten-3 {\n background-color: #80cbc4 !important;\n}\n\n.teal-text.text-lighten-3 {\n color: #80cbc4 !important;\n}\n\n.teal.lighten-2 {\n background-color: #4db6ac !important;\n}\n\n.teal-text.text-lighten-2 {\n color: #4db6ac !important;\n}\n\n.teal.lighten-1 {\n background-color: #26a69a !important;\n}\n\n.teal-text.text-lighten-1 {\n color: #26a69a !important;\n}\n\n.teal {\n background-color: #009688 !important;\n}\n\n.teal-text {\n color: #009688 !important;\n}\n\n.teal.darken-1 {\n background-color: #00897b !important;\n}\n\n.teal-text.text-darken-1 {\n color: #00897b !important;\n}\n\n.teal.darken-2 {\n background-color: #00796b !important;\n}\n\n.teal-text.text-darken-2 {\n color: #00796b !important;\n}\n\n.teal.darken-3 {\n background-color: #00695c !important;\n}\n\n.teal-text.text-darken-3 {\n color: #00695c !important;\n}\n\n.teal.darken-4 {\n background-color: #004d40 !important;\n}\n\n.teal-text.text-darken-4 {\n color: #004d40 !important;\n}\n\n.teal.accent-1 {\n background-color: #a7ffeb !important;\n}\n\n.teal-text.text-accent-1 {\n color: #a7ffeb !important;\n}\n\n.teal.accent-2 {\n background-color: #64ffda !important;\n}\n\n.teal-text.text-accent-2 {\n color: #64ffda !important;\n}\n\n.teal.accent-3 {\n background-color: #1de9b6 !important;\n}\n\n.teal-text.text-accent-3 {\n color: #1de9b6 !important;\n}\n\n.teal.accent-4 {\n background-color: #00bfa5 !important;\n}\n\n.teal-text.text-accent-4 {\n color: #00bfa5 !important;\n}\n\n.green.lighten-5 {\n background-color: #E8F5E9 !important;\n}\n\n.green-text.text-lighten-5 {\n color: #E8F5E9 !important;\n}\n\n.green.lighten-4 {\n background-color: #C8E6C9 !important;\n}\n\n.green-text.text-lighten-4 {\n color: #C8E6C9 !important;\n}\n\n.green.lighten-3 {\n background-color: #A5D6A7 !important;\n}\n\n.green-text.text-lighten-3 {\n color: #A5D6A7 !important;\n}\n\n.green.lighten-2 {\n background-color: #81C784 !important;\n}\n\n.green-text.text-lighten-2 {\n color: #81C784 !important;\n}\n\n.green.lighten-1 {\n background-color: #66BB6A !important;\n}\n\n.green-text.text-lighten-1 {\n color: #66BB6A !important;\n}\n\n.green {\n background-color: #4CAF50 !important;\n}\n\n.green-text {\n color: #4CAF50 !important;\n}\n\n.green.darken-1 {\n background-color: #43A047 !important;\n}\n\n.green-text.text-darken-1 {\n color: #43A047 !important;\n}\n\n.green.darken-2 {\n background-color: #388E3C !important;\n}\n\n.green-text.text-darken-2 {\n color: #388E3C !important;\n}\n\n.green.darken-3 {\n background-color: #2E7D32 !important;\n}\n\n.green-text.text-darken-3 {\n color: #2E7D32 !important;\n}\n\n.green.darken-4 {\n background-color: #1B5E20 !important;\n}\n\n.green-text.text-darken-4 {\n color: #1B5E20 !important;\n}\n\n.green.accent-1 {\n background-color: #B9F6CA !important;\n}\n\n.green-text.text-accent-1 {\n color: #B9F6CA !important;\n}\n\n.green.accent-2 {\n background-color: #69F0AE !important;\n}\n\n.green-text.text-accent-2 {\n color: #69F0AE !important;\n}\n\n.green.accent-3 {\n background-color: #00E676 !important;\n}\n\n.green-text.text-accent-3 {\n color: #00E676 !important;\n}\n\n.green.accent-4 {\n background-color: #00C853 !important;\n}\n\n.green-text.text-accent-4 {\n color: #00C853 !important;\n}\n\n.light-green.lighten-5 {\n background-color: #f1f8e9 !important;\n}\n\n.light-green-text.text-lighten-5 {\n color: #f1f8e9 !important;\n}\n\n.light-green.lighten-4 {\n background-color: #dcedc8 !important;\n}\n\n.light-green-text.text-lighten-4 {\n color: #dcedc8 !important;\n}\n\n.light-green.lighten-3 {\n background-color: #c5e1a5 !important;\n}\n\n.light-green-text.text-lighten-3 {\n color: #c5e1a5 !important;\n}\n\n.light-green.lighten-2 {\n background-color: #aed581 !important;\n}\n\n.light-green-text.text-lighten-2 {\n color: #aed581 !important;\n}\n\n.light-green.lighten-1 {\n background-color: #9ccc65 !important;\n}\n\n.light-green-text.text-lighten-1 {\n color: #9ccc65 !important;\n}\n\n.light-green {\n background-color: #8bc34a !important;\n}\n\n.light-green-text {\n color: #8bc34a !important;\n}\n\n.light-green.darken-1 {\n background-color: #7cb342 !important;\n}\n\n.light-green-text.text-darken-1 {\n color: #7cb342 !important;\n}\n\n.light-green.darken-2 {\n background-color: #689f38 !important;\n}\n\n.light-green-text.text-darken-2 {\n color: #689f38 !important;\n}\n\n.light-green.darken-3 {\n background-color: #558b2f !important;\n}\n\n.light-green-text.text-darken-3 {\n color: #558b2f !important;\n}\n\n.light-green.darken-4 {\n background-color: #33691e !important;\n}\n\n.light-green-text.text-darken-4 {\n color: #33691e !important;\n}\n\n.light-green.accent-1 {\n background-color: #ccff90 !important;\n}\n\n.light-green-text.text-accent-1 {\n color: #ccff90 !important;\n}\n\n.light-green.accent-2 {\n background-color: #b2ff59 !important;\n}\n\n.light-green-text.text-accent-2 {\n color: #b2ff59 !important;\n}\n\n.light-green.accent-3 {\n background-color: #76ff03 !important;\n}\n\n.light-green-text.text-accent-3 {\n color: #76ff03 !important;\n}\n\n.light-green.accent-4 {\n background-color: #64dd17 !important;\n}\n\n.light-green-text.text-accent-4 {\n color: #64dd17 !important;\n}\n\n.lime.lighten-5 {\n background-color: #f9fbe7 !important;\n}\n\n.lime-text.text-lighten-5 {\n color: #f9fbe7 !important;\n}\n\n.lime.lighten-4 {\n background-color: #f0f4c3 !important;\n}\n\n.lime-text.text-lighten-4 {\n color: #f0f4c3 !important;\n}\n\n.lime.lighten-3 {\n background-color: #e6ee9c !important;\n}\n\n.lime-text.text-lighten-3 {\n color: #e6ee9c !important;\n}\n\n.lime.lighten-2 {\n background-color: #dce775 !important;\n}\n\n.lime-text.text-lighten-2 {\n color: #dce775 !important;\n}\n\n.lime.lighten-1 {\n background-color: #d4e157 !important;\n}\n\n.lime-text.text-lighten-1 {\n color: #d4e157 !important;\n}\n\n.lime {\n background-color: #cddc39 !important;\n}\n\n.lime-text {\n color: #cddc39 !important;\n}\n\n.lime.darken-1 {\n background-color: #c0ca33 !important;\n}\n\n.lime-text.text-darken-1 {\n color: #c0ca33 !important;\n}\n\n.lime.darken-2 {\n background-color: #afb42b !important;\n}\n\n.lime-text.text-darken-2 {\n color: #afb42b !important;\n}\n\n.lime.darken-3 {\n background-color: #9e9d24 !important;\n}\n\n.lime-text.text-darken-3 {\n color: #9e9d24 !important;\n}\n\n.lime.darken-4 {\n background-color: #827717 !important;\n}\n\n.lime-text.text-darken-4 {\n color: #827717 !important;\n}\n\n.lime.accent-1 {\n background-color: #f4ff81 !important;\n}\n\n.lime-text.text-accent-1 {\n color: #f4ff81 !important;\n}\n\n.lime.accent-2 {\n background-color: #eeff41 !important;\n}\n\n.lime-text.text-accent-2 {\n color: #eeff41 !important;\n}\n\n.lime.accent-3 {\n background-color: #c6ff00 !important;\n}\n\n.lime-text.text-accent-3 {\n color: #c6ff00 !important;\n}\n\n.lime.accent-4 {\n background-color: #aeea00 !important;\n}\n\n.lime-text.text-accent-4 {\n color: #aeea00 !important;\n}\n\n.yellow.lighten-5 {\n background-color: #fffde7 !important;\n}\n\n.yellow-text.text-lighten-5 {\n color: #fffde7 !important;\n}\n\n.yellow.lighten-4 {\n background-color: #fff9c4 !important;\n}\n\n.yellow-text.text-lighten-4 {\n color: #fff9c4 !important;\n}\n\n.yellow.lighten-3 {\n background-color: #fff59d !important;\n}\n\n.yellow-text.text-lighten-3 {\n color: #fff59d !important;\n}\n\n.yellow.lighten-2 {\n background-color: #fff176 !important;\n}\n\n.yellow-text.text-lighten-2 {\n color: #fff176 !important;\n}\n\n.yellow.lighten-1 {\n background-color: #ffee58 !important;\n}\n\n.yellow-text.text-lighten-1 {\n color: #ffee58 !important;\n}\n\n.yellow {\n background-color: #ffeb3b !important;\n}\n\n.yellow-text {\n color: #ffeb3b !important;\n}\n\n.yellow.darken-1 {\n background-color: #fdd835 !important;\n}\n\n.yellow-text.text-darken-1 {\n color: #fdd835 !important;\n}\n\n.yellow.darken-2 {\n background-color: #fbc02d !important;\n}\n\n.yellow-text.text-darken-2 {\n color: #fbc02d !important;\n}\n\n.yellow.darken-3 {\n background-color: #f9a825 !important;\n}\n\n.yellow-text.text-darken-3 {\n color: #f9a825 !important;\n}\n\n.yellow.darken-4 {\n background-color: #f57f17 !important;\n}\n\n.yellow-text.text-darken-4 {\n color: #f57f17 !important;\n}\n\n.yellow.accent-1 {\n background-color: #ffff8d !important;\n}\n\n.yellow-text.text-accent-1 {\n color: #ffff8d !important;\n}\n\n.yellow.accent-2 {\n background-color: #ffff00 !important;\n}\n\n.yellow-text.text-accent-2 {\n color: #ffff00 !important;\n}\n\n.yellow.accent-3 {\n background-color: #ffea00 !important;\n}\n\n.yellow-text.text-accent-3 {\n color: #ffea00 !important;\n}\n\n.yellow.accent-4 {\n background-color: #ffd600 !important;\n}\n\n.yellow-text.text-accent-4 {\n color: #ffd600 !important;\n}\n\n.amber.lighten-5 {\n background-color: #fff8e1 !important;\n}\n\n.amber-text.text-lighten-5 {\n color: #fff8e1 !important;\n}\n\n.amber.lighten-4 {\n background-color: #ffecb3 !important;\n}\n\n.amber-text.text-lighten-4 {\n color: #ffecb3 !important;\n}\n\n.amber.lighten-3 {\n background-color: #ffe082 !important;\n}\n\n.amber-text.text-lighten-3 {\n color: #ffe082 !important;\n}\n\n.amber.lighten-2 {\n background-color: #ffd54f !important;\n}\n\n.amber-text.text-lighten-2 {\n color: #ffd54f !important;\n}\n\n.amber.lighten-1 {\n background-color: #ffca28 !important;\n}\n\n.amber-text.text-lighten-1 {\n color: #ffca28 !important;\n}\n\n.amber {\n background-color: #ffc107 !important;\n}\n\n.amber-text {\n color: #ffc107 !important;\n}\n\n.amber.darken-1 {\n background-color: #ffb300 !important;\n}\n\n.amber-text.text-darken-1 {\n color: #ffb300 !important;\n}\n\n.amber.darken-2 {\n background-color: #ffa000 !important;\n}\n\n.amber-text.text-darken-2 {\n color: #ffa000 !important;\n}\n\n.amber.darken-3 {\n background-color: #ff8f00 !important;\n}\n\n.amber-text.text-darken-3 {\n color: #ff8f00 !important;\n}\n\n.amber.darken-4 {\n background-color: #ff6f00 !important;\n}\n\n.amber-text.text-darken-4 {\n color: #ff6f00 !important;\n}\n\n.amber.accent-1 {\n background-color: #ffe57f !important;\n}\n\n.amber-text.text-accent-1 {\n color: #ffe57f !important;\n}\n\n.amber.accent-2 {\n background-color: #ffd740 !important;\n}\n\n.amber-text.text-accent-2 {\n color: #ffd740 !important;\n}\n\n.amber.accent-3 {\n background-color: #ffc400 !important;\n}\n\n.amber-text.text-accent-3 {\n color: #ffc400 !important;\n}\n\n.amber.accent-4 {\n background-color: #ffab00 !important;\n}\n\n.amber-text.text-accent-4 {\n color: #ffab00 !important;\n}\n\n.orange.lighten-5 {\n background-color: #fff3e0 !important;\n}\n\n.orange-text.text-lighten-5 {\n color: #fff3e0 !important;\n}\n\n.orange.lighten-4 {\n background-color: #ffe0b2 !important;\n}\n\n.orange-text.text-lighten-4 {\n color: #ffe0b2 !important;\n}\n\n.orange.lighten-3 {\n background-color: #ffcc80 !important;\n}\n\n.orange-text.text-lighten-3 {\n color: #ffcc80 !important;\n}\n\n.orange.lighten-2 {\n background-color: #ffb74d !important;\n}\n\n.orange-text.text-lighten-2 {\n color: #ffb74d !important;\n}\n\n.orange.lighten-1 {\n background-color: #ffa726 !important;\n}\n\n.orange-text.text-lighten-1 {\n color: #ffa726 !important;\n}\n\n.orange {\n background-color: #ff9800 !important;\n}\n\n.orange-text {\n color: #ff9800 !important;\n}\n\n.orange.darken-1 {\n background-color: #fb8c00 !important;\n}\n\n.orange-text.text-darken-1 {\n color: #fb8c00 !important;\n}\n\n.orange.darken-2 {\n background-color: #f57c00 !important;\n}\n\n.orange-text.text-darken-2 {\n color: #f57c00 !important;\n}\n\n.orange.darken-3 {\n background-color: #ef6c00 !important;\n}\n\n.orange-text.text-darken-3 {\n color: #ef6c00 !important;\n}\n\n.orange.darken-4 {\n background-color: #e65100 !important;\n}\n\n.orange-text.text-darken-4 {\n color: #e65100 !important;\n}\n\n.orange.accent-1 {\n background-color: #ffd180 !important;\n}\n\n.orange-text.text-accent-1 {\n color: #ffd180 !important;\n}\n\n.orange.accent-2 {\n background-color: #ffab40 !important;\n}\n\n.orange-text.text-accent-2 {\n color: #ffab40 !important;\n}\n\n.orange.accent-3 {\n background-color: #ff9100 !important;\n}\n\n.orange-text.text-accent-3 {\n color: #ff9100 !important;\n}\n\n.orange.accent-4 {\n background-color: #ff6d00 !important;\n}\n\n.orange-text.text-accent-4 {\n color: #ff6d00 !important;\n}\n\n.deep-orange.lighten-5 {\n background-color: #fbe9e7 !important;\n}\n\n.deep-orange-text.text-lighten-5 {\n color: #fbe9e7 !important;\n}\n\n.deep-orange.lighten-4 {\n background-color: #ffccbc !important;\n}\n\n.deep-orange-text.text-lighten-4 {\n color: #ffccbc !important;\n}\n\n.deep-orange.lighten-3 {\n background-color: #ffab91 !important;\n}\n\n.deep-orange-text.text-lighten-3 {\n color: #ffab91 !important;\n}\n\n.deep-orange.lighten-2 {\n background-color: #ff8a65 !important;\n}\n\n.deep-orange-text.text-lighten-2 {\n color: #ff8a65 !important;\n}\n\n.deep-orange.lighten-1 {\n background-color: #ff7043 !important;\n}\n\n.deep-orange-text.text-lighten-1 {\n color: #ff7043 !important;\n}\n\n.deep-orange {\n background-color: #ff5722 !important;\n}\n\n.deep-orange-text {\n color: #ff5722 !important;\n}\n\n.deep-orange.darken-1 {\n background-color: #f4511e !important;\n}\n\n.deep-orange-text.text-darken-1 {\n color: #f4511e !important;\n}\n\n.deep-orange.darken-2 {\n background-color: #e64a19 !important;\n}\n\n.deep-orange-text.text-darken-2 {\n color: #e64a19 !important;\n}\n\n.deep-orange.darken-3 {\n background-color: #d84315 !important;\n}\n\n.deep-orange-text.text-darken-3 {\n color: #d84315 !important;\n}\n\n.deep-orange.darken-4 {\n background-color: #bf360c !important;\n}\n\n.deep-orange-text.text-darken-4 {\n color: #bf360c !important;\n}\n\n.deep-orange.accent-1 {\n background-color: #ff9e80 !important;\n}\n\n.deep-orange-text.text-accent-1 {\n color: #ff9e80 !important;\n}\n\n.deep-orange.accent-2 {\n background-color: #ff6e40 !important;\n}\n\n.deep-orange-text.text-accent-2 {\n color: #ff6e40 !important;\n}\n\n.deep-orange.accent-3 {\n background-color: #ff3d00 !important;\n}\n\n.deep-orange-text.text-accent-3 {\n color: #ff3d00 !important;\n}\n\n.deep-orange.accent-4 {\n background-color: #dd2c00 !important;\n}\n\n.deep-orange-text.text-accent-4 {\n color: #dd2c00 !important;\n}\n\n.brown.lighten-5 {\n background-color: #efebe9 !important;\n}\n\n.brown-text.text-lighten-5 {\n color: #efebe9 !important;\n}\n\n.brown.lighten-4 {\n background-color: #d7ccc8 !important;\n}\n\n.brown-text.text-lighten-4 {\n color: #d7ccc8 !important;\n}\n\n.brown.lighten-3 {\n background-color: #bcaaa4 !important;\n}\n\n.brown-text.text-lighten-3 {\n color: #bcaaa4 !important;\n}\n\n.brown.lighten-2 {\n background-color: #a1887f !important;\n}\n\n.brown-text.text-lighten-2 {\n color: #a1887f !important;\n}\n\n.brown.lighten-1 {\n background-color: #8d6e63 !important;\n}\n\n.brown-text.text-lighten-1 {\n color: #8d6e63 !important;\n}\n\n.brown {\n background-color: #795548 !important;\n}\n\n.brown-text {\n color: #795548 !important;\n}\n\n.brown.darken-1 {\n background-color: #6d4c41 !important;\n}\n\n.brown-text.text-darken-1 {\n color: #6d4c41 !important;\n}\n\n.brown.darken-2 {\n background-color: #5d4037 !important;\n}\n\n.brown-text.text-darken-2 {\n color: #5d4037 !important;\n}\n\n.brown.darken-3 {\n background-color: #4e342e !important;\n}\n\n.brown-text.text-darken-3 {\n color: #4e342e !important;\n}\n\n.brown.darken-4 {\n background-color: #3e2723 !important;\n}\n\n.brown-text.text-darken-4 {\n color: #3e2723 !important;\n}\n\n.blue-grey.lighten-5 {\n background-color: #eceff1 !important;\n}\n\n.blue-grey-text.text-lighten-5 {\n color: #eceff1 !important;\n}\n\n.blue-grey.lighten-4 {\n background-color: #cfd8dc !important;\n}\n\n.blue-grey-text.text-lighten-4 {\n color: #cfd8dc !important;\n}\n\n.blue-grey.lighten-3 {\n background-color: #b0bec5 !important;\n}\n\n.blue-grey-text.text-lighten-3 {\n color: #b0bec5 !important;\n}\n\n.blue-grey.lighten-2 {\n background-color: #90a4ae !important;\n}\n\n.blue-grey-text.text-lighten-2 {\n color: #90a4ae !important;\n}\n\n.blue-grey.lighten-1 {\n background-color: #78909c !important;\n}\n\n.blue-grey-text.text-lighten-1 {\n color: #78909c !important;\n}\n\n.blue-grey {\n background-color: #607d8b !important;\n}\n\n.blue-grey-text {\n color: #607d8b !important;\n}\n\n.blue-grey.darken-1 {\n background-color: #546e7a !important;\n}\n\n.blue-grey-text.text-darken-1 {\n color: #546e7a !important;\n}\n\n.blue-grey.darken-2 {\n background-color: #455a64 !important;\n}\n\n.blue-grey-text.text-darken-2 {\n color: #455a64 !important;\n}\n\n.blue-grey.darken-3 {\n background-color: #37474f !important;\n}\n\n.blue-grey-text.text-darken-3 {\n color: #37474f !important;\n}\n\n.blue-grey.darken-4 {\n background-color: #263238 !important;\n}\n\n.blue-grey-text.text-darken-4 {\n color: #263238 !important;\n}\n\n.grey.lighten-5 {\n background-color: #fafafa !important;\n}\n\n.grey-text.text-lighten-5 {\n color: #fafafa !important;\n}\n\n.grey.lighten-4 {\n background-color: #f5f5f5 !important;\n}\n\n.grey-text.text-lighten-4 {\n color: #f5f5f5 !important;\n}\n\n.grey.lighten-3 {\n background-color: #eeeeee !important;\n}\n\n.grey-text.text-lighten-3 {\n color: #eeeeee !important;\n}\n\n.grey.lighten-2 {\n background-color: #e0e0e0 !important;\n}\n\n.grey-text.text-lighten-2 {\n color: #e0e0e0 !important;\n}\n\n.grey.lighten-1 {\n background-color: #bdbdbd !important;\n}\n\n.grey-text.text-lighten-1 {\n color: #bdbdbd !important;\n}\n\n.grey {\n background-color: #9e9e9e !important;\n}\n\n.grey-text {\n color: #9e9e9e !important;\n}\n\n.grey.darken-1 {\n background-color: #757575 !important;\n}\n\n.grey-text.text-darken-1 {\n color: #757575 !important;\n}\n\n.grey.darken-2 {\n background-color: #616161 !important;\n}\n\n.grey-text.text-darken-2 {\n color: #616161 !important;\n}\n\n.grey.darken-3 {\n background-color: #424242 !important;\n}\n\n.grey-text.text-darken-3 {\n color: #424242 !important;\n}\n\n.grey.darken-4 {\n background-color: #212121 !important;\n}\n\n.grey-text.text-darken-4 {\n color: #212121 !important;\n}\n\n.shades.black {\n background-color: #000000 !important;\n}\n\n.shades-text.text-black {\n color: #000000 !important;\n}\n\n.shades.white {\n background-color: #FFFFFF !important;\n}\n\n.shades-text.text-white {\n color: #FFFFFF !important;\n}\n\n.shades.transparent {\n background-color: transparent !important;\n}\n\n.shades-text.text-transparent {\n color: transparent !important;\n}\n\n.black {\n background-color: #000000 !important;\n}\n\n.black-text {\n color: #000000 !important;\n}\n\n.white {\n background-color: #FFFFFF !important;\n}\n\n.white-text {\n color: #FFFFFF !important;\n}\n\n.transparent {\n background-color: transparent !important;\n}\n\n.transparent-text {\n color: transparent !important;\n}\n\n/*** Colors ***/\n/*** Badges ***/\n/*** Buttons ***/\n/*** Cards ***/\n/*** Collapsible ***/\n/*** Chips ***/\n/*** Date Picker ***/\n/*** Dropdown ***/\n/*** Fonts ***/\n/*** Forms ***/\n/*** Global ***/\n/*** Navbar ***/\n/*** SideNav ***/\n/*** Photo Slider ***/\n/*** Spinners | Loaders ***/\n/*** Tabs ***/\n/*** Tables ***/\n/*** Toasts ***/\n/*** Typography ***/\n/*** Collections ***/\n/* Progress Bar */\n/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n/* 1 */\nhtml input[type=\"button\"],\nbutton,\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*, *:before, *:after {\n box-sizing: inherit;\n}\n\nul {\n list-style-type: none;\n}\n\na {\n color: #039be5;\n text-decoration: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.valign-wrapper {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.valign-wrapper .valign {\n display: block;\n}\n\nul {\n padding: 0;\n}\n\nul li {\n list-style-type: none;\n}\n\n.clearfix {\n clear: both;\n}\n\n.z-depth-0 {\n box-shadow: none !important;\n}\n\n.z-depth-1, nav, .card-panel, .card, .toast, .btn, .btn-large, .btn-floating, .dropdown-content, .collapsible, .side-nav {\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n}\n\n.z-depth-1-half, .btn:hover, .btn-large:hover, .btn-floating:hover {\n box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\n}\n\n.z-depth-2 {\n box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n\n.z-depth-3 {\n box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);\n}\n\n.z-depth-4, .modal {\n box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);\n}\n\n.z-depth-5 {\n box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);\n}\n\n.hoverable {\n transition: box-shadow .25s;\n box-shadow: 0;\n}\n\n.hoverable:hover {\n transition: box-shadow .25s;\n box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n\n.divider {\n height: 1px;\n overflow: hidden;\n background-color: #e0e0e0;\n}\n\nblockquote {\n margin: 20px 0;\n padding-left: 1.5rem;\n border-left: 5px solid #ee6e73;\n}\n\ni {\n line-height: inherit;\n}\n\ni.left {\n float: left;\n margin-right: 15px;\n}\n\ni.right {\n float: right;\n margin-left: 15px;\n}\n\ni.tiny {\n font-size: 1rem;\n}\n\ni.small {\n font-size: 2rem;\n}\n\ni.medium {\n font-size: 4rem;\n}\n\ni.large {\n font-size: 6rem;\n}\n\nimg.responsive-img,\nvideo.responsive-video {\n max-width: 100%;\n height: auto;\n}\n\n.pagination li {\n display: inline-block;\n font-size: 1.2rem;\n padding: 0 10px;\n line-height: 30px;\n border-radius: 2px;\n text-align: center;\n}\n\n.pagination li a {\n color: #444;\n}\n\n.pagination li.active a {\n color: #fff;\n}\n\n.pagination li.active {\n background-color: #ee6e73;\n}\n\n.pagination li.disabled a {\n cursor: default;\n color: #999;\n}\n\n.pagination li i {\n font-size: 2.2rem;\n vertical-align: middle;\n}\n\n.pagination li.pages ul li {\n display: inline-block;\n float: none;\n}\n\n@media only screen and (max-width: 992px) {\n .pagination {\n width: 100%;\n }\n .pagination li.prev,\n .pagination li.next {\n width: 10%;\n }\n .pagination li.pages {\n width: 80%;\n overflow: hidden;\n white-space: nowrap;\n }\n}\n\n.breadcrumb {\n font-size: 18px;\n color: rgba(255, 255, 255, 0.7);\n}\n\n.breadcrumb i,\n.breadcrumb [class^=\"mdi-\"], .breadcrumb [class*=\"mdi-\"],\n.breadcrumb i.material-icons {\n display: inline-block;\n float: left;\n font-size: 24px;\n}\n\n.breadcrumb:before {\n content: '\\E5CC';\n color: rgba(255, 255, 255, 0.7);\n vertical-align: top;\n display: inline-block;\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 25px;\n margin: 0 10px 0 8px;\n -webkit-font-smoothing: antialiased;\n}\n\n.breadcrumb:first-child:before {\n display: none;\n}\n\n.breadcrumb:last-child {\n color: #fff;\n}\n\n.parallax-container {\n position: relative;\n overflow: hidden;\n height: 500px;\n}\n\n.parallax {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n}\n\n.parallax img {\n display: none;\n position: absolute;\n left: 50%;\n bottom: 0;\n min-width: 100%;\n min-height: 100%;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n}\n\n.pin-top, .pin-bottom {\n position: relative;\n}\n\n.pinned {\n position: fixed !important;\n}\n\n/*********************\n Transition Classes\n**********************/\nul.staggered-list li {\n opacity: 0;\n}\n\n.fade-in {\n opacity: 0;\n -webkit-transform-origin: 0 50%;\n transform-origin: 0 50%;\n}\n\n/*********************\n Media Query Classes\n**********************/\n@media only screen and (max-width: 600px) {\n .hide-on-small-only, .hide-on-small-and-down {\n display: none !important;\n }\n}\n\n@media only screen and (max-width: 992px) {\n .hide-on-med-and-down {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 601px) {\n .hide-on-med-and-up {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 600px) and (max-width: 992px) {\n .hide-on-med-only {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .hide-on-large-only {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .show-on-large {\n display: block !important;\n }\n}\n\n@media only screen and (min-width: 600px) and (max-width: 992px) {\n .show-on-medium {\n display: block !important;\n }\n}\n\n@media only screen and (max-width: 600px) {\n .show-on-small {\n display: block !important;\n }\n}\n\n@media only screen and (min-width: 601px) {\n .show-on-medium-and-up {\n display: block !important;\n }\n}\n\n@media only screen and (max-width: 992px) {\n .show-on-medium-and-down {\n display: block !important;\n }\n}\n\n@media only screen and (max-width: 600px) {\n .center-on-small-only {\n text-align: center;\n }\n}\n\nfooter.page-footer {\n margin-top: 20px;\n padding-top: 20px;\n background-color: #ee6e73;\n}\n\nfooter.page-footer .footer-copyright {\n overflow: hidden;\n height: 50px;\n line-height: 50px;\n color: rgba(255, 255, 255, 0.8);\n background-color: rgba(51, 51, 51, 0.08);\n}\n\ntable, th, td {\n border: none;\n}\n\ntable {\n width: 100%;\n display: table;\n}\n\ntable.bordered > thead > tr,\ntable.bordered > tbody > tr {\n border-bottom: 1px solid #d0d0d0;\n}\n\ntable.striped > tbody > tr:nth-child(odd) {\n background-color: #f2f2f2;\n}\n\ntable.striped > tbody > tr > td {\n border-radius: 0px;\n}\n\ntable.highlight > tbody > tr {\n transition: background-color .25s ease;\n}\n\ntable.highlight > tbody > tr:hover {\n background-color: #f2f2f2;\n}\n\ntable.centered thead tr th, table.centered tbody tr td {\n text-align: center;\n}\n\nthead {\n border-bottom: 1px solid #d0d0d0;\n}\n\ntd, th {\n padding: 15px 5px;\n display: table-cell;\n text-align: left;\n vertical-align: middle;\n border-radius: 2px;\n}\n\n@media only screen and (max-width: 992px) {\n table.responsive-table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n display: block;\n position: relative;\n /* sort out borders */\n }\n table.responsive-table th,\n table.responsive-table td {\n margin: 0;\n vertical-align: top;\n }\n table.responsive-table th {\n text-align: left;\n }\n table.responsive-table thead {\n display: block;\n float: left;\n }\n table.responsive-table thead tr {\n display: block;\n padding: 0 10px 0 0;\n }\n table.responsive-table thead tr th::before {\n content: \"\\00a0\";\n }\n table.responsive-table tbody {\n display: block;\n width: auto;\n position: relative;\n overflow-x: auto;\n white-space: nowrap;\n }\n table.responsive-table tbody tr {\n display: inline-block;\n vertical-align: top;\n }\n table.responsive-table th {\n display: block;\n text-align: right;\n }\n table.responsive-table td {\n display: block;\n min-height: 1.25em;\n text-align: left;\n }\n table.responsive-table tr {\n padding: 0 10px;\n }\n table.responsive-table thead {\n border: 0;\n border-right: 1px solid #d0d0d0;\n }\n table.responsive-table.bordered th {\n border-bottom: 0;\n border-left: 0;\n }\n table.responsive-table.bordered td {\n border-left: 0;\n border-right: 0;\n border-bottom: 0;\n }\n table.responsive-table.bordered tr {\n border: 0;\n }\n table.responsive-table.bordered tbody tr {\n border-right: 1px solid #d0d0d0;\n }\n}\n\n.collection {\n margin: 0.5rem 0 1rem 0;\n border: 1px solid #e0e0e0;\n border-radius: 2px;\n overflow: hidden;\n position: relative;\n}\n\n.collection .collection-item {\n background-color: #fff;\n line-height: 1.5rem;\n padding: 10px 20px;\n margin: 0;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.collection .collection-item.avatar {\n min-height: 84px;\n padding-left: 72px;\n position: relative;\n}\n\n.collection .collection-item.avatar .circle {\n position: absolute;\n width: 42px;\n height: 42px;\n overflow: hidden;\n left: 15px;\n display: inline-block;\n vertical-align: middle;\n}\n\n.collection .collection-item.avatar i.circle {\n font-size: 18px;\n line-height: 42px;\n color: #fff;\n background-color: #999;\n text-align: center;\n}\n\n.collection .collection-item.avatar .title {\n font-size: 16px;\n}\n\n.collection .collection-item.avatar p {\n margin: 0;\n}\n\n.collection .collection-item.avatar .secondary-content {\n position: absolute;\n top: 16px;\n right: 16px;\n}\n\n.collection .collection-item:last-child {\n border-bottom: none;\n}\n\n.collection .collection-item.active {\n background-color: #26a69a;\n color: #eafaf9;\n}\n\n.collection .collection-item.active .secondary-content {\n color: #fff;\n}\n\n.collection a.collection-item {\n display: block;\n transition: .25s;\n color: #26a69a;\n}\n\n.collection a.collection-item:not(.active):hover {\n background-color: #ddd;\n}\n\n.collection.with-header .collection-header {\n background-color: #fff;\n border-bottom: 1px solid #e0e0e0;\n padding: 10px 20px;\n}\n\n.collection.with-header .collection-item {\n padding-left: 30px;\n}\n\n.collection.with-header .collection-item.avatar {\n padding-left: 72px;\n}\n\n.secondary-content {\n float: right;\n color: #26a69a;\n}\n\n.collapsible .collection {\n margin: 0;\n border: none;\n}\n\nspan.badge {\n min-width: 3rem;\n padding: 0 6px;\n text-align: center;\n font-size: 1rem;\n line-height: inherit;\n color: #757575;\n position: absolute;\n right: 15px;\n box-sizing: border-box;\n}\n\nspan.badge.new {\n font-weight: 300;\n font-size: 0.8rem;\n color: #fff;\n background-color: #26a69a;\n border-radius: 2px;\n}\n\nspan.badge.new:after {\n content: \" new\";\n}\n\nnav ul a span.badge {\n position: static;\n margin-left: 4px;\n line-height: 0;\n}\n\n.video-container {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n overflow: hidden;\n}\n\n.video-container iframe, .video-container object, .video-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.progress {\n position: relative;\n height: 4px;\n display: block;\n width: 100%;\n background-color: #acece6;\n border-radius: 2px;\n margin: 0.5rem 0 1rem 0;\n overflow: hidden;\n}\n\n.progress .determinate {\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n background-color: #26a69a;\n transition: width .3s linear;\n}\n\n.progress .indeterminate {\n background-color: #26a69a;\n}\n\n.progress .indeterminate:before {\n content: '';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, right;\n -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n}\n\n.progress .indeterminate:after {\n content: '';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, right;\n -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;\n animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;\n -webkit-animation-delay: 1.15s;\n animation-delay: 1.15s;\n}\n\n@-webkit-keyframes indeterminate {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes indeterminate {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@-webkit-keyframes indeterminate-short {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n}\n\n@keyframes indeterminate-short {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n}\n\n/*******************\n Utility Classes\n*******************/\n.hide {\n display: none !important;\n}\n\n.left-align {\n text-align: left;\n}\n\n.right-align {\n text-align: right;\n}\n\n.center, .center-align {\n text-align: center;\n}\n\n.left {\n float: left !important;\n}\n\n.right {\n float: right !important;\n}\n\n.no-select, input[type=range], input[type=range] + .thumb {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.circle {\n border-radius: 50%;\n}\n\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.truncate {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.no-padding {\n padding: 0 !important;\n}\n\n/* This is needed for some mobile phones to display the Google Icon font properly */\n.material-icons {\n text-rendering: optimizeLegibility;\n -webkit-font-feature-settings: 'liga';\n -moz-font-feature-settings: 'liga';\n font-feature-settings: 'liga';\n}\n\n@font-face {\n font-family: \"Material-Design-Icons\";\n src: url(\"../font/material-design-icons/Material-Design-Icons.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/material-design-icons/Material-Design-Icons.woff2\") format(\"woff2\"), url(\"../font/material-design-icons/Material-Design-Icons.woff\") format(\"woff\"), url(\"../font/material-design-icons/Material-Design-Icons.ttf\") format(\"truetype\"), url(\"../font/material-design-icons/Material-Design-Icons.svg#Material-Design-Icons\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n[class^=\"mdi-\"], [class*=\"mdi-\"] {\n speak: none;\n display: inline-block;\n font-family: \"Material-Design-Icons\";\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-rendering: auto;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n\n[class^=\"mdi-\"]:before, [class*=\"mdi-\"]:before {\n display: inline-block;\n speak: none;\n text-decoration: inherit;\n}\n\n[class^=\"mdi-\"].pull-left, [class*=\"mdi-\"].pull-left {\n margin-right: .3em;\n}\n\n[class^=\"mdi-\"].pull-right, [class*=\"mdi-\"].pull-right {\n margin-left: .3em;\n}\n\n[class^=\"mdi-\"].mdi-lg:before, [class^=\"mdi-\"].mdi-lg:after, [class*=\"mdi-\"].mdi-lg:before, [class*=\"mdi-\"].mdi-lg:after {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n\n[class^=\"mdi-\"].mdi-2x:before, [class^=\"mdi-\"].mdi-2x:after, [class*=\"mdi-\"].mdi-2x:before, [class*=\"mdi-\"].mdi-2x:after {\n font-size: 2em;\n}\n\n[class^=\"mdi-\"].mdi-3x:before, [class^=\"mdi-\"].mdi-3x:after, [class*=\"mdi-\"].mdi-3x:before, [class*=\"mdi-\"].mdi-3x:after {\n font-size: 3em;\n}\n\n[class^=\"mdi-\"].mdi-4x:before, [class^=\"mdi-\"].mdi-4x:after, [class*=\"mdi-\"].mdi-4x:before, [class*=\"mdi-\"].mdi-4x:after {\n font-size: 4em;\n}\n\n[class^=\"mdi-\"].mdi-5x:before, [class^=\"mdi-\"].mdi-5x:after, [class*=\"mdi-\"].mdi-5x:before, [class*=\"mdi-\"].mdi-5x:after {\n font-size: 5em;\n}\n\n[class^=\"mdi-device-signal-cellular-\"]:after,\n[class^=\"mdi-device-battery-\"]:after,\n[class^=\"mdi-device-battery-charging-\"]:after,\n[class^=\"mdi-device-signal-cellular-connected-no-internet-\"]:after,\n[class^=\"mdi-device-signal-wifi-\"]:after,\n[class^=\"mdi-device-signal-wifi-statusbar-not-connected\"]:after,\n.mdi-device-network-wifi:after {\n opacity: .3;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n display: inline-block;\n speak: none;\n text-decoration: inherit;\n}\n\n[class^=\"mdi-device-signal-cellular-\"]:after {\n content: \"\\e758\";\n}\n\n[class^=\"mdi-device-battery-\"]:after {\n content: \"\\e735\";\n}\n\n[class^=\"mdi-device-battery-charging-\"]:after {\n content: \"\\e733\";\n}\n\n[class^=\"mdi-device-signal-cellular-connected-no-internet-\"]:after {\n content: \"\\e75d\";\n}\n\n[class^=\"mdi-device-signal-wifi-\"]:after, .mdi-device-network-wifi:after {\n content: \"\\e765\";\n}\n\n[class^=\"mdi-device-signal-wifi-statusbasr-not-connected\"]:after {\n content: \"\\e8f7\";\n}\n\n.mdi-device-signal-cellular-off:after, .mdi-device-signal-cellular-null:after, .mdi-device-signal-cellular-no-sim:after, .mdi-device-signal-wifi-off:after, .mdi-device-signal-wifi-4-bar:after, .mdi-device-signal-cellular-4-bar:after, .mdi-device-battery-alert:after, .mdi-device-signal-cellular-connected-no-internet-4-bar:after, .mdi-device-battery-std:after, .mdi-device-battery-full .mdi-device-battery-unknown:after {\n content: \"\";\n}\n\n.mdi-fw {\n width: 1.28571429em;\n text-align: center;\n}\n\n.mdi-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n\n.mdi-ul > li {\n position: relative;\n}\n\n.mdi-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n\n.mdi-li.mdi-lg {\n left: -1.85714286em;\n}\n\n.mdi-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eeeeee;\n border-radius: .1em;\n}\n\n.mdi-spin {\n -webkit-animation: mdi-spin 2s infinite linear;\n animation: mdi-spin 2s infinite linear;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n}\n\n.mdi-pulse {\n -webkit-animation: mdi-spin 1s steps(8) infinite;\n animation: mdi-spin 1s steps(8) infinite;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n}\n\n@-webkit-keyframes mdi-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes mdi-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.mdi-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.mdi-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.mdi-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.mdi-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.mdi-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n:root .mdi-rotate-90,\n:root .mdi-rotate-180,\n:root .mdi-rotate-270,\n:root .mdi-flip-horizontal,\n:root .mdi-flip-vertical {\n -webkit-filter: none;\n filter: none;\n}\n\n.mdi-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.mdi-stack-1x,\n.mdi-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.mdi-stack-1x {\n line-height: inherit;\n}\n\n.mdi-stack-2x {\n font-size: 2em;\n}\n\n.mdi-inverse {\n color: #ffffff;\n}\n\n/* Start Icons */\n.mdi-action-3d-rotation:before {\n content: \"\\e600\";\n}\n\n.mdi-action-accessibility:before {\n content: \"\\e601\";\n}\n\n.mdi-action-account-balance-wallet:before {\n content: \"\\e602\";\n}\n\n.mdi-action-account-balance:before {\n content: \"\\e603\";\n}\n\n.mdi-action-account-box:before {\n content: \"\\e604\";\n}\n\n.mdi-action-account-child:before {\n content: \"\\e605\";\n}\n\n.mdi-action-account-circle:before {\n content: \"\\e606\";\n}\n\n.mdi-action-add-shopping-cart:before {\n content: \"\\e607\";\n}\n\n.mdi-action-alarm-add:before {\n content: \"\\e608\";\n}\n\n.mdi-action-alarm-off:before {\n content: \"\\e609\";\n}\n\n.mdi-action-alarm-on:before {\n content: \"\\e60a\";\n}\n\n.mdi-action-alarm:before {\n content: \"\\e60b\";\n}\n\n.mdi-action-android:before {\n content: \"\\e60c\";\n}\n\n.mdi-action-announcement:before {\n content: \"\\e60d\";\n}\n\n.mdi-action-aspect-ratio:before {\n content: \"\\e60e\";\n}\n\n.mdi-action-assessment:before {\n content: \"\\e60f\";\n}\n\n.mdi-action-assignment-ind:before {\n content: \"\\e610\";\n}\n\n.mdi-action-assignment-late:before {\n content: \"\\e611\";\n}\n\n.mdi-action-assignment-return:before {\n content: \"\\e612\";\n}\n\n.mdi-action-assignment-returned:before {\n content: \"\\e613\";\n}\n\n.mdi-action-assignment-turned-in:before {\n content: \"\\e614\";\n}\n\n.mdi-action-assignment:before {\n content: \"\\e615\";\n}\n\n.mdi-action-autorenew:before {\n content: \"\\e616\";\n}\n\n.mdi-action-backup:before {\n content: \"\\e617\";\n}\n\n.mdi-action-book:before {\n content: \"\\e618\";\n}\n\n.mdi-action-bookmark-outline:before {\n content: \"\\e619\";\n}\n\n.mdi-action-bookmark:before {\n content: \"\\e61a\";\n}\n\n.mdi-action-bug-report:before {\n content: \"\\e61b\";\n}\n\n.mdi-action-cached:before {\n content: \"\\e61c\";\n}\n\n.mdi-action-check-circle:before {\n content: \"\\e61d\";\n}\n\n.mdi-action-class:before {\n content: \"\\e61e\";\n}\n\n.mdi-action-credit-card:before {\n content: \"\\e61f\";\n}\n\n.mdi-action-dashboard:before {\n content: \"\\e620\";\n}\n\n.mdi-action-delete:before {\n content: \"\\e621\";\n}\n\n.mdi-action-description:before {\n content: \"\\e622\";\n}\n\n.mdi-action-dns:before {\n content: \"\\e623\";\n}\n\n.mdi-action-done-all:before {\n content: \"\\e624\";\n}\n\n.mdi-action-done:before {\n content: \"\\e625\";\n}\n\n.mdi-action-event:before {\n content: \"\\e626\";\n}\n\n.mdi-action-exit-to-app:before {\n content: \"\\e627\";\n}\n\n.mdi-action-explore:before {\n content: \"\\e628\";\n}\n\n.mdi-action-extension:before {\n content: \"\\e629\";\n}\n\n.mdi-action-face-unlock:before {\n content: \"\\e62a\";\n}\n\n.mdi-action-favorite-outline:before {\n content: \"\\e62b\";\n}\n\n.mdi-action-favorite:before {\n content: \"\\e62c\";\n}\n\n.mdi-action-find-in-page:before {\n content: \"\\e62d\";\n}\n\n.mdi-action-find-replace:before {\n content: \"\\e62e\";\n}\n\n.mdi-action-flip-to-back:before {\n content: \"\\e62f\";\n}\n\n.mdi-action-flip-to-front:before {\n content: \"\\e630\";\n}\n\n.mdi-action-get-app:before {\n content: \"\\e631\";\n}\n\n.mdi-action-grade:before {\n content: \"\\e632\";\n}\n\n.mdi-action-group-work:before {\n content: \"\\e633\";\n}\n\n.mdi-action-help:before {\n content: \"\\e634\";\n}\n\n.mdi-action-highlight-remove:before {\n content: \"\\e635\";\n}\n\n.mdi-action-history:before {\n content: \"\\e636\";\n}\n\n.mdi-action-home:before {\n content: \"\\e637\";\n}\n\n.mdi-action-https:before {\n content: \"\\e638\";\n}\n\n.mdi-action-info-outline:before {\n content: \"\\e639\";\n}\n\n.mdi-action-info:before {\n content: \"\\e63a\";\n}\n\n.mdi-action-input:before {\n content: \"\\e63b\";\n}\n\n.mdi-action-invert-colors:before {\n content: \"\\e63c\";\n}\n\n.mdi-action-label-outline:before {\n content: \"\\e63d\";\n}\n\n.mdi-action-label:before {\n content: \"\\e63e\";\n}\n\n.mdi-action-language:before {\n content: \"\\e63f\";\n}\n\n.mdi-action-launch:before {\n content: \"\\e640\";\n}\n\n.mdi-action-list:before {\n content: \"\\e641\";\n}\n\n.mdi-action-lock-open:before {\n content: \"\\e642\";\n}\n\n.mdi-action-lock-outline:before {\n content: \"\\e643\";\n}\n\n.mdi-action-lock:before {\n content: \"\\e644\";\n}\n\n.mdi-action-loyalty:before {\n content: \"\\e645\";\n}\n\n.mdi-action-markunread-mailbox:before {\n content: \"\\e646\";\n}\n\n.mdi-action-note-add:before {\n content: \"\\e647\";\n}\n\n.mdi-action-open-in-browser:before {\n content: \"\\e648\";\n}\n\n.mdi-action-open-in-new:before {\n content: \"\\e649\";\n}\n\n.mdi-action-open-with:before {\n content: \"\\e64a\";\n}\n\n.mdi-action-pageview:before {\n content: \"\\e64b\";\n}\n\n.mdi-action-payment:before {\n content: \"\\e64c\";\n}\n\n.mdi-action-perm-camera-mic:before {\n content: \"\\e64d\";\n}\n\n.mdi-action-perm-contact-cal:before {\n content: \"\\e64e\";\n}\n\n.mdi-action-perm-data-setting:before {\n content: \"\\e64f\";\n}\n\n.mdi-action-perm-device-info:before {\n content: \"\\e650\";\n}\n\n.mdi-action-perm-identity:before {\n content: \"\\e651\";\n}\n\n.mdi-action-perm-media:before {\n content: \"\\e652\";\n}\n\n.mdi-action-perm-phone-msg:before {\n content: \"\\e653\";\n}\n\n.mdi-action-perm-scan-wifi:before {\n content: \"\\e654\";\n}\n\n.mdi-action-picture-in-picture:before {\n content: \"\\e655\";\n}\n\n.mdi-action-polymer:before {\n content: \"\\e656\";\n}\n\n.mdi-action-print:before {\n content: \"\\e657\";\n}\n\n.mdi-action-query-builder:before {\n content: \"\\e658\";\n}\n\n.mdi-action-question-answer:before {\n content: \"\\e659\";\n}\n\n.mdi-action-receipt:before {\n content: \"\\e65a\";\n}\n\n.mdi-action-redeem:before {\n content: \"\\e65b\";\n}\n\n.mdi-action-reorder:before {\n content: \"\\e65c\";\n}\n\n.mdi-action-report-problem:before {\n content: \"\\e65d\";\n}\n\n.mdi-action-restore:before {\n content: \"\\e65e\";\n}\n\n.mdi-action-room:before {\n content: \"\\e65f\";\n}\n\n.mdi-action-schedule:before {\n content: \"\\e660\";\n}\n\n.mdi-action-search:before {\n content: \"\\e661\";\n}\n\n.mdi-action-settings-applications:before {\n content: \"\\e662\";\n}\n\n.mdi-action-settings-backup-restore:before {\n content: \"\\e663\";\n}\n\n.mdi-action-settings-bluetooth:before {\n content: \"\\e664\";\n}\n\n.mdi-action-settings-cell:before {\n content: \"\\e665\";\n}\n\n.mdi-action-settings-display:before {\n content: \"\\e666\";\n}\n\n.mdi-action-settings-ethernet:before {\n content: \"\\e667\";\n}\n\n.mdi-action-settings-input-antenna:before {\n content: \"\\e668\";\n}\n\n.mdi-action-settings-input-component:before {\n content: \"\\e669\";\n}\n\n.mdi-action-settings-input-composite:before {\n content: \"\\e66a\";\n}\n\n.mdi-action-settings-input-hdmi:before {\n content: \"\\e66b\";\n}\n\n.mdi-action-settings-input-svideo:before {\n content: \"\\e66c\";\n}\n\n.mdi-action-settings-overscan:before {\n content: \"\\e66d\";\n}\n\n.mdi-action-settings-phone:before {\n content: \"\\e66e\";\n}\n\n.mdi-action-settings-power:before {\n content: \"\\e66f\";\n}\n\n.mdi-action-settings-remote:before {\n content: \"\\e670\";\n}\n\n.mdi-action-settings-voice:before {\n content: \"\\e671\";\n}\n\n.mdi-action-settings:before {\n content: \"\\e672\";\n}\n\n.mdi-action-shop-two:before {\n content: \"\\e673\";\n}\n\n.mdi-action-shop:before {\n content: \"\\e674\";\n}\n\n.mdi-action-shopping-basket:before {\n content: \"\\e675\";\n}\n\n.mdi-action-shopping-cart:before {\n content: \"\\e676\";\n}\n\n.mdi-action-speaker-notes:before {\n content: \"\\e677\";\n}\n\n.mdi-action-spellcheck:before {\n content: \"\\e678\";\n}\n\n.mdi-action-star-rate:before {\n content: \"\\e679\";\n}\n\n.mdi-action-stars:before {\n content: \"\\e67a\";\n}\n\n.mdi-action-store:before {\n content: \"\\e67b\";\n}\n\n.mdi-action-subject:before {\n content: \"\\e67c\";\n}\n\n.mdi-action-supervisor-account:before {\n content: \"\\e67d\";\n}\n\n.mdi-action-swap-horiz:before {\n content: \"\\e67e\";\n}\n\n.mdi-action-swap-vert-circle:before {\n content: \"\\e67f\";\n}\n\n.mdi-action-swap-vert:before {\n content: \"\\e680\";\n}\n\n.mdi-action-system-update-tv:before {\n content: \"\\e681\";\n}\n\n.mdi-action-tab-unselected:before {\n content: \"\\e682\";\n}\n\n.mdi-action-tab:before {\n content: \"\\e683\";\n}\n\n.mdi-action-theaters:before {\n content: \"\\e684\";\n}\n\n.mdi-action-thumb-down:before {\n content: \"\\e685\";\n}\n\n.mdi-action-thumb-up:before {\n content: \"\\e686\";\n}\n\n.mdi-action-thumbs-up-down:before {\n content: \"\\e687\";\n}\n\n.mdi-action-toc:before {\n content: \"\\e688\";\n}\n\n.mdi-action-today:before {\n content: \"\\e689\";\n}\n\n.mdi-action-track-changes:before {\n content: \"\\e68a\";\n}\n\n.mdi-action-translate:before {\n content: \"\\e68b\";\n}\n\n.mdi-action-trending-down:before {\n content: \"\\e68c\";\n}\n\n.mdi-action-trending-neutral:before {\n content: \"\\e68d\";\n}\n\n.mdi-action-trending-up:before {\n content: \"\\e68e\";\n}\n\n.mdi-action-turned-in-not:before {\n content: \"\\e68f\";\n}\n\n.mdi-action-turned-in:before {\n content: \"\\e690\";\n}\n\n.mdi-action-verified-user:before {\n content: \"\\e691\";\n}\n\n.mdi-action-view-agenda:before {\n content: \"\\e692\";\n}\n\n.mdi-action-view-array:before {\n content: \"\\e693\";\n}\n\n.mdi-action-view-carousel:before {\n content: \"\\e694\";\n}\n\n.mdi-action-view-column:before {\n content: \"\\e695\";\n}\n\n.mdi-action-view-day:before {\n content: \"\\e696\";\n}\n\n.mdi-action-view-headline:before {\n content: \"\\e697\";\n}\n\n.mdi-action-view-list:before {\n content: \"\\e698\";\n}\n\n.mdi-action-view-module:before {\n content: \"\\e699\";\n}\n\n.mdi-action-view-quilt:before {\n content: \"\\e69a\";\n}\n\n.mdi-action-view-stream:before {\n content: \"\\e69b\";\n}\n\n.mdi-action-view-week:before {\n content: \"\\e69c\";\n}\n\n.mdi-action-visibility-off:before {\n content: \"\\e69d\";\n}\n\n.mdi-action-visibility:before {\n content: \"\\e69e\";\n}\n\n.mdi-action-wallet-giftcard:before {\n content: \"\\e69f\";\n}\n\n.mdi-action-wallet-membership:before {\n content: \"\\e6a0\";\n}\n\n.mdi-action-wallet-travel:before {\n content: \"\\e6a1\";\n}\n\n.mdi-action-work:before {\n content: \"\\e6a2\";\n}\n\n.mdi-alert-error:before {\n content: \"\\e6a3\";\n}\n\n.mdi-alert-warning:before {\n content: \"\\e6a4\";\n}\n\n.mdi-av-album:before {\n content: \"\\e6a5\";\n}\n\n.mdi-av-closed-caption:before {\n content: \"\\e6a6\";\n}\n\n.mdi-av-equalizer:before {\n content: \"\\e6a7\";\n}\n\n.mdi-av-explicit:before {\n content: \"\\e6a8\";\n}\n\n.mdi-av-fast-forward:before {\n content: \"\\e6a9\";\n}\n\n.mdi-av-fast-rewind:before {\n content: \"\\e6aa\";\n}\n\n.mdi-av-games:before {\n content: \"\\e6ab\";\n}\n\n.mdi-av-hearing:before {\n content: \"\\e6ac\";\n}\n\n.mdi-av-high-quality:before {\n content: \"\\e6ad\";\n}\n\n.mdi-av-loop:before {\n content: \"\\e6ae\";\n}\n\n.mdi-av-mic-none:before {\n content: \"\\e6af\";\n}\n\n.mdi-av-mic-off:before {\n content: \"\\e6b0\";\n}\n\n.mdi-av-mic:before {\n content: \"\\e6b1\";\n}\n\n.mdi-av-movie:before {\n content: \"\\e6b2\";\n}\n\n.mdi-av-my-library-add:before {\n content: \"\\e6b3\";\n}\n\n.mdi-av-my-library-books:before {\n content: \"\\e6b4\";\n}\n\n.mdi-av-my-library-music:before {\n content: \"\\e6b5\";\n}\n\n.mdi-av-new-releases:before {\n content: \"\\e6b6\";\n}\n\n.mdi-av-not-interested:before {\n content: \"\\e6b7\";\n}\n\n.mdi-av-pause-circle-fill:before {\n content: \"\\e6b8\";\n}\n\n.mdi-av-pause-circle-outline:before {\n content: \"\\e6b9\";\n}\n\n.mdi-av-pause:before {\n content: \"\\e6ba\";\n}\n\n.mdi-av-play-arrow:before {\n content: \"\\e6bb\";\n}\n\n.mdi-av-play-circle-fill:before {\n content: \"\\e6bc\";\n}\n\n.mdi-av-play-circle-outline:before {\n content: \"\\e6bd\";\n}\n\n.mdi-av-play-shopping-bag:before {\n content: \"\\e6be\";\n}\n\n.mdi-av-playlist-add:before {\n content: \"\\e6bf\";\n}\n\n.mdi-av-queue-music:before {\n content: \"\\e6c0\";\n}\n\n.mdi-av-queue:before {\n content: \"\\e6c1\";\n}\n\n.mdi-av-radio:before {\n content: \"\\e6c2\";\n}\n\n.mdi-av-recent-actors:before {\n content: \"\\e6c3\";\n}\n\n.mdi-av-repeat-one:before {\n content: \"\\e6c4\";\n}\n\n.mdi-av-repeat:before {\n content: \"\\e6c5\";\n}\n\n.mdi-av-replay:before {\n content: \"\\e6c6\";\n}\n\n.mdi-av-shuffle:before {\n content: \"\\e6c7\";\n}\n\n.mdi-av-skip-next:before {\n content: \"\\e6c8\";\n}\n\n.mdi-av-skip-previous:before {\n content: \"\\e6c9\";\n}\n\n.mdi-av-snooze:before {\n content: \"\\e6ca\";\n}\n\n.mdi-av-stop:before {\n content: \"\\e6cb\";\n}\n\n.mdi-av-subtitles:before {\n content: \"\\e6cc\";\n}\n\n.mdi-av-surround-sound:before {\n content: \"\\e6cd\";\n}\n\n.mdi-av-timer:before {\n content: \"\\e6ce\";\n}\n\n.mdi-av-video-collection:before {\n content: \"\\e6cf\";\n}\n\n.mdi-av-videocam-off:before {\n content: \"\\e6d0\";\n}\n\n.mdi-av-videocam:before {\n content: \"\\e6d1\";\n}\n\n.mdi-av-volume-down:before {\n content: \"\\e6d2\";\n}\n\n.mdi-av-volume-mute:before {\n content: \"\\e6d3\";\n}\n\n.mdi-av-volume-off:before {\n content: \"\\e6d4\";\n}\n\n.mdi-av-volume-up:before {\n content: \"\\e6d5\";\n}\n\n.mdi-av-web:before {\n content: \"\\e6d6\";\n}\n\n.mdi-communication-business:before {\n content: \"\\e6d7\";\n}\n\n.mdi-communication-call-end:before {\n content: \"\\e6d8\";\n}\n\n.mdi-communication-call-made:before {\n content: \"\\e6d9\";\n}\n\n.mdi-communication-call-merge:before {\n content: \"\\e6da\";\n}\n\n.mdi-communication-call-missed:before {\n content: \"\\e6db\";\n}\n\n.mdi-communication-call-received:before {\n content: \"\\e6dc\";\n}\n\n.mdi-communication-call-split:before {\n content: \"\\e6dd\";\n}\n\n.mdi-communication-call:before {\n content: \"\\e6de\";\n}\n\n.mdi-communication-chat:before {\n content: \"\\e6df\";\n}\n\n.mdi-communication-clear-all:before {\n content: \"\\e6e0\";\n}\n\n.mdi-communication-comment:before {\n content: \"\\e6e1\";\n}\n\n.mdi-communication-contacts:before {\n content: \"\\e6e2\";\n}\n\n.mdi-communication-dialer-sip:before {\n content: \"\\e6e3\";\n}\n\n.mdi-communication-dialpad:before {\n content: \"\\e6e4\";\n}\n\n.mdi-communication-dnd-on:before {\n content: \"\\e6e5\";\n}\n\n.mdi-communication-email:before {\n content: \"\\e6e6\";\n}\n\n.mdi-communication-forum:before {\n content: \"\\e6e7\";\n}\n\n.mdi-communication-import-export:before {\n content: \"\\e6e8\";\n}\n\n.mdi-communication-invert-colors-off:before {\n content: \"\\e6e9\";\n}\n\n.mdi-communication-invert-colors-on:before {\n content: \"\\e6ea\";\n}\n\n.mdi-communication-live-help:before {\n content: \"\\e6eb\";\n}\n\n.mdi-communication-location-off:before {\n content: \"\\e6ec\";\n}\n\n.mdi-communication-location-on:before {\n content: \"\\e6ed\";\n}\n\n.mdi-communication-message:before {\n content: \"\\e6ee\";\n}\n\n.mdi-communication-messenger:before {\n content: \"\\e6ef\";\n}\n\n.mdi-communication-no-sim:before {\n content: \"\\e6f0\";\n}\n\n.mdi-communication-phone:before {\n content: \"\\e6f1\";\n}\n\n.mdi-communication-portable-wifi-off:before {\n content: \"\\e6f2\";\n}\n\n.mdi-communication-quick-contacts-dialer:before {\n content: \"\\e6f3\";\n}\n\n.mdi-communication-quick-contacts-mail:before {\n content: \"\\e6f4\";\n}\n\n.mdi-communication-ring-volume:before {\n content: \"\\e6f5\";\n}\n\n.mdi-communication-stay-current-landscape:before {\n content: \"\\e6f6\";\n}\n\n.mdi-communication-stay-current-portrait:before {\n content: \"\\e6f7\";\n}\n\n.mdi-communication-stay-primary-landscape:before {\n content: \"\\e6f8\";\n}\n\n.mdi-communication-stay-primary-portrait:before {\n content: \"\\e6f9\";\n}\n\n.mdi-communication-swap-calls:before {\n content: \"\\e6fa\";\n}\n\n.mdi-communication-textsms:before {\n content: \"\\e6fb\";\n}\n\n.mdi-communication-voicemail:before {\n content: \"\\e6fc\";\n}\n\n.mdi-communication-vpn-key:before {\n content: \"\\e6fd\";\n}\n\n.mdi-content-add-box:before {\n content: \"\\e6fe\";\n}\n\n.mdi-content-add-circle-outline:before {\n content: \"\\e6ff\";\n}\n\n.mdi-content-add-circle:before {\n content: \"\\e700\";\n}\n\n.mdi-content-add:before {\n content: \"\\e701\";\n}\n\n.mdi-content-archive:before {\n content: \"\\e702\";\n}\n\n.mdi-content-backspace:before {\n content: \"\\e703\";\n}\n\n.mdi-content-block:before {\n content: \"\\e704\";\n}\n\n.mdi-content-clear:before {\n content: \"\\e705\";\n}\n\n.mdi-content-content-copy:before {\n content: \"\\e706\";\n}\n\n.mdi-content-content-cut:before {\n content: \"\\e707\";\n}\n\n.mdi-content-content-paste:before {\n content: \"\\e708\";\n}\n\n.mdi-content-create:before {\n content: \"\\e709\";\n}\n\n.mdi-content-drafts:before {\n content: \"\\e70a\";\n}\n\n.mdi-content-filter-list:before {\n content: \"\\e70b\";\n}\n\n.mdi-content-flag:before {\n content: \"\\e70c\";\n}\n\n.mdi-content-forward:before {\n content: \"\\e70d\";\n}\n\n.mdi-content-gesture:before {\n content: \"\\e70e\";\n}\n\n.mdi-content-inbox:before {\n content: \"\\e70f\";\n}\n\n.mdi-content-link:before {\n content: \"\\e710\";\n}\n\n.mdi-content-mail:before {\n content: \"\\e711\";\n}\n\n.mdi-content-markunread:before {\n content: \"\\e712\";\n}\n\n.mdi-content-redo:before {\n content: \"\\e713\";\n}\n\n.mdi-content-remove-circle-outline:before {\n content: \"\\e714\";\n}\n\n.mdi-content-remove-circle:before {\n content: \"\\e715\";\n}\n\n.mdi-content-remove:before {\n content: \"\\e716\";\n}\n\n.mdi-content-reply-all:before {\n content: \"\\e717\";\n}\n\n.mdi-content-reply:before {\n content: \"\\e718\";\n}\n\n.mdi-content-report:before {\n content: \"\\e719\";\n}\n\n.mdi-content-save:before {\n content: \"\\e71a\";\n}\n\n.mdi-content-select-all:before {\n content: \"\\e71b\";\n}\n\n.mdi-content-send:before {\n content: \"\\e71c\";\n}\n\n.mdi-content-sort:before {\n content: \"\\e71d\";\n}\n\n.mdi-content-text-format:before {\n content: \"\\e71e\";\n}\n\n.mdi-content-undo:before {\n content: \"\\e71f\";\n}\n\n.mdi-editor-attach-file:before {\n content: \"\\e776\";\n}\n\n.mdi-editor-attach-money:before {\n content: \"\\e777\";\n}\n\n.mdi-editor-border-all:before {\n content: \"\\e778\";\n}\n\n.mdi-editor-border-bottom:before {\n content: \"\\e779\";\n}\n\n.mdi-editor-border-clear:before {\n content: \"\\e77a\";\n}\n\n.mdi-editor-border-color:before {\n content: \"\\e77b\";\n}\n\n.mdi-editor-border-horizontal:before {\n content: \"\\e77c\";\n}\n\n.mdi-editor-border-inner:before {\n content: \"\\e77d\";\n}\n\n.mdi-editor-border-left:before {\n content: \"\\e77e\";\n}\n\n.mdi-editor-border-outer:before {\n content: \"\\e77f\";\n}\n\n.mdi-editor-border-right:before {\n content: \"\\e780\";\n}\n\n.mdi-editor-border-style:before {\n content: \"\\e781\";\n}\n\n.mdi-editor-border-top:before {\n content: \"\\e782\";\n}\n\n.mdi-editor-border-vertical:before {\n content: \"\\e783\";\n}\n\n.mdi-editor-format-align-center:before {\n content: \"\\e784\";\n}\n\n.mdi-editor-format-align-justify:before {\n content: \"\\e785\";\n}\n\n.mdi-editor-format-align-left:before {\n content: \"\\e786\";\n}\n\n.mdi-editor-format-align-right:before {\n content: \"\\e787\";\n}\n\n.mdi-editor-format-bold:before {\n content: \"\\e788\";\n}\n\n.mdi-editor-format-clear:before {\n content: \"\\e789\";\n}\n\n.mdi-editor-format-color-fill:before {\n content: \"\\e78a\";\n}\n\n.mdi-editor-format-color-reset:before {\n content: \"\\e78b\";\n}\n\n.mdi-editor-format-color-text:before {\n content: \"\\e78c\";\n}\n\n.mdi-editor-format-indent-decrease:before {\n content: \"\\e78d\";\n}\n\n.mdi-editor-format-indent-increase:before {\n content: \"\\e78e\";\n}\n\n.mdi-editor-format-italic:before {\n content: \"\\e78f\";\n}\n\n.mdi-editor-format-line-spacing:before {\n content: \"\\e790\";\n}\n\n.mdi-editor-format-list-bulleted:before {\n content: \"\\e791\";\n}\n\n.mdi-editor-format-list-numbered:before {\n content: \"\\e792\";\n}\n\n.mdi-editor-format-paint:before {\n content: \"\\e793\";\n}\n\n.mdi-editor-format-quote:before {\n content: \"\\e794\";\n}\n\n.mdi-editor-format-size:before {\n content: \"\\e795\";\n}\n\n.mdi-editor-format-strikethrough:before {\n content: \"\\e796\";\n}\n\n.mdi-editor-format-textdirection-l-to-r:before {\n content: \"\\e797\";\n}\n\n.mdi-editor-format-textdirection-r-to-l:before {\n content: \"\\e798\";\n}\n\n.mdi-editor-format-underline:before {\n content: \"\\e799\";\n}\n\n.mdi-editor-functions:before {\n content: \"\\e79a\";\n}\n\n.mdi-editor-insert-chart:before {\n content: \"\\e79b\";\n}\n\n.mdi-editor-insert-comment:before {\n content: \"\\e79c\";\n}\n\n.mdi-editor-insert-drive-file:before {\n content: \"\\e79d\";\n}\n\n.mdi-editor-insert-emoticon:before {\n content: \"\\e79e\";\n}\n\n.mdi-editor-insert-invitation:before {\n content: \"\\e79f\";\n}\n\n.mdi-editor-insert-link:before {\n content: \"\\e7a0\";\n}\n\n.mdi-editor-insert-photo:before {\n content: \"\\e7a1\";\n}\n\n.mdi-editor-merge-type:before {\n content: \"\\e7a2\";\n}\n\n.mdi-editor-mode-comment:before {\n content: \"\\e7a3\";\n}\n\n.mdi-editor-mode-edit:before {\n content: \"\\e7a4\";\n}\n\n.mdi-editor-publish:before {\n content: \"\\e7a5\";\n}\n\n.mdi-editor-vertical-align-bottom:before {\n content: \"\\e7a6\";\n}\n\n.mdi-editor-vertical-align-center:before {\n content: \"\\e7a7\";\n}\n\n.mdi-editor-vertical-align-top:before {\n content: \"\\e7a8\";\n}\n\n.mdi-editor-wrap-text:before {\n content: \"\\e7a9\";\n}\n\n.mdi-file-attachment:before {\n content: \"\\e7aa\";\n}\n\n.mdi-file-cloud-circle:before {\n content: \"\\e7ab\";\n}\n\n.mdi-file-cloud-done:before {\n content: \"\\e7ac\";\n}\n\n.mdi-file-cloud-download:before {\n content: \"\\e7ad\";\n}\n\n.mdi-file-cloud-off:before {\n content: \"\\e7ae\";\n}\n\n.mdi-file-cloud-queue:before {\n content: \"\\e7af\";\n}\n\n.mdi-file-cloud-upload:before {\n content: \"\\e7b0\";\n}\n\n.mdi-file-cloud:before {\n content: \"\\e7b1\";\n}\n\n.mdi-file-file-download:before {\n content: \"\\e7b2\";\n}\n\n.mdi-file-file-upload:before {\n content: \"\\e7b3\";\n}\n\n.mdi-file-folder-open:before {\n content: \"\\e7b4\";\n}\n\n.mdi-file-folder-shared:before {\n content: \"\\e7b5\";\n}\n\n.mdi-file-folder:before {\n content: \"\\e7b6\";\n}\n\n.mdi-device-access-alarm:before {\n content: \"\\e720\";\n}\n\n.mdi-device-access-alarms:before {\n content: \"\\e721\";\n}\n\n.mdi-device-access-time:before {\n content: \"\\e722\";\n}\n\n.mdi-device-add-alarm:before {\n content: \"\\e723\";\n}\n\n.mdi-device-airplanemode-off:before {\n content: \"\\e724\";\n}\n\n.mdi-device-airplanemode-on:before {\n content: \"\\e725\";\n}\n\n.mdi-device-battery-20:before {\n content: \"\\e726\";\n}\n\n.mdi-device-battery-30:before {\n content: \"\\e727\";\n}\n\n.mdi-device-battery-50:before {\n content: \"\\e728\";\n}\n\n.mdi-device-battery-60:before {\n content: \"\\e729\";\n}\n\n.mdi-device-battery-80:before {\n content: \"\\e72a\";\n}\n\n.mdi-device-battery-90:before {\n content: \"\\e72b\";\n}\n\n.mdi-device-battery-alert:before {\n content: \"\\e72c\";\n}\n\n.mdi-device-battery-charging-20:before {\n content: \"\\e72d\";\n}\n\n.mdi-device-battery-charging-30:before {\n content: \"\\e72e\";\n}\n\n.mdi-device-battery-charging-50:before {\n content: \"\\e72f\";\n}\n\n.mdi-device-battery-charging-60:before {\n content: \"\\e730\";\n}\n\n.mdi-device-battery-charging-80:before {\n content: \"\\e731\";\n}\n\n.mdi-device-battery-charging-90:before {\n content: \"\\e732\";\n}\n\n.mdi-device-battery-charging-full:before {\n content: \"\\e733\";\n}\n\n.mdi-device-battery-full:before {\n content: \"\\e734\";\n}\n\n.mdi-device-battery-std:before {\n content: \"\\e735\";\n}\n\n.mdi-device-battery-unknown:before {\n content: \"\\e736\";\n}\n\n.mdi-device-bluetooth-connected:before {\n content: \"\\e737\";\n}\n\n.mdi-device-bluetooth-disabled:before {\n content: \"\\e738\";\n}\n\n.mdi-device-bluetooth-searching:before {\n content: \"\\e739\";\n}\n\n.mdi-device-bluetooth:before {\n content: \"\\e73a\";\n}\n\n.mdi-device-brightness-auto:before {\n content: \"\\e73b\";\n}\n\n.mdi-device-brightness-high:before {\n content: \"\\e73c\";\n}\n\n.mdi-device-brightness-low:before {\n content: \"\\e73d\";\n}\n\n.mdi-device-brightness-medium:before {\n content: \"\\e73e\";\n}\n\n.mdi-device-data-usage:before {\n content: \"\\e73f\";\n}\n\n.mdi-device-developer-mode:before {\n content: \"\\e740\";\n}\n\n.mdi-device-devices:before {\n content: \"\\e741\";\n}\n\n.mdi-device-dvr:before {\n content: \"\\e742\";\n}\n\n.mdi-device-gps-fixed:before {\n content: \"\\e743\";\n}\n\n.mdi-device-gps-not-fixed:before {\n content: \"\\e744\";\n}\n\n.mdi-device-gps-off:before {\n content: \"\\e745\";\n}\n\n.mdi-device-location-disabled:before {\n content: \"\\e746\";\n}\n\n.mdi-device-location-searching:before {\n content: \"\\e747\";\n}\n\n.mdi-device-multitrack-audio:before {\n content: \"\\e748\";\n}\n\n.mdi-device-network-cell:before {\n content: \"\\e749\";\n}\n\n.mdi-device-network-wifi:before {\n content: \"\\e74a\";\n}\n\n.mdi-device-nfc:before {\n content: \"\\e74b\";\n}\n\n.mdi-device-now-wallpaper:before {\n content: \"\\e74c\";\n}\n\n.mdi-device-now-widgets:before {\n content: \"\\e74d\";\n}\n\n.mdi-device-screen-lock-landscape:before {\n content: \"\\e74e\";\n}\n\n.mdi-device-screen-lock-portrait:before {\n content: \"\\e74f\";\n}\n\n.mdi-device-screen-lock-rotation:before {\n content: \"\\e750\";\n}\n\n.mdi-device-screen-rotation:before {\n content: \"\\e751\";\n}\n\n.mdi-device-sd-storage:before {\n content: \"\\e752\";\n}\n\n.mdi-device-settings-system-daydream:before {\n content: \"\\e753\";\n}\n\n.mdi-device-signal-cellular-0-bar:before {\n content: \"\\e754\";\n}\n\n.mdi-device-signal-cellular-1-bar:before {\n content: \"\\e755\";\n}\n\n.mdi-device-signal-cellular-2-bar:before {\n content: \"\\e756\";\n}\n\n.mdi-device-signal-cellular-3-bar:before {\n content: \"\\e757\";\n}\n\n.mdi-device-signal-cellular-4-bar:before {\n content: \"\\e758\";\n}\n\n.mdi-signal-wifi-statusbar-connected-no-internet-after:before {\n content: \"\\e8f6\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-0-bar:before {\n content: \"\\e759\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-1-bar:before {\n content: \"\\e75a\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-2-bar:before {\n content: \"\\e75b\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-3-bar:before {\n content: \"\\e75c\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-4-bar:before {\n content: \"\\e75d\";\n}\n\n.mdi-device-signal-cellular-no-sim:before {\n content: \"\\e75e\";\n}\n\n.mdi-device-signal-cellular-null:before {\n content: \"\\e75f\";\n}\n\n.mdi-device-signal-cellular-off:before {\n content: \"\\e760\";\n}\n\n.mdi-device-signal-wifi-0-bar:before {\n content: \"\\e761\";\n}\n\n.mdi-device-signal-wifi-1-bar:before {\n content: \"\\e762\";\n}\n\n.mdi-device-signal-wifi-2-bar:before {\n content: \"\\e763\";\n}\n\n.mdi-device-signal-wifi-3-bar:before {\n content: \"\\e764\";\n}\n\n.mdi-device-signal-wifi-4-bar:before {\n content: \"\\e765\";\n}\n\n.mdi-device-signal-wifi-off:before {\n content: \"\\e766\";\n}\n\n.mdi-device-signal-wifi-statusbar-1-bar:before {\n content: \"\\e767\";\n}\n\n.mdi-device-signal-wifi-statusbar-2-bar:before {\n content: \"\\e768\";\n}\n\n.mdi-device-signal-wifi-statusbar-3-bar:before {\n content: \"\\e769\";\n}\n\n.mdi-device-signal-wifi-statusbar-4-bar:before {\n content: \"\\e76a\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-:before {\n content: \"\\e76b\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet:before {\n content: \"\\e76f\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-2:before {\n content: \"\\e76c\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-3:before {\n content: \"\\e76d\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-4:before {\n content: \"\\e76e\";\n}\n\n.mdi-signal-wifi-statusbar-not-connected-after:before {\n content: \"\\e8f7\";\n}\n\n.mdi-device-signal-wifi-statusbar-not-connected:before {\n content: \"\\e770\";\n}\n\n.mdi-device-signal-wifi-statusbar-null:before {\n content: \"\\e771\";\n}\n\n.mdi-device-storage:before {\n content: \"\\e772\";\n}\n\n.mdi-device-usb:before {\n content: \"\\e773\";\n}\n\n.mdi-device-wifi-lock:before {\n content: \"\\e774\";\n}\n\n.mdi-device-wifi-tethering:before {\n content: \"\\e775\";\n}\n\n.mdi-hardware-cast-connected:before {\n content: \"\\e7b7\";\n}\n\n.mdi-hardware-cast:before {\n content: \"\\e7b8\";\n}\n\n.mdi-hardware-computer:before {\n content: \"\\e7b9\";\n}\n\n.mdi-hardware-desktop-mac:before {\n content: \"\\e7ba\";\n}\n\n.mdi-hardware-desktop-windows:before {\n content: \"\\e7bb\";\n}\n\n.mdi-hardware-dock:before {\n content: \"\\e7bc\";\n}\n\n.mdi-hardware-gamepad:before {\n content: \"\\e7bd\";\n}\n\n.mdi-hardware-headset-mic:before {\n content: \"\\e7be\";\n}\n\n.mdi-hardware-headset:before {\n content: \"\\e7bf\";\n}\n\n.mdi-hardware-keyboard-alt:before {\n content: \"\\e7c0\";\n}\n\n.mdi-hardware-keyboard-arrow-down:before {\n content: \"\\e7c1\";\n}\n\n.mdi-hardware-keyboard-arrow-left:before {\n content: \"\\e7c2\";\n}\n\n.mdi-hardware-keyboard-arrow-right:before {\n content: \"\\e7c3\";\n}\n\n.mdi-hardware-keyboard-arrow-up:before {\n content: \"\\e7c4\";\n}\n\n.mdi-hardware-keyboard-backspace:before {\n content: \"\\e7c5\";\n}\n\n.mdi-hardware-keyboard-capslock:before {\n content: \"\\e7c6\";\n}\n\n.mdi-hardware-keyboard-control:before {\n content: \"\\e7c7\";\n}\n\n.mdi-hardware-keyboard-hide:before {\n content: \"\\e7c8\";\n}\n\n.mdi-hardware-keyboard-return:before {\n content: \"\\e7c9\";\n}\n\n.mdi-hardware-keyboard-tab:before {\n content: \"\\e7ca\";\n}\n\n.mdi-hardware-keyboard-voice:before {\n content: \"\\e7cb\";\n}\n\n.mdi-hardware-keyboard:before {\n content: \"\\e7cc\";\n}\n\n.mdi-hardware-laptop-chromebook:before {\n content: \"\\e7cd\";\n}\n\n.mdi-hardware-laptop-mac:before {\n content: \"\\e7ce\";\n}\n\n.mdi-hardware-laptop-windows:before {\n content: \"\\e7cf\";\n}\n\n.mdi-hardware-laptop:before {\n content: \"\\e7d0\";\n}\n\n.mdi-hardware-memory:before {\n content: \"\\e7d1\";\n}\n\n.mdi-hardware-mouse:before {\n content: \"\\e7d2\";\n}\n\n.mdi-hardware-phone-android:before {\n content: \"\\e7d3\";\n}\n\n.mdi-hardware-phone-iphone:before {\n content: \"\\e7d4\";\n}\n\n.mdi-hardware-phonelink-off:before {\n content: \"\\e7d5\";\n}\n\n.mdi-hardware-phonelink:before {\n content: \"\\e7d6\";\n}\n\n.mdi-hardware-security:before {\n content: \"\\e7d7\";\n}\n\n.mdi-hardware-sim-card:before {\n content: \"\\e7d8\";\n}\n\n.mdi-hardware-smartphone:before {\n content: \"\\e7d9\";\n}\n\n.mdi-hardware-speaker:before {\n content: \"\\e7da\";\n}\n\n.mdi-hardware-tablet-android:before {\n content: \"\\e7db\";\n}\n\n.mdi-hardware-tablet-mac:before {\n content: \"\\e7dc\";\n}\n\n.mdi-hardware-tablet:before {\n content: \"\\e7dd\";\n}\n\n.mdi-hardware-tv:before {\n content: \"\\e7de\";\n}\n\n.mdi-hardware-watch:before {\n content: \"\\e7df\";\n}\n\n.mdi-image-add-to-photos:before {\n content: \"\\e7e0\";\n}\n\n.mdi-image-adjust:before {\n content: \"\\e7e1\";\n}\n\n.mdi-image-assistant-photo:before {\n content: \"\\e7e2\";\n}\n\n.mdi-image-audiotrack:before {\n content: \"\\e7e3\";\n}\n\n.mdi-image-blur-circular:before {\n content: \"\\e7e4\";\n}\n\n.mdi-image-blur-linear:before {\n content: \"\\e7e5\";\n}\n\n.mdi-image-blur-off:before {\n content: \"\\e7e6\";\n}\n\n.mdi-image-blur-on:before {\n content: \"\\e7e7\";\n}\n\n.mdi-image-brightness-1:before {\n content: \"\\e7e8\";\n}\n\n.mdi-image-brightness-2:before {\n content: \"\\e7e9\";\n}\n\n.mdi-image-brightness-3:before {\n content: \"\\e7ea\";\n}\n\n.mdi-image-brightness-4:before {\n content: \"\\e7eb\";\n}\n\n.mdi-image-brightness-5:before {\n content: \"\\e7ec\";\n}\n\n.mdi-image-brightness-6:before {\n content: \"\\e7ed\";\n}\n\n.mdi-image-brightness-7:before {\n content: \"\\e7ee\";\n}\n\n.mdi-image-brush:before {\n content: \"\\e7ef\";\n}\n\n.mdi-image-camera-alt:before {\n content: \"\\e7f0\";\n}\n\n.mdi-image-camera-front:before {\n content: \"\\e7f1\";\n}\n\n.mdi-image-camera-rear:before {\n content: \"\\e7f2\";\n}\n\n.mdi-image-camera-roll:before {\n content: \"\\e7f3\";\n}\n\n.mdi-image-camera:before {\n content: \"\\e7f4\";\n}\n\n.mdi-image-center-focus-strong:before {\n content: \"\\e7f5\";\n}\n\n.mdi-image-center-focus-weak:before {\n content: \"\\e7f6\";\n}\n\n.mdi-image-collections:before {\n content: \"\\e7f7\";\n}\n\n.mdi-image-color-lens:before {\n content: \"\\e7f8\";\n}\n\n.mdi-image-colorize:before {\n content: \"\\e7f9\";\n}\n\n.mdi-image-compare:before {\n content: \"\\e7fa\";\n}\n\n.mdi-image-control-point-duplicate:before {\n content: \"\\e7fb\";\n}\n\n.mdi-image-control-point:before {\n content: \"\\e7fc\";\n}\n\n.mdi-image-crop-3-2:before {\n content: \"\\e7fd\";\n}\n\n.mdi-image-crop-5-4:before {\n content: \"\\e7fe\";\n}\n\n.mdi-image-crop-7-5:before {\n content: \"\\e7ff\";\n}\n\n.mdi-image-crop-16-9:before {\n content: \"\\e800\";\n}\n\n.mdi-image-crop-din:before {\n content: \"\\e801\";\n}\n\n.mdi-image-crop-free:before {\n content: \"\\e802\";\n}\n\n.mdi-image-crop-landscape:before {\n content: \"\\e803\";\n}\n\n.mdi-image-crop-original:before {\n content: \"\\e804\";\n}\n\n.mdi-image-crop-portrait:before {\n content: \"\\e805\";\n}\n\n.mdi-image-crop-square:before {\n content: \"\\e806\";\n}\n\n.mdi-image-crop:before {\n content: \"\\e807\";\n}\n\n.mdi-image-dehaze:before {\n content: \"\\e808\";\n}\n\n.mdi-image-details:before {\n content: \"\\e809\";\n}\n\n.mdi-image-edit:before {\n content: \"\\e80a\";\n}\n\n.mdi-image-exposure-minus-1:before {\n content: \"\\e80b\";\n}\n\n.mdi-image-exposure-minus-2:before {\n content: \"\\e80c\";\n}\n\n.mdi-image-exposure-plus-1:before {\n content: \"\\e80d\";\n}\n\n.mdi-image-exposure-plus-2:before {\n content: \"\\e80e\";\n}\n\n.mdi-image-exposure-zero:before {\n content: \"\\e80f\";\n}\n\n.mdi-image-exposure:before {\n content: \"\\e810\";\n}\n\n.mdi-image-filter-1:before {\n content: \"\\e811\";\n}\n\n.mdi-image-filter-2:before {\n content: \"\\e812\";\n}\n\n.mdi-image-filter-3:before {\n content: \"\\e813\";\n}\n\n.mdi-image-filter-4:before {\n content: \"\\e814\";\n}\n\n.mdi-image-filter-5:before {\n content: \"\\e815\";\n}\n\n.mdi-image-filter-6:before {\n content: \"\\e816\";\n}\n\n.mdi-image-filter-7:before {\n content: \"\\e817\";\n}\n\n.mdi-image-filter-8:before {\n content: \"\\e818\";\n}\n\n.mdi-image-filter-9-plus:before {\n content: \"\\e819\";\n}\n\n.mdi-image-filter-9:before {\n content: \"\\e81a\";\n}\n\n.mdi-image-filter-b-and-w:before {\n content: \"\\e81b\";\n}\n\n.mdi-image-filter-center-focus:before {\n content: \"\\e81c\";\n}\n\n.mdi-image-filter-drama:before {\n content: \"\\e81d\";\n}\n\n.mdi-image-filter-frames:before {\n content: \"\\e81e\";\n}\n\n.mdi-image-filter-hdr:before {\n content: \"\\e81f\";\n}\n\n.mdi-image-filter-none:before {\n content: \"\\e820\";\n}\n\n.mdi-image-filter-tilt-shift:before {\n content: \"\\e821\";\n}\n\n.mdi-image-filter-vintage:before {\n content: \"\\e822\";\n}\n\n.mdi-image-filter:before {\n content: \"\\e823\";\n}\n\n.mdi-image-flare:before {\n content: \"\\e824\";\n}\n\n.mdi-image-flash-auto:before {\n content: \"\\e825\";\n}\n\n.mdi-image-flash-off:before {\n content: \"\\e826\";\n}\n\n.mdi-image-flash-on:before {\n content: \"\\e827\";\n}\n\n.mdi-image-flip:before {\n content: \"\\e828\";\n}\n\n.mdi-image-gradient:before {\n content: \"\\e829\";\n}\n\n.mdi-image-grain:before {\n content: \"\\e82a\";\n}\n\n.mdi-image-grid-off:before {\n content: \"\\e82b\";\n}\n\n.mdi-image-grid-on:before {\n content: \"\\e82c\";\n}\n\n.mdi-image-hdr-off:before {\n content: \"\\e82d\";\n}\n\n.mdi-image-hdr-on:before {\n content: \"\\e82e\";\n}\n\n.mdi-image-hdr-strong:before {\n content: \"\\e82f\";\n}\n\n.mdi-image-hdr-weak:before {\n content: \"\\e830\";\n}\n\n.mdi-image-healing:before {\n content: \"\\e831\";\n}\n\n.mdi-image-image-aspect-ratio:before {\n content: \"\\e832\";\n}\n\n.mdi-image-image:before {\n content: \"\\e833\";\n}\n\n.mdi-image-iso:before {\n content: \"\\e834\";\n}\n\n.mdi-image-landscape:before {\n content: \"\\e835\";\n}\n\n.mdi-image-leak-add:before {\n content: \"\\e836\";\n}\n\n.mdi-image-leak-remove:before {\n content: \"\\e837\";\n}\n\n.mdi-image-lens:before {\n content: \"\\e838\";\n}\n\n.mdi-image-looks-3:before {\n content: \"\\e839\";\n}\n\n.mdi-image-looks-4:before {\n content: \"\\e83a\";\n}\n\n.mdi-image-looks-5:before {\n content: \"\\e83b\";\n}\n\n.mdi-image-looks-6:before {\n content: \"\\e83c\";\n}\n\n.mdi-image-looks-one:before {\n content: \"\\e83d\";\n}\n\n.mdi-image-looks-two:before {\n content: \"\\e83e\";\n}\n\n.mdi-image-looks:before {\n content: \"\\e83f\";\n}\n\n.mdi-image-loupe:before {\n content: \"\\e840\";\n}\n\n.mdi-image-movie-creation:before {\n content: \"\\e841\";\n}\n\n.mdi-image-nature-people:before {\n content: \"\\e842\";\n}\n\n.mdi-image-nature:before {\n content: \"\\e843\";\n}\n\n.mdi-image-navigate-before:before {\n content: \"\\e844\";\n}\n\n.mdi-image-navigate-next:before {\n content: \"\\e845\";\n}\n\n.mdi-image-palette:before {\n content: \"\\e846\";\n}\n\n.mdi-image-panorama-fisheye:before {\n content: \"\\e847\";\n}\n\n.mdi-image-panorama-horizontal:before {\n content: \"\\e848\";\n}\n\n.mdi-image-panorama-vertical:before {\n content: \"\\e849\";\n}\n\n.mdi-image-panorama-wide-angle:before {\n content: \"\\e84a\";\n}\n\n.mdi-image-panorama:before {\n content: \"\\e84b\";\n}\n\n.mdi-image-photo-album:before {\n content: \"\\e84c\";\n}\n\n.mdi-image-photo-camera:before {\n content: \"\\e84d\";\n}\n\n.mdi-image-photo-library:before {\n content: \"\\e84e\";\n}\n\n.mdi-image-photo:before {\n content: \"\\e84f\";\n}\n\n.mdi-image-portrait:before {\n content: \"\\e850\";\n}\n\n.mdi-image-remove-red-eye:before {\n content: \"\\e851\";\n}\n\n.mdi-image-rotate-left:before {\n content: \"\\e852\";\n}\n\n.mdi-image-rotate-right:before {\n content: \"\\e853\";\n}\n\n.mdi-image-slideshow:before {\n content: \"\\e854\";\n}\n\n.mdi-image-straighten:before {\n content: \"\\e855\";\n}\n\n.mdi-image-style:before {\n content: \"\\e856\";\n}\n\n.mdi-image-switch-camera:before {\n content: \"\\e857\";\n}\n\n.mdi-image-switch-video:before {\n content: \"\\e858\";\n}\n\n.mdi-image-tag-faces:before {\n content: \"\\e859\";\n}\n\n.mdi-image-texture:before {\n content: \"\\e85a\";\n}\n\n.mdi-image-timelapse:before {\n content: \"\\e85b\";\n}\n\n.mdi-image-timer-3:before {\n content: \"\\e85c\";\n}\n\n.mdi-image-timer-10:before {\n content: \"\\e85d\";\n}\n\n.mdi-image-timer-auto:before {\n content: \"\\e85e\";\n}\n\n.mdi-image-timer-off:before {\n content: \"\\e85f\";\n}\n\n.mdi-image-timer:before {\n content: \"\\e860\";\n}\n\n.mdi-image-tonality:before {\n content: \"\\e861\";\n}\n\n.mdi-image-transform:before {\n content: \"\\e862\";\n}\n\n.mdi-image-tune:before {\n content: \"\\e863\";\n}\n\n.mdi-image-wb-auto:before {\n content: \"\\e864\";\n}\n\n.mdi-image-wb-cloudy:before {\n content: \"\\e865\";\n}\n\n.mdi-image-wb-incandescent:before {\n content: \"\\e866\";\n}\n\n.mdi-image-wb-irradescent:before {\n content: \"\\e867\";\n}\n\n.mdi-image-wb-sunny:before {\n content: \"\\e868\";\n}\n\n.mdi-maps-beenhere:before {\n content: \"\\e869\";\n}\n\n.mdi-maps-directions-bike:before {\n content: \"\\e86a\";\n}\n\n.mdi-maps-directions-bus:before {\n content: \"\\e86b\";\n}\n\n.mdi-maps-directions-car:before {\n content: \"\\e86c\";\n}\n\n.mdi-maps-directions-ferry:before {\n content: \"\\e86d\";\n}\n\n.mdi-maps-directions-subway:before {\n content: \"\\e86e\";\n}\n\n.mdi-maps-directions-train:before {\n content: \"\\e86f\";\n}\n\n.mdi-maps-directions-transit:before {\n content: \"\\e870\";\n}\n\n.mdi-maps-directions-walk:before {\n content: \"\\e871\";\n}\n\n.mdi-maps-directions:before {\n content: \"\\e872\";\n}\n\n.mdi-maps-flight:before {\n content: \"\\e873\";\n}\n\n.mdi-maps-hotel:before {\n content: \"\\e874\";\n}\n\n.mdi-maps-layers-clear:before {\n content: \"\\e875\";\n}\n\n.mdi-maps-layers:before {\n content: \"\\e876\";\n}\n\n.mdi-maps-local-airport:before {\n content: \"\\e877\";\n}\n\n.mdi-maps-local-atm:before {\n content: \"\\e878\";\n}\n\n.mdi-maps-local-attraction:before {\n content: \"\\e879\";\n}\n\n.mdi-maps-local-bar:before {\n content: \"\\e87a\";\n}\n\n.mdi-maps-local-cafe:before {\n content: \"\\e87b\";\n}\n\n.mdi-maps-local-car-wash:before {\n content: \"\\e87c\";\n}\n\n.mdi-maps-local-convenience-store:before {\n content: \"\\e87d\";\n}\n\n.mdi-maps-local-drink:before {\n content: \"\\e87e\";\n}\n\n.mdi-maps-local-florist:before {\n content: \"\\e87f\";\n}\n\n.mdi-maps-local-gas-station:before {\n content: \"\\e880\";\n}\n\n.mdi-maps-local-grocery-store:before {\n content: \"\\e881\";\n}\n\n.mdi-maps-local-hospital:before {\n content: \"\\e882\";\n}\n\n.mdi-maps-local-hotel:before {\n content: \"\\e883\";\n}\n\n.mdi-maps-local-laundry-service:before {\n content: \"\\e884\";\n}\n\n.mdi-maps-local-library:before {\n content: \"\\e885\";\n}\n\n.mdi-maps-local-mall:before {\n content: \"\\e886\";\n}\n\n.mdi-maps-local-movies:before {\n content: \"\\e887\";\n}\n\n.mdi-maps-local-offer:before {\n content: \"\\e888\";\n}\n\n.mdi-maps-local-parking:before {\n content: \"\\e889\";\n}\n\n.mdi-maps-local-pharmacy:before {\n content: \"\\e88a\";\n}\n\n.mdi-maps-local-phone:before {\n content: \"\\e88b\";\n}\n\n.mdi-maps-local-pizza:before {\n content: \"\\e88c\";\n}\n\n.mdi-maps-local-play:before {\n content: \"\\e88d\";\n}\n\n.mdi-maps-local-post-office:before {\n content: \"\\e88e\";\n}\n\n.mdi-maps-local-print-shop:before {\n content: \"\\e88f\";\n}\n\n.mdi-maps-local-restaurant:before {\n content: \"\\e890\";\n}\n\n.mdi-maps-local-see:before {\n content: \"\\e891\";\n}\n\n.mdi-maps-local-shipping:before {\n content: \"\\e892\";\n}\n\n.mdi-maps-local-taxi:before {\n content: \"\\e893\";\n}\n\n.mdi-maps-location-history:before {\n content: \"\\e894\";\n}\n\n.mdi-maps-map:before {\n content: \"\\e895\";\n}\n\n.mdi-maps-my-location:before {\n content: \"\\e896\";\n}\n\n.mdi-maps-navigation:before {\n content: \"\\e897\";\n}\n\n.mdi-maps-pin-drop:before {\n content: \"\\e898\";\n}\n\n.mdi-maps-place:before {\n content: \"\\e899\";\n}\n\n.mdi-maps-rate-review:before {\n content: \"\\e89a\";\n}\n\n.mdi-maps-restaurant-menu:before {\n content: \"\\e89b\";\n}\n\n.mdi-maps-satellite:before {\n content: \"\\e89c\";\n}\n\n.mdi-maps-store-mall-directory:before {\n content: \"\\e89d\";\n}\n\n.mdi-maps-terrain:before {\n content: \"\\e89e\";\n}\n\n.mdi-maps-traffic:before {\n content: \"\\e89f\";\n}\n\n.mdi-navigation-apps:before {\n content: \"\\e8a0\";\n}\n\n.mdi-navigation-arrow-back:before {\n content: \"\\e8a1\";\n}\n\n.mdi-navigation-arrow-drop-down-circle:before {\n content: \"\\e8a2\";\n}\n\n.mdi-navigation-arrow-drop-down:before {\n content: \"\\e8a3\";\n}\n\n.mdi-navigation-arrow-drop-up:before {\n content: \"\\e8a4\";\n}\n\n.mdi-navigation-arrow-forward:before {\n content: \"\\e8a5\";\n}\n\n.mdi-navigation-cancel:before {\n content: \"\\e8a6\";\n}\n\n.mdi-navigation-check:before {\n content: \"\\e8a7\";\n}\n\n.mdi-navigation-chevron-left:before {\n content: \"\\e8a8\";\n}\n\n.mdi-navigation-chevron-right:before {\n content: \"\\e8a9\";\n}\n\n.mdi-navigation-close:before {\n content: \"\\e8aa\";\n}\n\n.mdi-navigation-expand-less:before {\n content: \"\\e8ab\";\n}\n\n.mdi-navigation-expand-more:before {\n content: \"\\e8ac\";\n}\n\n.mdi-navigation-fullscreen-exit:before {\n content: \"\\e8ad\";\n}\n\n.mdi-navigation-fullscreen:before {\n content: \"\\e8ae\";\n}\n\n.mdi-navigation-menu:before {\n content: \"\\e8af\";\n}\n\n.mdi-navigation-more-horiz:before {\n content: \"\\e8b0\";\n}\n\n.mdi-navigation-more-vert:before {\n content: \"\\e8b1\";\n}\n\n.mdi-navigation-refresh:before {\n content: \"\\e8b2\";\n}\n\n.mdi-navigation-unfold-less:before {\n content: \"\\e8b3\";\n}\n\n.mdi-navigation-unfold-more:before {\n content: \"\\e8b4\";\n}\n\n.mdi-notification-adb:before {\n content: \"\\e8b5\";\n}\n\n.mdi-notification-bluetooth-audio:before {\n content: \"\\e8b6\";\n}\n\n.mdi-notification-disc-full:before {\n content: \"\\e8b7\";\n}\n\n.mdi-notification-dnd-forwardslash:before {\n content: \"\\e8b8\";\n}\n\n.mdi-notification-do-not-disturb:before {\n content: \"\\e8b9\";\n}\n\n.mdi-notification-drive-eta:before {\n content: \"\\e8ba\";\n}\n\n.mdi-notification-event-available:before {\n content: \"\\e8bb\";\n}\n\n.mdi-notification-event-busy:before {\n content: \"\\e8bc\";\n}\n\n.mdi-notification-event-note:before {\n content: \"\\e8bd\";\n}\n\n.mdi-notification-folder-special:before {\n content: \"\\e8be\";\n}\n\n.mdi-notification-mms:before {\n content: \"\\e8bf\";\n}\n\n.mdi-notification-more:before {\n content: \"\\e8c0\";\n}\n\n.mdi-notification-network-locked:before {\n content: \"\\e8c1\";\n}\n\n.mdi-notification-phone-bluetooth-speaker:before {\n content: \"\\e8c2\";\n}\n\n.mdi-notification-phone-forwarded:before {\n content: \"\\e8c3\";\n}\n\n.mdi-notification-phone-in-talk:before {\n content: \"\\e8c4\";\n}\n\n.mdi-notification-phone-locked:before {\n content: \"\\e8c5\";\n}\n\n.mdi-notification-phone-missed:before {\n content: \"\\e8c6\";\n}\n\n.mdi-notification-phone-paused:before {\n content: \"\\e8c7\";\n}\n\n.mdi-notification-play-download:before {\n content: \"\\e8c8\";\n}\n\n.mdi-notification-play-install:before {\n content: \"\\e8c9\";\n}\n\n.mdi-notification-sd-card:before {\n content: \"\\e8ca\";\n}\n\n.mdi-notification-sim-card-alert:before {\n content: \"\\e8cb\";\n}\n\n.mdi-notification-sms-failed:before {\n content: \"\\e8cc\";\n}\n\n.mdi-notification-sms:before {\n content: \"\\e8cd\";\n}\n\n.mdi-notification-sync-disabled:before {\n content: \"\\e8ce\";\n}\n\n.mdi-notification-sync-problem:before {\n content: \"\\e8cf\";\n}\n\n.mdi-notification-sync:before {\n content: \"\\e8d0\";\n}\n\n.mdi-notification-system-update:before {\n content: \"\\e8d1\";\n}\n\n.mdi-notification-tap-and-play:before {\n content: \"\\e8d2\";\n}\n\n.mdi-notification-time-to-leave:before {\n content: \"\\e8d3\";\n}\n\n.mdi-notification-vibration:before {\n content: \"\\e8d4\";\n}\n\n.mdi-notification-voice-chat:before {\n content: \"\\e8d5\";\n}\n\n.mdi-notification-vpn-lock:before {\n content: \"\\e8d6\";\n}\n\n.mdi-social-cake:before {\n content: \"\\e8d7\";\n}\n\n.mdi-social-domain:before {\n content: \"\\e8d8\";\n}\n\n.mdi-social-group-add:before {\n content: \"\\e8d9\";\n}\n\n.mdi-social-group:before {\n content: \"\\e8da\";\n}\n\n.mdi-social-location-city:before {\n content: \"\\e8db\";\n}\n\n.mdi-social-mood:before {\n content: \"\\e8dc\";\n}\n\n.mdi-social-notifications-none:before {\n content: \"\\e8dd\";\n}\n\n.mdi-social-notifications-off:before {\n content: \"\\e8de\";\n}\n\n.mdi-social-notifications-on:before {\n content: \"\\e8df\";\n}\n\n.mdi-social-notifications-paused:before {\n content: \"\\e8e0\";\n}\n\n.mdi-social-notifications:before {\n content: \"\\e8e1\";\n}\n\n.mdi-social-pages:before {\n content: \"\\e8e2\";\n}\n\n.mdi-social-party-mode:before {\n content: \"\\e8e3\";\n}\n\n.mdi-social-people-outline:before {\n content: \"\\e8e4\";\n}\n\n.mdi-social-people:before {\n content: \"\\e8e5\";\n}\n\n.mdi-social-person-add:before {\n content: \"\\e8e6\";\n}\n\n.mdi-social-person-outline:before {\n content: \"\\e8e7\";\n}\n\n.mdi-social-person:before {\n content: \"\\e8e8\";\n}\n\n.mdi-social-plus-one:before {\n content: \"\\e8e9\";\n}\n\n.mdi-social-poll:before {\n content: \"\\e8ea\";\n}\n\n.mdi-social-public:before {\n content: \"\\e8eb\";\n}\n\n.mdi-social-school:before {\n content: \"\\e8ec\";\n}\n\n.mdi-social-share:before {\n content: \"\\e8ed\";\n}\n\n.mdi-social-whatshot:before {\n content: \"\\e8ee\";\n}\n\n.mdi-toggle-check-box-outline-blank:before {\n content: \"\\e8ef\";\n}\n\n.mdi-toggle-check-box:before {\n content: \"\\e8f0\";\n}\n\n.mdi-toggle-radio-button-off:before {\n content: \"\\e8f1\";\n}\n\n.mdi-toggle-radio-button-on:before {\n content: \"\\e8f2\";\n}\n\n.mdi-toggle-star-half:before {\n content: \"\\e8f3\";\n}\n\n.mdi-toggle-star-outline:before {\n content: \"\\e8f4\";\n}\n\n.mdi-toggle-star:before {\n content: \"\\e8f5\";\n}\n\n.container {\n margin: 0 auto;\n max-width: 1280px;\n width: 90%;\n}\n\n@media only screen and (min-width: 601px) {\n .container {\n width: 85%;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .container {\n width: 70%;\n }\n}\n\n.container .row {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n}\n\n.section {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.section.no-pad {\n padding: 0;\n}\n\n.section.no-pad-bot {\n padding-bottom: 0;\n}\n\n.section.no-pad-top {\n padding-top: 0;\n}\n\n.row {\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 20px;\n}\n\n.row:after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.row .col {\n float: left;\n box-sizing: border-box;\n padding: 0 0.75rem;\n}\n\n.row .col[class*=\"push-\"], .row .col[class*=\"pull-\"] {\n position: relative;\n}\n\n.row .col.s1 {\n width: 8.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s2 {\n width: 16.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s3 {\n width: 25%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s4 {\n width: 33.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s5 {\n width: 41.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s6 {\n width: 50%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s7 {\n width: 58.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s8 {\n width: 66.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s9 {\n width: 75%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s10 {\n width: 83.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s11 {\n width: 91.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s12 {\n width: 100%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.offset-s1 {\n margin-left: 8.3333333333%;\n}\n\n.row .col.pull-s1 {\n right: 8.3333333333%;\n}\n\n.row .col.push-s1 {\n left: 8.3333333333%;\n}\n\n.row .col.offset-s2 {\n margin-left: 16.6666666667%;\n}\n\n.row .col.pull-s2 {\n right: 16.6666666667%;\n}\n\n.row .col.push-s2 {\n left: 16.6666666667%;\n}\n\n.row .col.offset-s3 {\n margin-left: 25%;\n}\n\n.row .col.pull-s3 {\n right: 25%;\n}\n\n.row .col.push-s3 {\n left: 25%;\n}\n\n.row .col.offset-s4 {\n margin-left: 33.3333333333%;\n}\n\n.row .col.pull-s4 {\n right: 33.3333333333%;\n}\n\n.row .col.push-s4 {\n left: 33.3333333333%;\n}\n\n.row .col.offset-s5 {\n margin-left: 41.6666666667%;\n}\n\n.row .col.pull-s5 {\n right: 41.6666666667%;\n}\n\n.row .col.push-s5 {\n left: 41.6666666667%;\n}\n\n.row .col.offset-s6 {\n margin-left: 50%;\n}\n\n.row .col.pull-s6 {\n right: 50%;\n}\n\n.row .col.push-s6 {\n left: 50%;\n}\n\n.row .col.offset-s7 {\n margin-left: 58.3333333333%;\n}\n\n.row .col.pull-s7 {\n right: 58.3333333333%;\n}\n\n.row .col.push-s7 {\n left: 58.3333333333%;\n}\n\n.row .col.offset-s8 {\n margin-left: 66.6666666667%;\n}\n\n.row .col.pull-s8 {\n right: 66.6666666667%;\n}\n\n.row .col.push-s8 {\n left: 66.6666666667%;\n}\n\n.row .col.offset-s9 {\n margin-left: 75%;\n}\n\n.row .col.pull-s9 {\n right: 75%;\n}\n\n.row .col.push-s9 {\n left: 75%;\n}\n\n.row .col.offset-s10 {\n margin-left: 83.3333333333%;\n}\n\n.row .col.pull-s10 {\n right: 83.3333333333%;\n}\n\n.row .col.push-s10 {\n left: 83.3333333333%;\n}\n\n.row .col.offset-s11 {\n margin-left: 91.6666666667%;\n}\n\n.row .col.pull-s11 {\n right: 91.6666666667%;\n}\n\n.row .col.push-s11 {\n left: 91.6666666667%;\n}\n\n.row .col.offset-s12 {\n margin-left: 100%;\n}\n\n.row .col.pull-s12 {\n right: 100%;\n}\n\n.row .col.push-s12 {\n left: 100%;\n}\n\n@media only screen and (min-width: 601px) {\n .row .col.m1 {\n width: 8.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m2 {\n width: 16.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m3 {\n width: 25%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m4 {\n width: 33.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m5 {\n width: 41.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m6 {\n width: 50%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m7 {\n width: 58.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m8 {\n width: 66.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m9 {\n width: 75%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m10 {\n width: 83.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m11 {\n width: 91.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m12 {\n width: 100%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.offset-m1 {\n margin-left: 8.3333333333%;\n }\n .row .col.pull-m1 {\n right: 8.3333333333%;\n }\n .row .col.push-m1 {\n left: 8.3333333333%;\n }\n .row .col.offset-m2 {\n margin-left: 16.6666666667%;\n }\n .row .col.pull-m2 {\n right: 16.6666666667%;\n }\n .row .col.push-m2 {\n left: 16.6666666667%;\n }\n .row .col.offset-m3 {\n margin-left: 25%;\n }\n .row .col.pull-m3 {\n right: 25%;\n }\n .row .col.push-m3 {\n left: 25%;\n }\n .row .col.offset-m4 {\n margin-left: 33.3333333333%;\n }\n .row .col.pull-m4 {\n right: 33.3333333333%;\n }\n .row .col.push-m4 {\n left: 33.3333333333%;\n }\n .row .col.offset-m5 {\n margin-left: 41.6666666667%;\n }\n .row .col.pull-m5 {\n right: 41.6666666667%;\n }\n .row .col.push-m5 {\n left: 41.6666666667%;\n }\n .row .col.offset-m6 {\n margin-left: 50%;\n }\n .row .col.pull-m6 {\n right: 50%;\n }\n .row .col.push-m6 {\n left: 50%;\n }\n .row .col.offset-m7 {\n margin-left: 58.3333333333%;\n }\n .row .col.pull-m7 {\n right: 58.3333333333%;\n }\n .row .col.push-m7 {\n left: 58.3333333333%;\n }\n .row .col.offset-m8 {\n margin-left: 66.6666666667%;\n }\n .row .col.pull-m8 {\n right: 66.6666666667%;\n }\n .row .col.push-m8 {\n left: 66.6666666667%;\n }\n .row .col.offset-m9 {\n margin-left: 75%;\n }\n .row .col.pull-m9 {\n right: 75%;\n }\n .row .col.push-m9 {\n left: 75%;\n }\n .row .col.offset-m10 {\n margin-left: 83.3333333333%;\n }\n .row .col.pull-m10 {\n right: 83.3333333333%;\n }\n .row .col.push-m10 {\n left: 83.3333333333%;\n }\n .row .col.offset-m11 {\n margin-left: 91.6666666667%;\n }\n .row .col.pull-m11 {\n right: 91.6666666667%;\n }\n .row .col.push-m11 {\n left: 91.6666666667%;\n }\n .row .col.offset-m12 {\n margin-left: 100%;\n }\n .row .col.pull-m12 {\n right: 100%;\n }\n .row .col.push-m12 {\n left: 100%;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .row .col.l1 {\n width: 8.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l2 {\n width: 16.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l3 {\n width: 25%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l4 {\n width: 33.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l5 {\n width: 41.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l6 {\n width: 50%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l7 {\n width: 58.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l8 {\n width: 66.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l9 {\n width: 75%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l10 {\n width: 83.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l11 {\n width: 91.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l12 {\n width: 100%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.offset-l1 {\n margin-left: 8.3333333333%;\n }\n .row .col.pull-l1 {\n right: 8.3333333333%;\n }\n .row .col.push-l1 {\n left: 8.3333333333%;\n }\n .row .col.offset-l2 {\n margin-left: 16.6666666667%;\n }\n .row .col.pull-l2 {\n right: 16.6666666667%;\n }\n .row .col.push-l2 {\n left: 16.6666666667%;\n }\n .row .col.offset-l3 {\n margin-left: 25%;\n }\n .row .col.pull-l3 {\n right: 25%;\n }\n .row .col.push-l3 {\n left: 25%;\n }\n .row .col.offset-l4 {\n margin-left: 33.3333333333%;\n }\n .row .col.pull-l4 {\n right: 33.3333333333%;\n }\n .row .col.push-l4 {\n left: 33.3333333333%;\n }\n .row .col.offset-l5 {\n margin-left: 41.6666666667%;\n }\n .row .col.pull-l5 {\n right: 41.6666666667%;\n }\n .row .col.push-l5 {\n left: 41.6666666667%;\n }\n .row .col.offset-l6 {\n margin-left: 50%;\n }\n .row .col.pull-l6 {\n right: 50%;\n }\n .row .col.push-l6 {\n left: 50%;\n }\n .row .col.offset-l7 {\n margin-left: 58.3333333333%;\n }\n .row .col.pull-l7 {\n right: 58.3333333333%;\n }\n .row .col.push-l7 {\n left: 58.3333333333%;\n }\n .row .col.offset-l8 {\n margin-left: 66.6666666667%;\n }\n .row .col.pull-l8 {\n right: 66.6666666667%;\n }\n .row .col.push-l8 {\n left: 66.6666666667%;\n }\n .row .col.offset-l9 {\n margin-left: 75%;\n }\n .row .col.pull-l9 {\n right: 75%;\n }\n .row .col.push-l9 {\n left: 75%;\n }\n .row .col.offset-l10 {\n margin-left: 83.3333333333%;\n }\n .row .col.pull-l10 {\n right: 83.3333333333%;\n }\n .row .col.push-l10 {\n left: 83.3333333333%;\n }\n .row .col.offset-l11 {\n margin-left: 91.6666666667%;\n }\n .row .col.pull-l11 {\n right: 91.6666666667%;\n }\n .row .col.push-l11 {\n left: 91.6666666667%;\n }\n .row .col.offset-l12 {\n margin-left: 100%;\n }\n .row .col.pull-l12 {\n right: 100%;\n }\n .row .col.push-l12 {\n left: 100%;\n }\n}\n\nnav {\n color: #fff;\n background-color: #ee6e73;\n width: 100%;\n height: 56px;\n line-height: 56px;\n}\n\nnav a {\n color: #fff;\n}\n\nnav i,\nnav [class^=\"mdi-\"], nav [class*=\"mdi-\"],\nnav i.material-icons {\n display: block;\n font-size: 2rem;\n height: 56px;\n line-height: 56px;\n}\n\nnav .nav-wrapper {\n position: relative;\n height: 100%;\n}\n\n@media only screen and (min-width: 993px) {\n nav a.button-collapse {\n display: none;\n }\n}\n\nnav .button-collapse {\n float: left;\n position: relative;\n z-index: 1;\n height: 56px;\n}\n\nnav .button-collapse i {\n font-size: 2.7rem;\n height: 56px;\n line-height: 56px;\n}\n\nnav .brand-logo {\n position: absolute;\n color: #fff;\n display: inline-block;\n font-size: 2.1rem;\n padding: 0;\n white-space: nowrap;\n}\n\nnav .brand-logo.center {\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n}\n\n@media only screen and (max-width: 992px) {\n nav .brand-logo {\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n }\n nav .brand-logo.left, nav .brand-logo.right {\n padding: 0;\n -webkit-transform: none;\n transform: none;\n }\n nav .brand-logo.left {\n left: 0.5rem;\n }\n nav .brand-logo.right {\n right: 0.5rem;\n left: auto;\n }\n}\n\nnav .brand-logo.right {\n right: 0.5rem;\n padding: 0;\n}\n\nnav ul {\n margin: 0;\n}\n\nnav ul li {\n transition: background-color .3s;\n float: left;\n padding: 0;\n}\n\nnav ul li.active {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\nnav ul a {\n transition: background-color .3s;\n font-size: 1rem;\n color: #fff;\n display: block;\n padding: 0 15px;\n cursor: pointer;\n}\n\nnav ul a.btn, nav ul a.btn-large, nav ul a.btn-large, nav ul a.btn-flat, nav ul a.btn-floating {\n margin-top: -2px;\n margin-left: 15px;\n margin-right: 15px;\n}\n\nnav ul a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\nnav ul.left {\n float: left;\n}\n\nnav .input-field {\n margin: 0;\n}\n\nnav .input-field input {\n height: 100%;\n font-size: 1.2rem;\n border: none;\n padding-left: 2rem;\n}\n\nnav .input-field input:focus, nav .input-field input[type=text]:valid, nav .input-field input[type=password]:valid, nav .input-field input[type=email]:valid, nav .input-field input[type=url]:valid, nav .input-field input[type=date]:valid {\n border: none;\n box-shadow: none;\n}\n\nnav .input-field label {\n top: 0;\n left: 0;\n}\n\nnav .input-field label i {\n color: rgba(255, 255, 255, 0.7);\n transition: color .3s;\n}\n\nnav .input-field label.active i {\n color: #fff;\n}\n\nnav .input-field label.active {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n\n.navbar-fixed {\n position: relative;\n height: 56px;\n z-index: 998;\n}\n\n.navbar-fixed nav {\n position: fixed;\n}\n\n@media only screen and (min-width: 601px) {\n nav, nav .nav-wrapper i, nav a.button-collapse, nav a.button-collapse i {\n height: 64px;\n line-height: 64px;\n }\n .navbar-fixed {\n height: 64px;\n }\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: local(Roboto Thin), url(\"../font/roboto/Roboto-Thin.eot\");\n src: url(\"../font/roboto/Roboto-Thin.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Thin.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Thin.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Thin.ttf\") format(\"truetype\");\n font-weight: 200;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: local(Roboto Light), url(\"../font/roboto/Roboto-Light.eot\");\n src: url(\"../font/roboto/Roboto-Light.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Light.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Light.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Light.ttf\") format(\"truetype\");\n font-weight: 300;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: local(Roboto Regular), url(\"../font/roboto/Roboto-Regular.eot\");\n src: url(\"../font/roboto/Roboto-Regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Regular.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Regular.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Regular.ttf\") format(\"truetype\");\n font-weight: 400;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: url(\"../font/roboto/Roboto-Medium.eot\");\n src: url(\"../font/roboto/Roboto-Medium.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Medium.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Medium.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Medium.ttf\") format(\"truetype\");\n font-weight: 500;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: url(\"../font/roboto/Roboto-Bold.eot\");\n src: url(\"../font/roboto/Roboto-Bold.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Bold.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Bold.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Bold.ttf\") format(\"truetype\");\n font-weight: 700;\n}\n\na {\n text-decoration: none;\n}\n\nhtml {\n line-height: 1.5;\n font-family: \"Roboto\", sans-serif;\n font-weight: normal;\n color: rgba(0, 0, 0, 0.87);\n}\n\n@media only screen and (min-width: 0) {\n html {\n font-size: 14px;\n }\n}\n\n@media only screen and (min-width: 992px) {\n html {\n font-size: 14.5px;\n }\n}\n\n@media only screen and (min-width: 1200px) {\n html {\n font-size: 15px;\n }\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-weight: 400;\n line-height: 1.1;\n}\n\nh1 a, h2 a, h3 a, h4 a, h5 a, h6 a {\n font-weight: inherit;\n}\n\nh1 {\n font-size: 4.2rem;\n line-height: 110%;\n margin: 2.1rem 0 1.68rem 0;\n}\n\nh2 {\n font-size: 3.56rem;\n line-height: 110%;\n margin: 1.78rem 0 1.424rem 0;\n}\n\nh3 {\n font-size: 2.92rem;\n line-height: 110%;\n margin: 1.46rem 0 1.168rem 0;\n}\n\nh4 {\n font-size: 2.28rem;\n line-height: 110%;\n margin: 1.14rem 0 0.912rem 0;\n}\n\nh5 {\n font-size: 1.64rem;\n line-height: 110%;\n margin: 0.82rem 0 0.656rem 0;\n}\n\nh6 {\n font-size: 1rem;\n line-height: 110%;\n margin: 0.5rem 0 0.4rem 0;\n}\n\nem {\n font-style: italic;\n}\n\nstrong {\n font-weight: 500;\n}\n\nsmall {\n font-size: 75%;\n}\n\n.light, footer.page-footer .footer-copyright {\n font-weight: 300;\n}\n\n.thin {\n font-weight: 200;\n}\n\n.flow-text {\n font-weight: 300;\n}\n\n@media only screen and (min-width: 360px) {\n .flow-text {\n font-size: 1.2rem;\n }\n}\n\n@media only screen and (min-width: 390px) {\n .flow-text {\n font-size: 1.224rem;\n }\n}\n\n@media only screen and (min-width: 420px) {\n .flow-text {\n font-size: 1.248rem;\n }\n}\n\n@media only screen and (min-width: 450px) {\n .flow-text {\n font-size: 1.272rem;\n }\n}\n\n@media only screen and (min-width: 480px) {\n .flow-text {\n font-size: 1.296rem;\n }\n}\n\n@media only screen and (min-width: 510px) {\n .flow-text {\n font-size: 1.32rem;\n }\n}\n\n@media only screen and (min-width: 540px) {\n .flow-text {\n font-size: 1.344rem;\n }\n}\n\n@media only screen and (min-width: 570px) {\n .flow-text {\n font-size: 1.368rem;\n }\n}\n\n@media only screen and (min-width: 600px) {\n .flow-text {\n font-size: 1.392rem;\n }\n}\n\n@media only screen and (min-width: 630px) {\n .flow-text {\n font-size: 1.416rem;\n }\n}\n\n@media only screen and (min-width: 660px) {\n .flow-text {\n font-size: 1.44rem;\n }\n}\n\n@media only screen and (min-width: 690px) {\n .flow-text {\n font-size: 1.464rem;\n }\n}\n\n@media only screen and (min-width: 720px) {\n .flow-text {\n font-size: 1.488rem;\n }\n}\n\n@media only screen and (min-width: 750px) {\n .flow-text {\n font-size: 1.512rem;\n }\n}\n\n@media only screen and (min-width: 780px) {\n .flow-text {\n font-size: 1.536rem;\n }\n}\n\n@media only screen and (min-width: 810px) {\n .flow-text {\n font-size: 1.56rem;\n }\n}\n\n@media only screen and (min-width: 840px) {\n .flow-text {\n font-size: 1.584rem;\n }\n}\n\n@media only screen and (min-width: 870px) {\n .flow-text {\n font-size: 1.608rem;\n }\n}\n\n@media only screen and (min-width: 900px) {\n .flow-text {\n font-size: 1.632rem;\n }\n}\n\n@media only screen and (min-width: 930px) {\n .flow-text {\n font-size: 1.656rem;\n }\n}\n\n@media only screen and (min-width: 960px) {\n .flow-text {\n font-size: 1.68rem;\n }\n}\n\n@media only screen and (max-width: 360px) {\n .flow-text {\n font-size: 1.2rem;\n }\n}\n\n.card-panel {\n transition: box-shadow .25s;\n padding: 20px;\n margin: 0.5rem 0 1rem 0;\n border-radius: 2px;\n background-color: #fff;\n}\n\n.card {\n position: relative;\n margin: 0.5rem 0 1rem 0;\n background-color: #fff;\n transition: box-shadow .25s;\n border-radius: 2px;\n}\n\n.card .card-title {\n font-size: 24px;\n font-weight: 300;\n}\n\n.card .card-title.activator {\n cursor: pointer;\n}\n\n.card.small, .card.medium, .card.large {\n position: relative;\n}\n\n.card.small .card-image, .card.medium .card-image, .card.large .card-image {\n max-height: 60%;\n overflow: hidden;\n}\n\n.card.small .card-content, .card.medium .card-content, .card.large .card-content {\n max-height: 40%;\n overflow: hidden;\n}\n\n.card.small .card-action, .card.medium .card-action, .card.large .card-action {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n background-color: inherit;\n}\n\n.card.small {\n height: 300px;\n}\n\n.card.medium {\n height: 400px;\n}\n\n.card.large {\n height: 500px;\n}\n\n.card .card-image {\n position: relative;\n}\n\n.card .card-image img {\n display: block;\n border-radius: 2px 2px 0 0;\n position: relative;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n}\n\n.card .card-image .card-title {\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 20px;\n}\n\n.card .card-content {\n padding: 20px;\n border-radius: 0 0 2px 2px;\n}\n\n.card .card-content p {\n margin: 0;\n color: inherit;\n}\n\n.card .card-content .card-title {\n line-height: 48px;\n}\n\n.card .card-action {\n border-top: 1px solid rgba(160, 160, 160, 0.2);\n padding: 20px;\n}\n\n.card .card-action a:not(.btn):not(.btn-large):not(.btn-floating) {\n color: #ffab40;\n margin-right: 20px;\n transition: color .3s ease;\n text-transform: uppercase;\n}\n\n.card .card-action a:not(.btn):not(.btn-large):not(.btn-floating):hover {\n color: #ffd8a6;\n}\n\n.card .card-reveal {\n padding: 20px;\n position: absolute;\n background-color: #fff;\n width: 100%;\n overflow-y: auto;\n top: 100%;\n height: 100%;\n z-index: 1;\n display: none;\n}\n\n.card .card-reveal .card-title {\n cursor: pointer;\n display: block;\n}\n\n#toast-container {\n display: block;\n position: fixed;\n z-index: 10000;\n}\n\n@media only screen and (max-width: 600px) {\n #toast-container {\n min-width: 100%;\n bottom: 0%;\n }\n}\n\n@media only screen and (min-width: 601px) and (max-width: 992px) {\n #toast-container {\n left: 5%;\n bottom: 7%;\n max-width: 90%;\n }\n}\n\n@media only screen and (min-width: 993px) {\n #toast-container {\n top: 10%;\n right: 7%;\n max-width: 86%;\n }\n}\n\n.toast {\n border-radius: 2px;\n top: 0;\n width: auto;\n clear: both;\n margin-top: 10px;\n position: relative;\n max-width: 100%;\n height: auto;\n min-height: 48px;\n line-height: 1.5em;\n word-break: break-all;\n background-color: #323232;\n padding: 10px 25px;\n font-size: 1.1rem;\n font-weight: 300;\n color: #fff;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: space-between;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.toast .btn, .toast .btn-large, .toast .btn-flat {\n margin: 0;\n margin-left: 3rem;\n}\n\n.toast.rounded {\n border-radius: 24px;\n}\n\n@media only screen and (max-width: 600px) {\n .toast {\n width: 100%;\n border-radius: 0;\n }\n}\n\n@media only screen and (min-width: 601px) and (max-width: 992px) {\n .toast {\n float: left;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .toast {\n float: right;\n }\n}\n\n.tabs {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n height: 48px;\n background-color: #fff;\n margin: 0 auto;\n width: 100%;\n white-space: nowrap;\n}\n\n.tabs .tab {\n -webkit-box-flex: 1;\n -webkit-flex-grow: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n display: block;\n float: left;\n text-align: center;\n line-height: 48px;\n height: 48px;\n padding: 0;\n margin: 0;\n text-transform: uppercase;\n text-overflow: ellipsis;\n overflow: hidden;\n letter-spacing: .8px;\n width: 15%;\n min-width: 80px;\n}\n\n.tabs .tab a {\n color: #ee6e73;\n display: block;\n width: 100%;\n height: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n transition: color .28s ease;\n}\n\n.tabs .tab a:hover {\n color: #f9c9cb;\n}\n\n.tabs .tab.disabled a {\n color: #f9c9cb;\n cursor: default;\n}\n\n.tabs .indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #f6b2b5;\n will-change: left, right;\n}\n\n.material-tooltip {\n padding: 10px 8px;\n font-size: 1rem;\n z-index: 2000;\n background-color: transparent;\n border-radius: 2px;\n color: #fff;\n min-height: 36px;\n line-height: 120%;\n opacity: 0;\n display: none;\n position: absolute;\n text-align: center;\n max-width: calc(100% - 4px);\n overflow: hidden;\n left: 0;\n top: 0;\n will-change: top, left;\n}\n\n.backdrop {\n position: absolute;\n opacity: 0;\n display: none;\n height: 7px;\n width: 14px;\n border-radius: 0 0 14px 14px;\n background-color: #323232;\n z-index: -1;\n -webkit-transform-origin: 50% 10%;\n transform-origin: 50% 10%;\n will-change: transform, opacity;\n}\n\n.btn, .btn-large, .btn-flat {\n border: none;\n border-radius: 2px;\n display: inline-block;\n height: 36px;\n line-height: 36px;\n outline: 0;\n padding: 0 2rem;\n text-transform: uppercase;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n}\n\n.btn.disabled, .disabled.btn-large, .btn-floating.disabled, .btn-large.disabled, .btn:disabled, .btn-large:disabled, .btn-large:disabled, .btn-floating:disabled {\n background-color: #DFDFDF !important;\n box-shadow: none;\n color: #9F9F9F !important;\n cursor: default;\n}\n\n.btn.disabled *, .disabled.btn-large *, .btn-floating.disabled *, .btn-large.disabled *, .btn:disabled *, .btn-large:disabled *, .btn-large:disabled *, .btn-floating:disabled * {\n pointer-events: none;\n}\n\n.btn.disabled:hover, .disabled.btn-large:hover, .btn-floating.disabled:hover, .btn-large.disabled:hover, .btn:disabled:hover, .btn-large:disabled:hover, .btn-large:disabled:hover, .btn-floating:disabled:hover {\n background-color: #DFDFDF;\n color: #9F9F9F;\n}\n\n.btn i, .btn-large i, .btn-floating i, .btn-large i, .btn-flat i {\n font-size: 1.3rem;\n line-height: inherit;\n}\n\n.btn, .btn-large {\n text-decoration: none;\n color: #fff;\n background-color: #26a69a;\n text-align: center;\n letter-spacing: .5px;\n transition: .2s ease-out;\n cursor: pointer;\n}\n\n.btn:hover, .btn-large:hover {\n background-color: #2bbbad;\n}\n\n.btn-floating {\n display: inline-block;\n color: #fff;\n position: relative;\n overflow: hidden;\n z-index: 1;\n width: 37px;\n height: 37px;\n line-height: 37px;\n padding: 0;\n background-color: #26a69a;\n border-radius: 50%;\n transition: .3s;\n cursor: pointer;\n vertical-align: middle;\n}\n\n.btn-floating i {\n width: inherit;\n display: inline-block;\n text-align: center;\n color: #fff;\n font-size: 1.6rem;\n line-height: 37px;\n}\n\n.btn-floating:hover {\n background-color: #26a69a;\n}\n\n.btn-floating:before {\n border-radius: 0;\n}\n\n.btn-floating.btn-large {\n width: 55.5px;\n height: 55.5px;\n}\n\n.btn-floating.btn-large i {\n line-height: 55.5px;\n}\n\nbutton.btn-floating {\n border: none;\n}\n\n.fixed-action-btn {\n position: fixed;\n right: 23px;\n bottom: 23px;\n padding-top: 15px;\n margin-bottom: 0;\n z-index: 998;\n}\n\n.fixed-action-btn.active ul {\n visibility: visible;\n}\n\n.fixed-action-btn.horizontal {\n padding: 0 0 0 15px;\n}\n\n.fixed-action-btn.horizontal ul {\n text-align: right;\n right: 64px;\n top: 50%;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n height: 100%;\n left: initial;\n width: 500px;\n /*width 100% only goes to width of button container */\n}\n\n.fixed-action-btn.horizontal ul li {\n display: inline-block;\n margin: 15px 15px 0 0;\n}\n\n.fixed-action-btn ul {\n left: 0;\n right: 0;\n text-align: center;\n position: absolute;\n bottom: 64px;\n margin: 0;\n visibility: hidden;\n}\n\n.fixed-action-btn ul li {\n margin-bottom: 15px;\n}\n\n.fixed-action-btn ul a.btn-floating {\n opacity: 0;\n}\n\n.btn-flat {\n box-shadow: none;\n background-color: transparent;\n color: #343434;\n cursor: pointer;\n}\n\n.btn-flat.disabled {\n color: #b3b3b3;\n cursor: default;\n}\n\n.btn-large {\n height: 54px;\n line-height: 56px;\n}\n\n.btn-large i {\n font-size: 1.6rem;\n}\n\n.btn-block {\n display: block;\n}\n\n.dropdown-content {\n background-color: #fff;\n margin: 0;\n display: none;\n min-width: 100px;\n max-height: 650px;\n overflow-y: auto;\n opacity: 0;\n position: absolute;\n z-index: 999;\n will-change: width, height;\n}\n\n.dropdown-content li {\n clear: both;\n color: rgba(0, 0, 0, 0.87);\n cursor: pointer;\n min-height: 50px;\n line-height: 1.5rem;\n width: 100%;\n text-align: left;\n text-transform: none;\n}\n\n.dropdown-content li:hover, .dropdown-content li.active, .dropdown-content li.selected {\n background-color: #eee;\n}\n\n.dropdown-content li.active.selected {\n background-color: #e1e1e1;\n}\n\n.dropdown-content li.divider {\n min-height: 0;\n height: 1px;\n}\n\n.dropdown-content li > a, .dropdown-content li > span {\n font-size: 16px;\n color: #26a69a;\n display: block;\n line-height: 22px;\n padding: 14px 16px;\n}\n\n.dropdown-content li > span > label {\n top: 1px;\n left: 3px;\n height: 18px;\n}\n\n.dropdown-content li > a > i {\n height: inherit;\n line-height: inherit;\n}\n\n/*!\n * Waves v0.6.0\n * http://fian.my.id/Waves\n *\n * Copyright 2014 Alfiana E. Sibuea and other contributors\n * Released under the MIT license\n * https://github.com/fians/Waves/blob/master/LICENSE\n */\n.waves-effect {\n position: relative;\n cursor: pointer;\n display: inline-block;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n vertical-align: middle;\n z-index: 1;\n will-change: opacity, transform;\n transition: all .3s ease-out;\n}\n\n.waves-effect .waves-ripple {\n position: absolute;\n border-radius: 50%;\n width: 20px;\n height: 20px;\n margin-top: -10px;\n margin-left: -10px;\n opacity: 0;\n background: rgba(0, 0, 0, 0.2);\n transition: all 0.7s ease-out;\n transition-property: opacity, -webkit-transform;\n transition-property: transform, opacity;\n transition-property: transform, opacity, -webkit-transform;\n -webkit-transform: scale(0);\n transform: scale(0);\n pointer-events: none;\n}\n\n.waves-effect.waves-light .waves-ripple {\n background-color: rgba(255, 255, 255, 0.45);\n}\n\n.waves-effect.waves-red .waves-ripple {\n background-color: rgba(244, 67, 54, 0.7);\n}\n\n.waves-effect.waves-yellow .waves-ripple {\n background-color: rgba(255, 235, 59, 0.7);\n}\n\n.waves-effect.waves-orange .waves-ripple {\n background-color: rgba(255, 152, 0, 0.7);\n}\n\n.waves-effect.waves-purple .waves-ripple {\n background-color: rgba(156, 39, 176, 0.7);\n}\n\n.waves-effect.waves-green .waves-ripple {\n background-color: rgba(76, 175, 80, 0.7);\n}\n\n.waves-effect.waves-teal .waves-ripple {\n background-color: rgba(0, 150, 136, 0.7);\n}\n\n.waves-effect input[type=\"button\"], .waves-effect input[type=\"reset\"], .waves-effect input[type=\"submit\"] {\n border: 0;\n font-style: normal;\n font-size: inherit;\n text-transform: inherit;\n background: none;\n}\n\n.waves-notransition {\n transition: none !important;\n}\n\n.waves-circle {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);\n}\n\n.waves-input-wrapper {\n border-radius: 0.2em;\n vertical-align: bottom;\n}\n\n.waves-input-wrapper .waves-button-input {\n position: relative;\n top: 0;\n left: 0;\n z-index: 1;\n}\n\n.waves-circle {\n text-align: center;\n width: 2.5em;\n height: 2.5em;\n line-height: 2.5em;\n border-radius: 50%;\n -webkit-mask-image: none;\n}\n\n.waves-block {\n display: block;\n}\n\n/* Firefox Bug: link not triggered */\na.waves-effect .waves-ripple {\n z-index: -1;\n}\n\n.modal {\n display: none;\n position: fixed;\n left: 0;\n right: 0;\n background-color: #fafafa;\n padding: 0;\n max-height: 70%;\n width: 55%;\n margin: auto;\n overflow-y: auto;\n border-radius: 2px;\n will-change: top, opacity;\n}\n\n@media only screen and (max-width: 992px) {\n .modal {\n width: 80%;\n }\n}\n\n.modal h1, .modal h2, .modal h3, .modal h4 {\n margin-top: 0;\n}\n\n.modal .modal-content {\n padding: 24px;\n}\n\n.modal .modal-close {\n cursor: pointer;\n}\n\n.modal .modal-footer {\n border-radius: 0 0 2px 2px;\n background-color: #fafafa;\n padding: 4px 6px;\n height: 56px;\n width: 100%;\n}\n\n.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-flat {\n float: right;\n margin: 6px 0;\n}\n\n.lean-overlay {\n position: fixed;\n z-index: 999;\n top: -100px;\n left: 0;\n bottom: 0;\n right: 0;\n height: 125%;\n width: 100%;\n background: #000;\n display: none;\n will-change: opacity;\n}\n\n.modal.modal-fixed-footer {\n padding: 0;\n height: 70%;\n}\n\n.modal.modal-fixed-footer .modal-content {\n position: absolute;\n height: calc(100% - 56px);\n max-height: 100%;\n width: 100%;\n overflow-y: auto;\n}\n\n.modal.modal-fixed-footer .modal-footer {\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n position: absolute;\n bottom: 0;\n}\n\n.modal.bottom-sheet {\n top: auto;\n bottom: -100%;\n margin: 0;\n width: 100%;\n max-height: 45%;\n border-radius: 0;\n will-change: bottom, opacity;\n}\n\n.collapsible {\n border-top: 1px solid #ddd;\n border-right: 1px solid #ddd;\n border-left: 1px solid #ddd;\n margin: 0.5rem 0 1rem 0;\n}\n\n.collapsible-header {\n display: block;\n cursor: pointer;\n min-height: 3rem;\n line-height: 3rem;\n padding: 0 1rem;\n background-color: #fff;\n border-bottom: 1px solid #ddd;\n}\n\n.collapsible-header i {\n width: 2rem;\n font-size: 1.6rem;\n line-height: 3rem;\n display: block;\n float: left;\n text-align: center;\n margin-right: 1rem;\n}\n\n.collapsible-body {\n display: none;\n border-bottom: 1px solid #ddd;\n box-sizing: border-box;\n}\n\n.collapsible-body p {\n margin: 0;\n padding: 2rem;\n}\n\n.side-nav .collapsible {\n border: none;\n box-shadow: none;\n}\n\n.side-nav .collapsible li {\n padding: 0;\n}\n\n.side-nav .collapsible-header {\n background-color: transparent;\n border: none;\n line-height: inherit;\n height: inherit;\n margin: 0 1rem;\n}\n\n.side-nav .collapsible-header i {\n line-height: inherit;\n}\n\n.side-nav .collapsible-body {\n border: 0;\n background-color: #fff;\n}\n\n.side-nav .collapsible-body li a {\n margin: 0 1rem 0 2rem;\n}\n\n.collapsible.popout {\n border: none;\n box-shadow: none;\n}\n\n.collapsible.popout > li {\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n margin: 0 24px;\n transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n}\n\n.collapsible.popout > li.active {\n box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\n margin: 16px 0;\n}\n\n.chip {\n display: inline-block;\n height: 32px;\n font-size: 13px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.6);\n line-height: 32px;\n padding: 0 12px;\n border-radius: 16px;\n background-color: #e4e4e4;\n}\n\n.chip img {\n float: left;\n margin: 0 8px 0 -12px;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n}\n\n.chip i.material-icons {\n cursor: pointer;\n float: right;\n font-size: 16px;\n line-height: 32px;\n padding-left: 8px;\n}\n\n.materialboxed {\n display: block;\n cursor: -webkit-zoom-in;\n cursor: zoom-in;\n position: relative;\n transition: opacity .4s;\n}\n\n.materialboxed:hover {\n will-change: left, top, width, height;\n}\n\n.materialboxed:hover:not(.active) {\n opacity: .8;\n}\n\n.materialboxed.active {\n cursor: -webkit-zoom-out;\n cursor: zoom-out;\n}\n\n#materialbox-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #292929;\n z-index: 999;\n will-change: opacity;\n}\n\n.materialbox-caption {\n position: fixed;\n display: none;\n color: #fff;\n line-height: 50px;\n bottom: 0;\n width: 100%;\n text-align: center;\n padding: 0% 15%;\n height: 50px;\n z-index: 1000;\n -webkit-font-smoothing: antialiased;\n}\n\n/* Remove Focus Boxes */\nselect:focus {\n outline: 1px solid #c9f3ef;\n}\n\nbutton:focus {\n outline: none;\n background-color: #2ab7a9;\n}\n\nlabel {\n font-size: 0.8rem;\n color: #9e9e9e;\n}\n\n/***************************\n Text Inputs + Textarea\n****************************/\n::-webkit-input-placeholder {\n color: #d1d1d1;\n}\n\n:-moz-placeholder {\n /* Firefox 18- */\n color: #d1d1d1;\n}\n\n::-moz-placeholder {\n /* Firefox 19+ */\n color: #d1d1d1;\n}\n\n:-ms-input-placeholder {\n color: #d1d1d1;\n}\n\ninput:not([type]),\ninput[type=text],\ninput[type=password],\ninput[type=email],\ninput[type=url],\ninput[type=time],\ninput[type=date],\ninput[type=datetime-local],\ninput[type=tel],\ninput[type=number],\ninput[type=search],\ntextarea.materialize-textarea {\n background-color: transparent;\n border: none;\n border-bottom: 1px solid #9e9e9e;\n border-radius: 0;\n outline: none;\n height: 3rem;\n width: 100%;\n font-size: 1rem;\n margin: 0 0 15px 0;\n padding: 0;\n box-shadow: none;\n box-sizing: content-box;\n transition: all .3s;\n}\n\ninput:not([type]):disabled, input:not([type])[readonly=\"readonly\"],\ninput[type=text]:disabled,\ninput[type=text][readonly=\"readonly\"],\ninput[type=password]:disabled,\ninput[type=password][readonly=\"readonly\"],\ninput[type=email]:disabled,\ninput[type=email][readonly=\"readonly\"],\ninput[type=url]:disabled,\ninput[type=url][readonly=\"readonly\"],\ninput[type=time]:disabled,\ninput[type=time][readonly=\"readonly\"],\ninput[type=date]:disabled,\ninput[type=date][readonly=\"readonly\"],\ninput[type=datetime-local]:disabled,\ninput[type=datetime-local][readonly=\"readonly\"],\ninput[type=tel]:disabled,\ninput[type=tel][readonly=\"readonly\"],\ninput[type=number]:disabled,\ninput[type=number][readonly=\"readonly\"],\ninput[type=search]:disabled,\ninput[type=search][readonly=\"readonly\"],\ntextarea.materialize-textarea:disabled,\ntextarea.materialize-textarea[readonly=\"readonly\"] {\n color: rgba(0, 0, 0, 0.26);\n border-bottom: 1px dotted rgba(0, 0, 0, 0.26);\n}\n\ninput:not([type]):disabled + label, input:not([type])[readonly=\"readonly\"] + label,\ninput[type=text]:disabled + label,\ninput[type=text][readonly=\"readonly\"] + label,\ninput[type=password]:disabled + label,\ninput[type=password][readonly=\"readonly\"] + label,\ninput[type=email]:disabled + label,\ninput[type=email][readonly=\"readonly\"] + label,\ninput[type=url]:disabled + label,\ninput[type=url][readonly=\"readonly\"] + label,\ninput[type=time]:disabled + label,\ninput[type=time][readonly=\"readonly\"] + label,\ninput[type=date]:disabled + label,\ninput[type=date][readonly=\"readonly\"] + label,\ninput[type=datetime-local]:disabled + label,\ninput[type=datetime-local][readonly=\"readonly\"] + label,\ninput[type=tel]:disabled + label,\ninput[type=tel][readonly=\"readonly\"] + label,\ninput[type=number]:disabled + label,\ninput[type=number][readonly=\"readonly\"] + label,\ninput[type=search]:disabled + label,\ninput[type=search][readonly=\"readonly\"] + label,\ntextarea.materialize-textarea:disabled + label,\ntextarea.materialize-textarea[readonly=\"readonly\"] + label {\n color: rgba(0, 0, 0, 0.26);\n}\n\ninput:not([type]):focus:not([readonly]),\ninput[type=text]:focus:not([readonly]),\ninput[type=password]:focus:not([readonly]),\ninput[type=email]:focus:not([readonly]),\ninput[type=url]:focus:not([readonly]),\ninput[type=time]:focus:not([readonly]),\ninput[type=date]:focus:not([readonly]),\ninput[type=datetime-local]:focus:not([readonly]),\ninput[type=tel]:focus:not([readonly]),\ninput[type=number]:focus:not([readonly]),\ninput[type=search]:focus:not([readonly]),\ntextarea.materialize-textarea:focus:not([readonly]) {\n border-bottom: 1px solid #26a69a;\n box-shadow: 0 1px 0 0 #26a69a;\n}\n\ninput:not([type]):focus:not([readonly]) + label,\ninput[type=text]:focus:not([readonly]) + label,\ninput[type=password]:focus:not([readonly]) + label,\ninput[type=email]:focus:not([readonly]) + label,\ninput[type=url]:focus:not([readonly]) + label,\ninput[type=time]:focus:not([readonly]) + label,\ninput[type=date]:focus:not([readonly]) + label,\ninput[type=datetime-local]:focus:not([readonly]) + label,\ninput[type=tel]:focus:not([readonly]) + label,\ninput[type=number]:focus:not([readonly]) + label,\ninput[type=search]:focus:not([readonly]) + label,\ntextarea.materialize-textarea:focus:not([readonly]) + label {\n color: #26a69a;\n}\n\ninput:not([type]).valid, input:not([type]):focus.valid,\ninput[type=text].valid,\ninput[type=text]:focus.valid,\ninput[type=password].valid,\ninput[type=password]:focus.valid,\ninput[type=email].valid,\ninput[type=email]:focus.valid,\ninput[type=url].valid,\ninput[type=url]:focus.valid,\ninput[type=time].valid,\ninput[type=time]:focus.valid,\ninput[type=date].valid,\ninput[type=date]:focus.valid,\ninput[type=datetime-local].valid,\ninput[type=datetime-local]:focus.valid,\ninput[type=tel].valid,\ninput[type=tel]:focus.valid,\ninput[type=number].valid,\ninput[type=number]:focus.valid,\ninput[type=search].valid,\ninput[type=search]:focus.valid,\ntextarea.materialize-textarea.valid,\ntextarea.materialize-textarea:focus.valid {\n border-bottom: 1px solid #4CAF50;\n box-shadow: 0 1px 0 0 #4CAF50;\n}\n\ninput:not([type]).valid + label:after,\ninput:not([type]):focus.valid + label:after,\ninput[type=text].valid + label:after,\ninput[type=text]:focus.valid + label:after,\ninput[type=password].valid + label:after,\ninput[type=password]:focus.valid + label:after,\ninput[type=email].valid + label:after,\ninput[type=email]:focus.valid + label:after,\ninput[type=url].valid + label:after,\ninput[type=url]:focus.valid + label:after,\ninput[type=time].valid + label:after,\ninput[type=time]:focus.valid + label:after,\ninput[type=date].valid + label:after,\ninput[type=date]:focus.valid + label:after,\ninput[type=datetime-local].valid + label:after,\ninput[type=datetime-local]:focus.valid + label:after,\ninput[type=tel].valid + label:after,\ninput[type=tel]:focus.valid + label:after,\ninput[type=number].valid + label:after,\ninput[type=number]:focus.valid + label:after,\ninput[type=search].valid + label:after,\ninput[type=search]:focus.valid + label:after,\ntextarea.materialize-textarea.valid + label:after,\ntextarea.materialize-textarea:focus.valid + label:after {\n content: attr(data-success);\n color: #4CAF50;\n opacity: 1;\n}\n\ninput:not([type]).invalid, input:not([type]):focus.invalid,\ninput[type=text].invalid,\ninput[type=text]:focus.invalid,\ninput[type=password].invalid,\ninput[type=password]:focus.invalid,\ninput[type=email].invalid,\ninput[type=email]:focus.invalid,\ninput[type=url].invalid,\ninput[type=url]:focus.invalid,\ninput[type=time].invalid,\ninput[type=time]:focus.invalid,\ninput[type=date].invalid,\ninput[type=date]:focus.invalid,\ninput[type=datetime-local].invalid,\ninput[type=datetime-local]:focus.invalid,\ninput[type=tel].invalid,\ninput[type=tel]:focus.invalid,\ninput[type=number].invalid,\ninput[type=number]:focus.invalid,\ninput[type=search].invalid,\ninput[type=search]:focus.invalid,\ntextarea.materialize-textarea.invalid,\ntextarea.materialize-textarea:focus.invalid {\n border-bottom: 1px solid #F44336;\n box-shadow: 0 1px 0 0 #F44336;\n}\n\ninput:not([type]).invalid + label:after,\ninput:not([type]):focus.invalid + label:after,\ninput[type=text].invalid + label:after,\ninput[type=text]:focus.invalid + label:after,\ninput[type=password].invalid + label:after,\ninput[type=password]:focus.invalid + label:after,\ninput[type=email].invalid + label:after,\ninput[type=email]:focus.invalid + label:after,\ninput[type=url].invalid + label:after,\ninput[type=url]:focus.invalid + label:after,\ninput[type=time].invalid + label:after,\ninput[type=time]:focus.invalid + label:after,\ninput[type=date].invalid + label:after,\ninput[type=date]:focus.invalid + label:after,\ninput[type=datetime-local].invalid + label:after,\ninput[type=datetime-local]:focus.invalid + label:after,\ninput[type=tel].invalid + label:after,\ninput[type=tel]:focus.invalid + label:after,\ninput[type=number].invalid + label:after,\ninput[type=number]:focus.invalid + label:after,\ninput[type=search].invalid + label:after,\ninput[type=search]:focus.invalid + label:after,\ntextarea.materialize-textarea.invalid + label:after,\ntextarea.materialize-textarea:focus.invalid + label:after {\n content: attr(data-error);\n color: #F44336;\n opacity: 1;\n}\n\ninput:not([type]) + label:after,\ninput[type=text] + label:after,\ninput[type=password] + label:after,\ninput[type=email] + label:after,\ninput[type=url] + label:after,\ninput[type=time] + label:after,\ninput[type=date] + label:after,\ninput[type=datetime-local] + label:after,\ninput[type=tel] + label:after,\ninput[type=number] + label:after,\ninput[type=search] + label:after,\ntextarea.materialize-textarea + label:after {\n display: block;\n content: \"\";\n position: absolute;\n top: 65px;\n opacity: 0;\n transition: .2s opacity ease-out, .2s color ease-out;\n}\n\n.input-field {\n position: relative;\n margin-top: 1rem;\n}\n\n.input-field label {\n color: #9e9e9e;\n position: absolute;\n top: 0.8rem;\n left: 0.75rem;\n font-size: 1rem;\n cursor: text;\n transition: .2s ease-out;\n}\n\n.input-field label.active {\n font-size: 0.8rem;\n -webkit-transform: translateY(-140%);\n transform: translateY(-140%);\n}\n\n.input-field .prefix {\n position: absolute;\n width: 3rem;\n font-size: 2rem;\n transition: color .2s;\n}\n\n.input-field .prefix.active {\n color: #26a69a;\n}\n\n.input-field .prefix ~ input,\n.input-field .prefix ~ textarea {\n margin-left: 3rem;\n width: 92%;\n width: calc(100% - 3rem);\n}\n\n.input-field .prefix ~ textarea {\n padding-top: .8rem;\n}\n\n.input-field .prefix ~ label {\n margin-left: 3rem;\n}\n\n@media only screen and (max-width: 992px) {\n .input-field .prefix ~ input {\n width: 86%;\n width: calc(100% - 3rem);\n }\n}\n\n@media only screen and (max-width: 600px) {\n .input-field .prefix ~ input {\n width: 80%;\n width: calc(100% - 3rem);\n }\n}\n\n.input-field input[type=search] {\n display: block;\n line-height: inherit;\n padding-left: 4rem;\n width: calc(100% - 4rem);\n}\n\n.input-field input[type=search]:focus {\n background-color: #fff;\n border: 0;\n box-shadow: none;\n color: #444;\n}\n\n.input-field input[type=search]:focus + label i,\n.input-field input[type=search]:focus ~ .mdi-navigation-close,\n.input-field input[type=search]:focus ~ .material-icons {\n color: #444;\n}\n\n.input-field input[type=search] + label {\n left: 1rem;\n}\n\n.input-field input[type=search] ~ .mdi-navigation-close,\n.input-field input[type=search] ~ .material-icons {\n position: absolute;\n top: 0;\n right: 1rem;\n color: transparent;\n cursor: pointer;\n font-size: 2rem;\n transition: .3s color;\n}\n\ntextarea {\n width: 100%;\n height: 3rem;\n background-color: transparent;\n}\n\ntextarea.materialize-textarea {\n overflow-y: hidden;\n /* prevents scroll bar flash */\n padding: 1.6rem 0;\n /* prevents text jump on Enter keypress */\n resize: none;\n min-height: 3rem;\n}\n\n.hiddendiv {\n display: none;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: break-word;\n /* future version of deprecated 'word-wrap' */\n padding-top: 1.2rem;\n /* prevents text jump on Enter keypress */\n}\n\n/***************\n Radio Buttons\n***************/\n/* Remove default Radio Buttons */\n[type=\"radio\"]:not(:checked),\n[type=\"radio\"]:checked {\n position: absolute;\n left: -9999px;\n visibility: hidden;\n}\n\n[type=\"radio\"]:not(:checked) + label,\n[type=\"radio\"]:checked + label {\n position: relative;\n padding-left: 35px;\n cursor: pointer;\n display: inline-block;\n height: 25px;\n line-height: 25px;\n font-size: 1rem;\n transition: .28s ease;\n /* webkit (konqueror) browsers */\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n[type=\"radio\"] + label:before,\n[type=\"radio\"] + label:after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n margin: 4px;\n width: 16px;\n height: 16px;\n z-index: 0;\n transition: .28s ease;\n}\n\n/* Unchecked styles */\n[type=\"radio\"]:not(:checked) + label:before {\n border-radius: 50%;\n border: 2px solid #5a5a5a;\n}\n\n[type=\"radio\"]:not(:checked) + label:after {\n border-radius: 50%;\n border: 2px solid #5a5a5a;\n z-index: -1;\n -webkit-transform: scale(0);\n transform: scale(0);\n}\n\n/* Checked styles */\n[type=\"radio\"]:checked + label:before {\n border-radius: 50%;\n border: 2px solid transparent;\n}\n\n[type=\"radio\"]:checked + label:after {\n border-radius: 50%;\n border: 2px solid #26a69a;\n background-color: #26a69a;\n z-index: 0;\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n\n/* Radio With gap */\n[type=\"radio\"].with-gap:checked + label:before {\n border-radius: 50%;\n border: 2px solid #26a69a;\n}\n\n[type=\"radio\"].with-gap:checked + label:after {\n border-radius: 50%;\n border: 2px solid #26a69a;\n background-color: #26a69a;\n z-index: 0;\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n}\n\n/* Disabled Radio With gap */\n[type=\"radio\"].with-gap:disabled:checked + label:before {\n border: 2px solid rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"].with-gap:disabled:checked + label:after {\n border: none;\n background-color: rgba(0, 0, 0, 0.26);\n}\n\n/* Disabled style */\n[type=\"radio\"]:disabled:not(:checked) + label:before,\n[type=\"radio\"]:disabled:checked + label:before {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"]:disabled + label {\n color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"]:disabled:not(:checked) + label:before {\n border-color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"]:disabled:checked + label:after {\n background-color: rgba(0, 0, 0, 0.26);\n border-color: #BDBDBD;\n}\n\n/***************\n Checkboxes\n***************/\n/* CUSTOM CSS CHECKBOXES */\nform p {\n margin-bottom: 10px;\n text-align: left;\n}\n\nform p:last-child {\n margin-bottom: 0;\n}\n\n/* Remove default checkbox */\n[type=\"checkbox\"]:not(:checked),\n[type=\"checkbox\"]:checked {\n position: absolute;\n left: -9999px;\n visibility: hidden;\n}\n\n[type=\"checkbox\"] {\n /* checkbox aspect */\n}\n\n[type=\"checkbox\"] + label {\n position: relative;\n padding-left: 35px;\n cursor: pointer;\n display: inline-block;\n height: 25px;\n line-height: 25px;\n font-size: 1rem;\n -webkit-user-select: none;\n /* webkit (safari, chrome) browsers */\n -moz-user-select: none;\n /* mozilla browsers */\n -khtml-user-select: none;\n /* webkit (konqueror) browsers */\n -ms-user-select: none;\n /* IE10+ */\n}\n\n[type=\"checkbox\"] + label:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 18px;\n height: 18px;\n z-index: 0;\n border: 2px solid #5a5a5a;\n border-radius: 1px;\n margin-top: 2px;\n transition: .2s;\n}\n\n[type=\"checkbox\"]:not(:checked):disabled + label:before {\n border: none;\n background-color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"checkbox\"]:checked + label:before {\n top: -4px;\n left: -3px;\n width: 12px;\n height: 22px;\n border-top: 2px solid transparent;\n border-left: 2px solid transparent;\n border-right: 2px solid #26a69a;\n border-bottom: 2px solid #26a69a;\n -webkit-transform: rotate(40deg);\n transform: rotate(40deg);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-origin: 100% 100%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"]:checked:disabled + label:before {\n border-right: 2px solid rgba(0, 0, 0, 0.26);\n border-bottom: 2px solid rgba(0, 0, 0, 0.26);\n}\n\n/* Indeterminate checkbox */\n[type=\"checkbox\"]:indeterminate + label:before {\n left: -10px;\n top: -11px;\n width: 10px;\n height: 22px;\n border-top: none;\n border-left: none;\n border-right: 2px solid #26a69a;\n border-bottom: none;\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-origin: 100% 100%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"]:indeterminate:disabled + label:before {\n border-right: 2px solid rgba(0, 0, 0, 0.26);\n background-color: transparent;\n}\n\n[type=\"checkbox\"].filled-in + label:after {\n border-radius: 2px;\n}\n\n[type=\"checkbox\"].filled-in + label:before,\n[type=\"checkbox\"].filled-in + label:after {\n content: '';\n left: 0;\n position: absolute;\n /* .1s delay is for check animation */\n transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;\n z-index: 1;\n}\n\n[type=\"checkbox\"].filled-in:not(:checked) + label:before {\n width: 0;\n height: 0;\n border: 3px solid transparent;\n left: 6px;\n top: 10px;\n -webkit-transform: rotateZ(37deg);\n transform: rotateZ(37deg);\n -webkit-transform-origin: 20% 40%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"].filled-in:not(:checked) + label:after {\n height: 20px;\n width: 20px;\n background-color: transparent;\n border: 2px solid #5a5a5a;\n top: 0px;\n z-index: 0;\n}\n\n[type=\"checkbox\"].filled-in:checked + label:before {\n top: 0;\n left: 1px;\n width: 8px;\n height: 13px;\n border-top: 2px solid transparent;\n border-left: 2px solid transparent;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n -webkit-transform: rotateZ(37deg);\n transform: rotateZ(37deg);\n -webkit-transform-origin: 100% 100%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"].filled-in:checked + label:after {\n top: 0px;\n width: 20px;\n height: 20px;\n border: 2px solid #26a69a;\n background-color: #26a69a;\n z-index: 0;\n}\n\n[type=\"checkbox\"].filled-in:disabled:not(:checked) + label:before {\n background-color: transparent;\n border: 2px solid transparent;\n}\n\n[type=\"checkbox\"].filled-in:disabled:not(:checked) + label:after {\n border-color: transparent;\n background-color: #BDBDBD;\n}\n\n[type=\"checkbox\"].filled-in:disabled:checked + label:before {\n background-color: transparent;\n}\n\n[type=\"checkbox\"].filled-in:disabled:checked + label:after {\n background-color: #BDBDBD;\n border-color: #BDBDBD;\n}\n\n/***************\n Switch\n***************/\n.switch,\n.switch * {\n -webkit-user-select: none;\n -moz-user-select: none;\n -khtml-user-select: none;\n -ms-user-select: none;\n}\n\n.switch label {\n cursor: pointer;\n}\n\n.switch label input[type=checkbox] {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.switch label input[type=checkbox]:checked + .lever {\n background-color: #84c7c1;\n}\n\n.switch label input[type=checkbox]:checked + .lever:after {\n background-color: #26a69a;\n}\n\n.switch label .lever {\n content: \"\";\n display: inline-block;\n position: relative;\n width: 40px;\n height: 15px;\n background-color: #818181;\n border-radius: 15px;\n margin-right: 10px;\n transition: background 0.3s ease;\n vertical-align: middle;\n margin: 0 16px;\n}\n\n.switch label .lever:after {\n content: \"\";\n position: absolute;\n display: inline-block;\n width: 21px;\n height: 21px;\n background-color: #F1F1F1;\n border-radius: 21px;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);\n left: -5px;\n top: -3px;\n transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease;\n}\n\ninput[type=checkbox]:checked:not(:disabled) ~ .lever:active:after {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(38, 166, 154, 0.1);\n}\n\ninput[type=checkbox]:not(:disabled) ~ .lever:active:after {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.08);\n}\n\n.switch label input[type=checkbox]:checked + .lever:after {\n left: 24px;\n}\n\n.switch input[type=checkbox][disabled] + .lever {\n cursor: default;\n}\n\n.switch label input[type=checkbox][disabled] + .lever:after,\n.switch label input[type=checkbox][disabled]:checked + .lever:after {\n background-color: #BDBDBD;\n}\n\n/***************\n Select Field\n***************/\n.select-label {\n position: absolute;\n}\n\n.select-wrapper {\n position: relative;\n}\n\n.select-wrapper input.select-dropdown {\n position: relative;\n cursor: pointer;\n background-color: transparent;\n border: none;\n border-bottom: 1px solid #9e9e9e;\n outline: none;\n height: 3rem;\n line-height: 3rem;\n width: 100%;\n font-size: 1rem;\n margin: 0 0 15px 0;\n padding: 0;\n display: block;\n}\n\n.select-wrapper span.caret {\n color: initial;\n position: absolute;\n right: 0;\n top: 16px;\n font-size: 10px;\n}\n\n.select-wrapper span.caret.disabled {\n color: rgba(0, 0, 0, 0.26);\n}\n\n.select-wrapper + label {\n position: absolute;\n top: -14px;\n font-size: 0.8rem;\n}\n\nselect {\n display: none;\n}\n\nselect.browser-default {\n display: block;\n}\n\nselect:disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.select-wrapper input.select-dropdown:disabled {\n color: rgba(0, 0, 0, 0.3);\n cursor: default;\n -webkit-user-select: none;\n /* webkit (safari, chrome) browsers */\n -moz-user-select: none;\n /* mozilla browsers */\n -ms-user-select: none;\n /* IE10+ */\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\n\n.select-wrapper i {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.select-dropdown li.disabled,\n.select-dropdown li.disabled > span,\n.select-dropdown li.optgroup {\n color: rgba(0, 0, 0, 0.3);\n background-color: transparent;\n}\n\n.select-dropdown li img {\n height: 40px;\n width: 40px;\n margin: 5px 15px;\n float: right;\n}\n\n.select-dropdown li.optgroup {\n border-top: 1px solid #eee;\n}\n\n.select-dropdown li.optgroup.selected > span {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.select-dropdown li.optgroup > span {\n color: rgba(0, 0, 0, 0.4);\n}\n\n.select-dropdown li.optgroup ~ li:not(.optgroup) {\n padding-left: 1rem;\n}\n\n/*********************\n File Input\n**********************/\n.file-field {\n position: relative;\n}\n\n.file-field .file-path-wrapper {\n overflow: hidden;\n padding-left: 10px;\n}\n\n.file-field input.file-path {\n width: 100%;\n}\n\n.file-field .btn, .file-field .btn-large {\n float: left;\n height: 3rem;\n line-height: 3rem;\n}\n\n.file-field span {\n cursor: pointer;\n}\n\n.file-field input[type=file] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n font-size: 20px;\n cursor: pointer;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n\n/***************\n Range\n***************/\n.range-field {\n position: relative;\n}\n\ninput[type=range], input[type=range] + .thumb {\n cursor: pointer;\n}\n\ninput[type=range] {\n position: relative;\n background-color: transparent;\n border: none;\n outline: none;\n width: 100%;\n margin: 15px 0px;\n padding: 0;\n}\n\ninput[type=range] + .thumb {\n position: absolute;\n border: none;\n height: 0;\n width: 0;\n border-radius: 50%;\n background-color: #26a69a;\n top: 10px;\n margin-left: -6px;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\ninput[type=range] + .thumb .value {\n display: block;\n width: 30px;\n text-align: center;\n color: #26a69a;\n font-size: 0;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\ninput[type=range] + .thumb.active {\n border-radius: 50% 50% 50% 0;\n}\n\ninput[type=range] + .thumb.active .value {\n color: #fff;\n margin-left: -1px;\n margin-top: 8px;\n font-size: 10px;\n}\n\ninput[type=range]:focus {\n outline: none;\n}\n\ninput[type=range] {\n -webkit-appearance: none;\n}\n\ninput[type=range]::-webkit-slider-runnable-track {\n height: 3px;\n background: #c2c0c2;\n border: none;\n}\n\ninput[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: 14px;\n width: 14px;\n border-radius: 50%;\n background-color: #26a69a;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n margin: -5px 0 0 0;\n transition: .3s;\n}\n\ninput[type=range]:focus::-webkit-slider-runnable-track {\n background: #ccc;\n}\n\ninput[type=range] {\n /* fix for FF unable to apply focus style bug */\n border: 1px solid white;\n /*required for proper track sizing in FF*/\n}\n\ninput[type=range]::-moz-range-track {\n height: 3px;\n background: #ddd;\n border: none;\n}\n\ninput[type=range]::-moz-range-thumb {\n border: none;\n height: 14px;\n width: 14px;\n border-radius: 50%;\n background: #26a69a;\n margin-top: -5px;\n}\n\n/*hide the outline behind the border*/\ninput[type=range]:-moz-focusring {\n outline: 1px solid white;\n outline-offset: -1px;\n}\n\ninput[type=range]:focus::-moz-range-track {\n background: #ccc;\n}\n\ninput[type=range]::-ms-track {\n height: 3px;\n /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n background: transparent;\n /*leave room for the larger thumb to overflow with a transparent border */\n border-color: transparent;\n border-width: 6px 0;\n /*remove default tick marks*/\n color: transparent;\n}\n\ninput[type=range]::-ms-fill-lower {\n background: #777;\n}\n\ninput[type=range]::-ms-fill-upper {\n background: #ddd;\n}\n\ninput[type=range]::-ms-thumb {\n border: none;\n height: 14px;\n width: 14px;\n border-radius: 50%;\n background: #26a69a;\n}\n\ninput[type=range]:focus::-ms-fill-lower {\n background: #888;\n}\n\ninput[type=range]:focus::-ms-fill-upper {\n background: #ccc;\n}\n\n/***************************\n Text Inputs + Textarea\n****************************/\nselect {\n background-color: rgba(255, 255, 255, 0.9);\n width: 100%;\n padding: 5px;\n border: 1px solid #f2f2f2;\n border-radius: 2px;\n height: 3rem;\n}\n\n/***************\n Nav List\n***************/\n.table-of-contents.fixed {\n position: fixed;\n}\n\n.table-of-contents li {\n padding: 2px 0;\n}\n\n.table-of-contents a {\n display: inline-block;\n font-weight: 300;\n color: #757575;\n padding-left: 20px;\n height: 1.5rem;\n line-height: 1.5rem;\n letter-spacing: .4;\n display: inline-block;\n}\n\n.table-of-contents a:hover {\n color: #a8a8a8;\n padding-left: 19px;\n border-left: 1px solid #ea4a4f;\n}\n\n.table-of-contents a.active {\n font-weight: 500;\n padding-left: 18px;\n border-left: 2px solid #ea4a4f;\n}\n\n.side-nav {\n position: fixed;\n width: 240px;\n left: -105%;\n top: 0;\n margin: 0;\n height: 100%;\n height: calc(100% + 60px);\n height: -moz-calc(100%);\n padding-bottom: 60px;\n background-color: #fff;\n z-index: 999;\n overflow-y: auto;\n will-change: left;\n}\n\n.side-nav.right-aligned {\n will-change: right;\n right: -105%;\n left: auto;\n}\n\n.side-nav .collapsible {\n margin: 0;\n}\n\n.side-nav li {\n float: none;\n padding: 0 15px;\n line-height: 64px;\n}\n\n.side-nav li:hover, .side-nav li.active {\n background-color: #ddd;\n}\n\n.side-nav a {\n color: #444;\n display: block;\n font-size: 1rem;\n height: 64px;\n line-height: 64px;\n padding: 0 15px;\n}\n\n.drag-target {\n height: 100%;\n width: 10px;\n position: fixed;\n top: 0;\n z-index: 998;\n}\n\n.side-nav.fixed a {\n display: block;\n padding: 0 15px;\n color: #444;\n}\n\n.side-nav.fixed {\n left: 0;\n position: fixed;\n}\n\n.side-nav.fixed.right-aligned {\n right: 0;\n left: auto;\n}\n\n@media only screen and (max-width: 992px) {\n .side-nav.fixed {\n left: -105%;\n }\n .side-nav.fixed.right-aligned {\n right: -105%;\n left: auto;\n }\n}\n\n.side-nav .collapsible-body li.active,\n.side-nav.fixed .collapsible-body li.active {\n background-color: #ee6e73;\n}\n\n.side-nav .collapsible-body li.active a,\n.side-nav.fixed .collapsible-body li.active a {\n color: #fff;\n}\n\n#sidenav-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 120vh;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 997;\n will-change: opacity;\n}\n\n/*\n @license\n Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n Code distributed by Google as part of the polymer project is also\n subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n/**************************/\n/* STYLES FOR THE SPINNER */\n/**************************/\n/*\n * Constants:\n * STROKEWIDTH = 3px\n * ARCSIZE = 270 degrees (amount of circle the arc takes up)\n * ARCTIME = 1333ms (time it takes to expand and contract arc)\n * ARCSTARTROT = 216 degrees (how much the start location of the arc\n * should rotate each time, 216 gives us a\n * 5 pointed star shape (it's 360/5 * 3).\n * For a 7 pointed star, we might do\n * 360/7 * 3 = 154.286)\n * CONTAINERWIDTH = 28px\n * SHRINK_TIME = 400ms\n */\n.preloader-wrapper {\n display: inline-block;\n position: relative;\n width: 48px;\n height: 48px;\n}\n\n.preloader-wrapper.small {\n width: 36px;\n height: 36px;\n}\n\n.preloader-wrapper.big {\n width: 64px;\n height: 64px;\n}\n\n.preloader-wrapper.active {\n /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */\n -webkit-animation: container-rotate 1568ms linear infinite;\n animation: container-rotate 1568ms linear infinite;\n}\n\n@-webkit-keyframes container-rotate {\n to {\n -webkit-transform: rotate(360deg);\n }\n}\n\n@keyframes container-rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n border-color: #26a69a;\n}\n\n.spinner-blue,\n.spinner-blue-only {\n border-color: #4285f4;\n}\n\n.spinner-red,\n.spinner-red-only {\n border-color: #db4437;\n}\n\n.spinner-yellow,\n.spinner-yellow-only {\n border-color: #f4b400;\n}\n\n.spinner-green,\n.spinner-green-only {\n border-color: #0f9d58;\n}\n\n/**\n * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):\n *\n * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't\n * guarantee that the animation will start _exactly_ after that value. So we avoid using\n * animation-delay and instead set custom keyframes for each color (as redundant as it\n * seems).\n *\n * We write out each animation in full (instead of separating animation-name,\n * animation-duration, etc.) because under the polyfill, Safari does not recognize those\n * specific properties properly, treats them as -webkit-animation, and overrides the\n * other animation rules. See https://github.com/Polymer/platform/issues/53.\n */\n.active .spinner-layer.spinner-blue {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer.spinner-red {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer.spinner-yellow {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer.spinner-green {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer,\n.active .spinner-layer.spinner-blue-only,\n.active .spinner-layer.spinner-red-only,\n.active .spinner-layer.spinner-yellow-only,\n.active .spinner-layer.spinner-green-only {\n /* durations: 4 * ARCTIME */\n opacity: 1;\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n@-webkit-keyframes fill-unfill-rotate {\n 12.5% {\n -webkit-transform: rotate(135deg);\n }\n /* 0.5 * ARCSIZE */\n 25% {\n -webkit-transform: rotate(270deg);\n }\n /* 1 * ARCSIZE */\n 37.5% {\n -webkit-transform: rotate(405deg);\n }\n /* 1.5 * ARCSIZE */\n 50% {\n -webkit-transform: rotate(540deg);\n }\n /* 2 * ARCSIZE */\n 62.5% {\n -webkit-transform: rotate(675deg);\n }\n /* 2.5 * ARCSIZE */\n 75% {\n -webkit-transform: rotate(810deg);\n }\n /* 3 * ARCSIZE */\n 87.5% {\n -webkit-transform: rotate(945deg);\n }\n /* 3.5 * ARCSIZE */\n to {\n -webkit-transform: rotate(1080deg);\n }\n /* 4 * ARCSIZE */\n}\n\n@keyframes fill-unfill-rotate {\n 12.5% {\n -webkit-transform: rotate(135deg);\n transform: rotate(135deg);\n }\n /* 0.5 * ARCSIZE */\n 25% {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n }\n /* 1 * ARCSIZE */\n 37.5% {\n -webkit-transform: rotate(405deg);\n transform: rotate(405deg);\n }\n /* 1.5 * ARCSIZE */\n 50% {\n -webkit-transform: rotate(540deg);\n transform: rotate(540deg);\n }\n /* 2 * ARCSIZE */\n 62.5% {\n -webkit-transform: rotate(675deg);\n transform: rotate(675deg);\n }\n /* 2.5 * ARCSIZE */\n 75% {\n -webkit-transform: rotate(810deg);\n transform: rotate(810deg);\n }\n /* 3 * ARCSIZE */\n 87.5% {\n -webkit-transform: rotate(945deg);\n transform: rotate(945deg);\n }\n /* 3.5 * ARCSIZE */\n to {\n -webkit-transform: rotate(1080deg);\n transform: rotate(1080deg);\n }\n /* 4 * ARCSIZE */\n}\n\n@-webkit-keyframes blue-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes blue-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n\n@-webkit-keyframes red-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n\n@keyframes red-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n\n@-webkit-keyframes yellow-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n\n@keyframes yellow-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n\n@-webkit-keyframes green-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n@keyframes green-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/**\n * Patch the gap that appear between the two adjacent div.circle-clipper while the\n * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).\n */\n.gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n\n.gap-patch .circle {\n width: 1000%;\n left: -450%;\n}\n\n.circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n\n.circle-clipper .circle {\n width: 200%;\n height: 100%;\n border-width: 3px;\n /* STROKEWIDTH */\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n -webkit-animation: none;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n}\n\n.circle-clipper.left .circle {\n left: 0;\n border-right-color: transparent !important;\n -webkit-transform: rotate(129deg);\n transform: rotate(129deg);\n}\n\n.circle-clipper.right .circle {\n left: -100%;\n border-left-color: transparent !important;\n -webkit-transform: rotate(-129deg);\n transform: rotate(-129deg);\n}\n\n.active .circle-clipper.left .circle {\n /* duration: ARCTIME */\n -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .circle-clipper.right .circle {\n /* duration: ARCTIME */\n -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n@-webkit-keyframes left-spin {\n from {\n -webkit-transform: rotate(130deg);\n }\n 50% {\n -webkit-transform: rotate(-5deg);\n }\n to {\n -webkit-transform: rotate(130deg);\n }\n}\n\n@keyframes left-spin {\n from {\n -webkit-transform: rotate(130deg);\n transform: rotate(130deg);\n }\n 50% {\n -webkit-transform: rotate(-5deg);\n transform: rotate(-5deg);\n }\n to {\n -webkit-transform: rotate(130deg);\n transform: rotate(130deg);\n }\n}\n\n@-webkit-keyframes right-spin {\n from {\n -webkit-transform: rotate(-130deg);\n }\n 50% {\n -webkit-transform: rotate(5deg);\n }\n to {\n -webkit-transform: rotate(-130deg);\n }\n}\n\n@keyframes right-spin {\n from {\n -webkit-transform: rotate(-130deg);\n transform: rotate(-130deg);\n }\n 50% {\n -webkit-transform: rotate(5deg);\n transform: rotate(5deg);\n }\n to {\n -webkit-transform: rotate(-130deg);\n transform: rotate(-130deg);\n }\n}\n\n#spinnerContainer.cooldown {\n /* duration: SHRINK_TIME */\n -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);\n animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@-webkit-keyframes fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@keyframes fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n.slider {\n position: relative;\n height: 400px;\n width: 100%;\n}\n\n.slider.fullscreen {\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.slider.fullscreen ul.slides {\n height: 100%;\n}\n\n.slider.fullscreen ul.indicators {\n z-index: 2;\n bottom: 30px;\n}\n\n.slider .slides {\n background-color: #9e9e9e;\n margin: 0;\n height: 400px;\n}\n\n.slider .slides li {\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: inherit;\n overflow: hidden;\n}\n\n.slider .slides li img {\n height: 100%;\n width: 100%;\n background-size: cover;\n background-position: center;\n}\n\n.slider .slides li .caption {\n color: #fff;\n position: absolute;\n top: 15%;\n left: 15%;\n width: 70%;\n opacity: 0;\n}\n\n.slider .slides li .caption p {\n color: #e0e0e0;\n}\n\n.slider .slides li.active {\n z-index: 2;\n}\n\n.slider .indicators {\n position: absolute;\n text-align: center;\n left: 0;\n right: 0;\n bottom: 0;\n margin: 0;\n}\n\n.slider .indicators .indicator-item {\n display: inline-block;\n position: relative;\n cursor: pointer;\n height: 16px;\n width: 16px;\n margin: 0 12px;\n background-color: #e0e0e0;\n transition: background-color .3s;\n border-radius: 50%;\n}\n\n.slider .indicators .indicator-item.active {\n background-color: #4CAF50;\n}\n\n.carousel {\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 400px;\n -webkit-perspective: 500px;\n perspective: 500px;\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n -webkit-transform-origin: 0% 50%;\n transform-origin: 0% 50%;\n}\n\n.carousel .carousel-item {\n width: 200px;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.carousel .carousel-item img {\n width: 100%;\n}\n\n.carousel.carousel-slider {\n top: 0;\n left: 0;\n height: 0;\n}\n\n.carousel.carousel-slider .carousel-item {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n/* ==========================================================================\n $BASE-PICKER\n ========================================================================== */\n/**\n * Note: the root picker element should *NOT* be styled more than what's here.\n */\n.picker {\n font-size: 16px;\n text-align: left;\n line-height: 1.2;\n color: #000000;\n position: absolute;\n z-index: 10000;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/**\n * The picker input element.\n */\n.picker__input {\n cursor: default;\n}\n\n/**\n * When the picker is opened, the input element is \"activated\".\n */\n.picker__input.picker__input--active {\n border-color: #0089ec;\n}\n\n/**\n * The holder is the only \"scrollable\" top-level container element.\n */\n.picker__holder {\n width: 100%;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n/*!\n * Default mobile-first, responsive styling for pickadate.js\n * Demo: http://amsul.github.io/pickadate.js\n */\n/**\n * Note: the root picker element should *NOT* be styled more than what's here.\n */\n/**\n * Make the holder and frame fullscreen.\n */\n.picker__holder,\n.picker__frame {\n bottom: 0;\n left: 0;\n right: 0;\n top: 100%;\n}\n\n/**\n * The holder should overlay the entire screen.\n */\n.picker__holder {\n position: fixed;\n transition: background 0.15s ease-out, top 0s 0.15s;\n -webkit-backface-visibility: hidden;\n}\n\n/**\n * The frame that bounds the box contents of the picker.\n */\n.picker__frame {\n position: absolute;\n margin: 0 auto;\n min-width: 256px;\n width: 300px;\n max-height: 350px;\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n filter: alpha(opacity=0);\n -moz-opacity: 0;\n opacity: 0;\n transition: all 0.15s ease-out;\n}\n\n@media (min-height: 28.875em) {\n .picker__frame {\n overflow: visible;\n top: auto;\n bottom: -100%;\n max-height: 80%;\n }\n}\n\n@media (min-height: 40.125em) {\n .picker__frame {\n margin-bottom: 7.5%;\n }\n}\n\n/**\n * The wrapper sets the stage to vertically align the box contents.\n */\n.picker__wrap {\n display: table;\n width: 100%;\n height: 100%;\n}\n\n@media (min-height: 28.875em) {\n .picker__wrap {\n display: block;\n }\n}\n\n/**\n * The box contains all the picker contents.\n */\n.picker__box {\n background: #ffffff;\n display: table-cell;\n vertical-align: middle;\n}\n\n@media (min-height: 28.875em) {\n .picker__box {\n display: block;\n border: 1px solid #777777;\n border-top-color: #898989;\n border-bottom-width: 0;\n border-radius: 5px 5px 0 0;\n box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);\n }\n}\n\n/**\n * When the picker opens...\n */\n.picker--opened .picker__holder {\n top: 0;\n background: transparent;\n -ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)\";\n zoom: 1;\n background: rgba(0, 0, 0, 0.32);\n transition: background 0.15s ease-out;\n}\n\n.picker--opened .picker__frame {\n top: 0;\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n filter: alpha(opacity=100);\n -moz-opacity: 1;\n opacity: 1;\n}\n\n@media (min-height: 35.875em) {\n .picker--opened .picker__frame {\n top: 10%;\n bottom: 20%auto;\n }\n}\n\n/**\n * For `large` screens, transform into an inline picker.\n */\n/* ==========================================================================\n CUSTOM MATERIALIZE STYLES\n ========================================================================== */\n.picker__input.picker__input--active {\n border-color: #E3F2FD;\n}\n\n.picker__frame {\n margin: 0 auto;\n max-width: 325px;\n}\n\n@media (min-height: 38.875em) {\n .picker--opened .picker__frame {\n top: 10%;\n bottom: auto;\n }\n}\n\n/* ==========================================================================\n $BASE-DATE-PICKER\n ========================================================================== */\n/**\n * The picker box.\n */\n.picker__box {\n padding: 0 1em;\n}\n\n/**\n * The header containing the month and year stuff.\n */\n.picker__header {\n text-align: center;\n position: relative;\n margin-top: .75em;\n}\n\n/**\n * The month and year labels.\n */\n.picker__month,\n.picker__year {\n display: inline-block;\n margin-left: .25em;\n margin-right: .25em;\n}\n\n/**\n * The month and year selectors.\n */\n.picker__select--month,\n.picker__select--year {\n height: 2em;\n padding: 0;\n margin-left: .25em;\n margin-right: .25em;\n}\n\n.picker__select--month.browser-default {\n display: inline;\n background-color: #FFFFFF;\n width: 40%;\n}\n\n.picker__select--year.browser-default {\n display: inline;\n background-color: #FFFFFF;\n width: 25%;\n}\n\n.picker__select--month:focus,\n.picker__select--year:focus {\n border-color: rgba(0, 0, 0, 0.05);\n}\n\n/**\n * The month navigation buttons.\n */\n.picker__nav--prev,\n.picker__nav--next {\n position: absolute;\n padding: .5em 1.25em;\n width: 1em;\n height: 1em;\n box-sizing: content-box;\n top: -0.25em;\n}\n\n.picker__nav--prev {\n left: -1em;\n padding-right: 1.25em;\n}\n\n.picker__nav--next {\n right: -1em;\n padding-left: 1.25em;\n}\n\n.picker__nav--disabled,\n.picker__nav--disabled:hover,\n.picker__nav--disabled:before,\n.picker__nav--disabled:before:hover {\n cursor: default;\n background: none;\n border-right-color: #f5f5f5;\n border-left-color: #f5f5f5;\n}\n\n/**\n * The calendar table of dates\n */\n.picker__table {\n text-align: center;\n border-collapse: collapse;\n border-spacing: 0;\n table-layout: fixed;\n font-size: 1rem;\n width: 100%;\n margin-top: .75em;\n margin-bottom: .5em;\n}\n\n.picker__table th, .picker__table td {\n text-align: center;\n}\n\n.picker__table td {\n margin: 0;\n padding: 0;\n}\n\n/**\n * The weekday labels\n */\n.picker__weekday {\n width: 14.285714286%;\n font-size: .75em;\n padding-bottom: .25em;\n color: #999999;\n font-weight: 500;\n /* Increase the spacing a tad */\n}\n\n@media (min-height: 33.875em) {\n .picker__weekday {\n padding-bottom: .5em;\n }\n}\n\n/**\n * The days on the calendar\n */\n.picker__day--today {\n position: relative;\n color: #595959;\n letter-spacing: -.3;\n padding: .75rem 0;\n font-weight: 400;\n border: 1px solid transparent;\n}\n\n.picker__day--disabled:before {\n border-top-color: #aaaaaa;\n}\n\n.picker__day--infocus:hover {\n cursor: pointer;\n color: #000;\n font-weight: 500;\n}\n\n.picker__day--outfocus {\n display: none;\n padding: .75rem 0;\n color: #fff;\n}\n\n.picker__day--outfocus:hover {\n cursor: pointer;\n color: #dddddd;\n font-weight: 500;\n}\n\n.picker__day--highlighted:hover,\n.picker--focused .picker__day--highlighted {\n cursor: pointer;\n}\n\n.picker__day--selected,\n.picker__day--selected:hover,\n.picker--focused .picker__day--selected {\n border-radius: 50%;\n -webkit-transform: scale(0.75);\n transform: scale(0.75);\n background: #0089ec;\n color: #ffffff;\n}\n\n.picker__day--disabled,\n.picker__day--disabled:hover,\n.picker--focused .picker__day--disabled {\n background: #f5f5f5;\n border-color: #f5f5f5;\n color: #dddddd;\n cursor: default;\n}\n\n.picker__day--highlighted.picker__day--disabled,\n.picker__day--highlighted.picker__day--disabled:hover {\n background: #bbbbbb;\n}\n\n/**\n * The footer containing the \"today\", \"clear\", and \"close\" buttons.\n */\n.picker__footer {\n text-align: center;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: space-between;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.picker__button--today,\n.picker__button--clear,\n.picker__button--close {\n border: 1px solid #ffffff;\n background: #ffffff;\n font-size: .8em;\n padding: .66em 0;\n font-weight: bold;\n width: 33%;\n display: inline-block;\n vertical-align: bottom;\n}\n\n.picker__button--today:hover,\n.picker__button--clear:hover,\n.picker__button--close:hover {\n cursor: pointer;\n color: #000000;\n background: #b1dcfb;\n border-bottom-color: #b1dcfb;\n}\n\n.picker__button--today:focus,\n.picker__button--clear:focus,\n.picker__button--close:focus {\n background: #b1dcfb;\n border-color: rgba(0, 0, 0, 0.05);\n outline: none;\n}\n\n.picker__button--today:before,\n.picker__button--clear:before,\n.picker__button--close:before {\n position: relative;\n display: inline-block;\n height: 0;\n}\n\n.picker__button--today:before,\n.picker__button--clear:before {\n content: \" \";\n margin-right: .45em;\n}\n\n.picker__button--today:before {\n top: -0.05em;\n width: 0;\n border-top: 0.66em solid #0059bc;\n border-left: .66em solid transparent;\n}\n\n.picker__button--clear:before {\n top: -0.25em;\n width: .66em;\n border-top: 3px solid #ee2200;\n}\n\n.picker__button--close:before {\n content: \"\\D7\";\n top: -0.1em;\n vertical-align: top;\n font-size: 1.1em;\n margin-right: .35em;\n color: #777777;\n}\n\n.picker__button--today[disabled],\n.picker__button--today[disabled]:hover {\n background: #f5f5f5;\n border-color: #f5f5f5;\n color: #dddddd;\n cursor: default;\n}\n\n.picker__button--today[disabled]:before {\n border-top-color: #aaaaaa;\n}\n\n/* ==========================================================================\n CUSTOM MATERIALIZE STYLES\n ========================================================================== */\n.picker__box {\n border-radius: 2px;\n overflow: hidden;\n}\n\n.picker__date-display {\n text-align: center;\n background-color: #26a69a;\n color: #fff;\n padding-bottom: 15px;\n font-weight: 300;\n}\n\n.picker__nav--prev:hover,\n.picker__nav--next:hover {\n cursor: pointer;\n color: #000000;\n background: #a1ded8;\n}\n\n.picker__weekday-display {\n background-color: #1f897f;\n padding: 10px;\n font-weight: 200;\n letter-spacing: .5;\n font-size: 1rem;\n margin-bottom: 15px;\n}\n\n.picker__month-display {\n text-transform: uppercase;\n font-size: 2rem;\n}\n\n.picker__day-display {\n font-size: 4.5rem;\n font-weight: 400;\n}\n\n.picker__year-display {\n font-size: 1.8rem;\n color: rgba(255, 255, 255, 0.4);\n}\n\n.picker__box {\n padding: 0;\n}\n\n.picker__calendar-container {\n padding: 0 1rem;\n}\n\n.picker__calendar-container thead {\n border: none;\n}\n\n.picker__table {\n margin-top: 0;\n margin-bottom: .5em;\n}\n\n.picker__day--infocus {\n color: #595959;\n letter-spacing: -.3;\n padding: .75rem 0;\n font-weight: 400;\n border: 1px solid transparent;\n}\n\n.picker__day.picker__day--today {\n color: #26a69a;\n}\n\n.picker__day.picker__day--today.picker__day--selected {\n color: #fff;\n}\n\n.picker__weekday {\n font-size: .9rem;\n}\n\n.picker__day--selected,\n.picker__day--selected:hover,\n.picker--focused .picker__day--selected {\n border-radius: 50%;\n -webkit-transform: scale(0.9);\n transform: scale(0.9);\n background-color: #26a69a;\n color: #ffffff;\n}\n\n.picker__day--selected.picker__day--outfocus,\n.picker__day--selected:hover.picker__day--outfocus,\n.picker--focused .picker__day--selected.picker__day--outfocus {\n background-color: #a1ded8;\n}\n\n.picker__footer {\n text-align: right;\n padding: 5px 10px;\n}\n\n.picker__close, .picker__today {\n font-size: 1.1rem;\n padding: 0 1rem;\n color: #26a69a;\n}\n\n.picker__nav--prev:before,\n.picker__nav--next:before {\n content: \" \";\n border-top: .5em solid transparent;\n border-bottom: .5em solid transparent;\n border-right: 0.75em solid #676767;\n width: 0;\n height: 0;\n display: block;\n margin: 0 auto;\n}\n\n.picker__nav--next:before {\n border-right: 0;\n border-left: 0.75em solid #676767;\n}\n\nbutton.picker__today:focus, button.picker__clear:focus, button.picker__close:focus {\n background-color: #a1ded8;\n}\n\n/* ==========================================================================\n $BASE-TIME-PICKER\n ========================================================================== */\n/**\n * The list of times.\n */\n.picker__list {\n list-style: none;\n padding: 0.75em 0 4.2em;\n margin: 0;\n}\n\n/**\n * The times on the clock.\n */\n.picker__list-item {\n border-bottom: 1px solid #dddddd;\n border-top: 1px solid #dddddd;\n margin-bottom: -1px;\n position: relative;\n background: #ffffff;\n padding: .75em 1.25em;\n}\n\n@media (min-height: 46.75em) {\n .picker__list-item {\n padding: .5em 1em;\n }\n}\n\n/* Hovered time */\n.picker__list-item:hover {\n cursor: pointer;\n color: #000000;\n background: #b1dcfb;\n border-color: #0089ec;\n z-index: 10;\n}\n\n/* Highlighted and hovered/focused time */\n.picker__list-item--highlighted {\n border-color: #0089ec;\n z-index: 10;\n}\n\n.picker__list-item--highlighted:hover,\n.picker--focused .picker__list-item--highlighted {\n cursor: pointer;\n color: #000000;\n background: #b1dcfb;\n}\n\n/* Selected and hovered/focused time */\n.picker__list-item--selected,\n.picker__list-item--selected:hover,\n.picker--focused .picker__list-item--selected {\n background: #0089ec;\n color: #ffffff;\n z-index: 10;\n}\n\n/* Disabled time */\n.picker__list-item--disabled,\n.picker__list-item--disabled:hover,\n.picker--focused .picker__list-item--disabled {\n background: #f5f5f5;\n border-color: #f5f5f5;\n color: #dddddd;\n cursor: default;\n border-color: #dddddd;\n z-index: auto;\n}\n\n/**\n * The clear button\n */\n.picker--time .picker__button--clear {\n display: block;\n width: 80%;\n margin: 1em auto 0;\n padding: 1em 1.25em;\n background: none;\n border: 0;\n font-weight: 500;\n font-size: .67em;\n text-align: center;\n text-transform: uppercase;\n color: #666;\n}\n\n.picker--time .picker__button--clear:hover,\n.picker--time .picker__button--clear:focus {\n color: #000000;\n background: #b1dcfb;\n background: #ee2200;\n border-color: #ee2200;\n cursor: pointer;\n color: #ffffff;\n outline: none;\n}\n\n.picker--time .picker__button--clear:before {\n top: -0.25em;\n color: #666;\n font-size: 1.25em;\n font-weight: bold;\n}\n\n.picker--time .picker__button--clear:hover:before,\n.picker--time .picker__button--clear:focus:before {\n color: #ffffff;\n}\n\n/* ==========================================================================\n $DEFAULT-TIME-PICKER\n ========================================================================== */\n/**\n * The frame the bounds the time picker.\n */\n.picker--time .picker__frame {\n min-width: 256px;\n max-width: 320px;\n}\n\n/**\n * The picker box.\n */\n.picker--time .picker__box {\n font-size: 1em;\n background: #f2f2f2;\n padding: 0;\n}\n\n@media (min-height: 40.125em) {\n .picker--time .picker__box {\n margin-bottom: 5em;\n }\n}\n","[data-badge^=\"1\"]:after,\n[data-badge^=\"2\"]:after,\n[data-badge^=\"3\"]:after,\n[data-badge^=\"4\"]:after,\n[data-badge^=\"5\"]:after,\n[data-badge^=\"6\"]:after,\n[data-badge^=\"7\"]:after,\n[data-badge^=\"8\"]:after,\n[data-badge^=\"9\"]:after {\n content: attr(data-badge);\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-align-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 3px;\n right: 3px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-weight: 600;\n font-size: 12px;\n width: 19px;\n height: 19px;\n border-radius: 50%;\n background: #ff8532;\n color: #fff;\n}\n#about [data-badge^=\"1\"]:after,\n#about [data-badge^=\"2\"]:after,\n#about [data-badge^=\"3\"]:after,\n#about [data-badge^=\"4\"]:after,\n#about [data-badge^=\"5\"]:after,\n#about [data-badge^=\"6\"]:after,\n#about [data-badge^=\"7\"]:after,\n#about [data-badge^=\"8\"]:after,\n#about [data-badge^=\"9\"]:after {\n content: attr(data-badge);\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-align-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 15px;\n right: 20px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-weight: 600;\n font-size: 12px;\n width: 19px;\n height: 19px;\n border-radius: 50%;\n background: #ff8532;\n color: #fff;\n}\n","nav li .fa {\n display: block;\n}\n#slide-out .fa {\n padding-left: 0.5rem;\n line-height: 64px;\n}\n@media screen and (max-width: 400px) {\n nav li .fa {\n line-height: 56px;\n }\n}\n",".mdi-navigation-menu {\n padding-left: 0.5rem;\n}\n#slide-out .card {\n margin: 0;\n}\n#slide-out .card img {\n height: 140px;\n}\n#slide-out .card-title {\n left: 0;\n top: -25px;\n width: 100%;\n height: 100%;\n}\n#slide-out .card-title span {\n display: block;\n line-height: 30px;\n}\n#slide-out .card-title .menu-title {\n font-weight: bold;\n}\n#slide-out .card-title .menu-speach {\n font-size: 1rem;\n line-height: 20px;\n}\n#slide-out .card-title .menu-footer {\n font-size: 1rem;\n line-height: 20px;\n position: relative;\n bottom: -45px;\n left: 145px;\n}\n#slide-out i {\n color: #1a687f;\n width: 5rem;\n float: left;\n}\n#slide-out a {\n padding-left: 7px;\n font-size: 1.5rem;\n}\n.side-nav.side-nav-icons {\n width: 5rem;\n z-index: 1000;\n box-shadow: none;\n}\n#slide-out li {\n padding: 0;\n}\nul#slide-out li:hover {\n background-color: #f0f0f0;\n}\n@media screen and (max-width: 400px) {\n #slide-out {\n width: 20rem;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n@media screen and (min-width: 400px) {\n #slide-out {\n left: 0;\n width: 0;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n #slide-out:before {\n/*background-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent)*/\n pointer-events: none;\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n width: 1rem;\n height: 100%;\n }\n #slide-out li {\n width: 20rem;\n padding: 0;\n }\n}\n.nav-wrapper a {\n padding-left: 10px;\n}\nhtml {\n background-color: #fff;\n}\nbody {\n overflow: hidden;\n}\nbody,\nmain {\n height: 100%;\n width: 100%;\n position: absolute;\n}\nhead,\nmain {\n background-color: #fff !important;\n -webkit-transition: opacity 0.3s ease-in-out;\n transition: opacity 0.3s ease-in-out;\n transform: translateZ(0);\n}\nmain {\n overflow: hidden;\n}\n.home-main {\n padding-top: 64px;\n padding-bottom: 64px;\n}\nnav {\n background-color: #1a687f;\n position: fixed;\n top: 0;\n z-index: 10;\n}\n.ui-scrollable {\n overflow: auto;\n height: 100%;\n}\n.modal .modal-footer .btn,\n.idty_card button {\n margin-right: 5px;\n}\n.small {\n font-size: 0.8rem;\n}\n.home .card.graph {\n height: inherit;\n}\n.home .card {\n text-align: center;\n height: 166px;\n}\n.home .card .fa {\n z-index: 1;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n position: absolute;\n margin-top: -5px;\n margin-left: -50%;\n color: rgba(187,234,249,0.51);\n}\n.home .card-title span {\n z-index: 2;\n position: relative;\n font-size: 3rem;\n width: 350px;\n}\n.home .card-title p {\n z-index: 2;\n position: relative;\n font-size: 1.4rem;\n line-height: 27px;\n}\n.home .card-action {\n padding: 1px;\n}\n.home .card-time .card-content {\n padding-top: 15px;\n padding-bottom: 15px;\n}\n.home .card-time .card-content .card-title p:first-child {\n margin-bottom: 9px;\n}\n#serveractions {\n width: 170px !important;\n}\n#serveractions button {\n height: 50px;\n width: 100%;\n padding-right: 0px;\n padding-left: 5px;\n}\n#serveractions i,\n#serveractions span {\n line-height: 50px;\n height: 50px;\n}\n#about {\n width: 280px !important;\n}\n#about button {\n height: 50px;\n width: 100%;\n padding-right: 0px;\n padding-left: 12px;\n text-transform: none;\n overflow: visible;\n}\n#about li {\n position: relative;\n}\n#about i,\n#about span {\n line-height: 50px;\n height: 50px;\n}\n#server_state .card-title {\n height: 53px;\n}\n#server_state i {\n font-size: 4.5rem;\n}\n.card-content {\n width: 100%;\n}\n.tabs {\n overflow: hidden;\n}\n.tabs .indicator {\n background-color: #82b6c1;\n}\n.tabs .tab a {\n color: #1a687f;\n}\n.tabs .tab a:hover {\n color: #82b6c1;\n}\n.pubkey {\n background-color: #d7edf5;\n line-height: 60px;\n}\n.pre,\n.host_listening {\n background-color: #d7edf5;\n line-height: 21px;\n padding-top: 20px;\n padding-bottom: 20px;\n}\nblockquote {\n padding-top: 10px;\n padding-bottom: 10px;\n}\nblockquote.blue {\n border-left: 5px solid #1b76bf;\n}\nblockquote.info {\n border-left: 5px solid #1b76bf;\n background-color: #fbfbff !important;\n}\n.tabs .tab.disabled a {\n color: #9ea8ac;\n}\n#card-logs {\n position: fixed;\n margin: 0;\n width: 90%;\n}\n#card-logs label {\n margin-right: 30px;\n}\n#logs {\n font-size: 12px;\n padding: 10px;\n padding-top: 200px;\n margin: 0;\n overflow: auto;\n height: 100%;\n}\n#logs p {\n line-height: 21px;\n margin-top: 0;\n margin-bottom: 0;\n}\n#follow-logs {\n float: right;\n}\n.log-level.info {\n color: #00f;\n}\n.log-level.warn {\n color: #c9c826;\n}\n.log-level.error {\n color: #f00;\n}\n.log-level.debug {\n color: #0ff;\n}\n.log-level.trace {\n color: #d0f;\n}\n.log-msg.info {\n background-color: none;\n}\n.log-msg.warn {\n background-color: #fffe99;\n}\n.log-msg.error {\n background-color: #f8d5d2;\n}\n.log-msg.debug {\n background-color: rgba(29,255,255,0.23);\n}\n.log-msg.trace {\n background-color: rgba(217,0,255,0.14);\n}\n.log-time {\n color: #888;\n}\n.network-alert .card-content p {\n margin-top: 10px;\n margin-bottom: 20px;\n}\n#about_card {\n border: 0;\n box-shadow: none;\n padding-top: 30px;\n}\n#about_card .card-image {\n width: 170px;\n margin-left: auto;\n margin-right: auto;\n}\n#about_card a {\n margin-right: 25px;\n}\n#about_card a span {\n position: relative;\n top: -4px;\n left: 5px;\n}\n.currency {\n background-color: #699cab;\n margin: 0;\n padding: 5px;\n}\n.currency h1 {\n text-align: center;\n font-size: 18px;\n margin: 0;\n color: #fff;\n}\n.card.sync .iconic.card-title {\n padding-top: 15px;\n height: 83px;\n}\n.card.sync .iconic.card-title i {\n font-size: 4.5rem;\n}\n.card.sync .card-content {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.card.sync .card-content p {\n font-size: 16px;\n}\n.card.sync .card-content .progress {\n margin-bottom: 10px;\n}\n.file-field.input-field {\n margin-top: 0;\n}\n.file-field .btn-large,\n.btn-large input {\n height: 54px !important;\n line-height: 56px !important;\n}\n.pre a {\n color: #039be5 !important;\n text-transform: none !important;\n}\n.proof-card .card-content {\n padding-top: 18px !important;\n padding-bottom: 10px !important;\n}\n.proof-card .card-content .proof-mesure {\n font-size: 1.5em;\n line-height: 30px;\n}\n.proof-card .card-content .proof-unit {\n text-align: center;\n width: 100%;\n display: block;\n font-size: 0.7em;\n line-height: 20px;\n}\n.proof-card .card-action p.hash {\n height: 10px;\n}\n.proof-card .card-action .progress {\n width: 70px !important;\n margin-left: auto;\n margin-right: auto;\n}\n.button-cancel {\n float: left;\n}\n.button-next {\n float: right;\n}\n.common-network {\n border-left: 9px solid rgba(0,0,0,0.12);\n}\n.common-network h1 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.upnp {\n line-height: 76px;\n}\n.modules blockquote {\n margin-bottom: 5px;\n}\n.modules blockquote a {\n font-weight: bold !important;\n text-transform: none !important;\n color: #dc6f1d !important;\n}\n.modules blockquote a.close {\n padding-top: 10px;\n}\n.modules li.collection-item {\n padding: 20px 20px;\n}\n.modules li .installing {\n margin-top: 30px !important;\n margin-bottom: 0 !important;\n}\n.modules li .installing h5 {\n margin-left: 50px;\n margin-top: 0;\n}\n.install_package .input-field {\n margin-top: 0;\n}\n",".mdi-navigation-menu {\n padding-left: 0.5rem;\n}\n#slide-out .card {\n margin: 0;\n}\n#slide-out .card img {\n height: 140px;\n}\n#slide-out .card-title {\n left: 0;\n top: -25px;\n width: 100%;\n height: 100%;\n}\n#slide-out .card-title span {\n display: block;\n line-height: 30px;\n}\n#slide-out .card-title .menu-title {\n font-weight: bold;\n}\n#slide-out .card-title .menu-speach {\n font-size: 1rem;\n line-height: 20px;\n}\n#slide-out .card-title .menu-footer {\n font-size: 1rem;\n line-height: 20px;\n position: relative;\n bottom: -45px;\n left: 145px;\n}\n#slide-out i {\n color: #1a687f;\n width: 5rem;\n float: left;\n}\n#slide-out a {\n padding-left: 7px;\n font-size: 1.5rem;\n}\n.side-nav.side-nav-icons {\n width: 5rem;\n z-index: 1000;\n box-shadow: none;\n}\n#slide-out li {\n padding: 0;\n}\nul#slide-out li:hover {\n background-color: #f0f0f0;\n}\n@media screen and (max-width: 400px) {\n #slide-out {\n width: 20rem;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n@media screen and (min-width: 400px) {\n #slide-out {\n left: 0;\n width: 0;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n #slide-out:before {\n/*background-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent)*/\n pointer-events: none;\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n width: 1rem;\n height: 100%;\n }\n #slide-out li {\n width: 20rem;\n padding: 0;\n }\n}\n.nav-wrapper a {\n padding-left: 10px;\n}\n",""]} \ No newline at end of file +{"version":3,"sources":["app/css/font-awesome.css","app/css/material-icons.css","app/css/materialize.css","app/styles/badges.styl","app/styles/fa.styl","app/styles/main.styl","app/styles/menu.styl","app/styles/vendor.styl"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtiEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACx/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1FA","file":"public/app.css","sourcesContent":["/*!\n * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('../font/font-awesome/fontawesome-webfont.eot?v=4.5.0');\n src: url('../font/font-awesome/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../font/font-awesome/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../font/font-awesome/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../font/font-awesome/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../font/font-awesome/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eeeeee;\n border-radius: .1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: .3em;\n}\n.fa.pull-right {\n margin-left: .3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n","@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(../font/material.woff2) format('woff2');\n}\n\n.material-icons {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}","/*!\n * Materialize v0.97.5 (http://materializecss.com)\n * Copyright 2014-2015 Materialize\n * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)\n */\n.materialize-red.lighten-5 {\n background-color: #fdeaeb !important;\n}\n\n.materialize-red-text.text-lighten-5 {\n color: #fdeaeb !important;\n}\n\n.materialize-red.lighten-4 {\n background-color: #f8c1c3 !important;\n}\n\n.materialize-red-text.text-lighten-4 {\n color: #f8c1c3 !important;\n}\n\n.materialize-red.lighten-3 {\n background-color: #f3989b !important;\n}\n\n.materialize-red-text.text-lighten-3 {\n color: #f3989b !important;\n}\n\n.materialize-red.lighten-2 {\n background-color: #ee6e73 !important;\n}\n\n.materialize-red-text.text-lighten-2 {\n color: #ee6e73 !important;\n}\n\n.materialize-red.lighten-1 {\n background-color: #ea454b !important;\n}\n\n.materialize-red-text.text-lighten-1 {\n color: #ea454b !important;\n}\n\n.materialize-red {\n background-color: #e51c23 !important;\n}\n\n.materialize-red-text {\n color: #e51c23 !important;\n}\n\n.materialize-red.darken-1 {\n background-color: #d0181e !important;\n}\n\n.materialize-red-text.text-darken-1 {\n color: #d0181e !important;\n}\n\n.materialize-red.darken-2 {\n background-color: #b9151b !important;\n}\n\n.materialize-red-text.text-darken-2 {\n color: #b9151b !important;\n}\n\n.materialize-red.darken-3 {\n background-color: #a21318 !important;\n}\n\n.materialize-red-text.text-darken-3 {\n color: #a21318 !important;\n}\n\n.materialize-red.darken-4 {\n background-color: #8b1014 !important;\n}\n\n.materialize-red-text.text-darken-4 {\n color: #8b1014 !important;\n}\n\n.red.lighten-5 {\n background-color: #FFEBEE !important;\n}\n\n.red-text.text-lighten-5 {\n color: #FFEBEE !important;\n}\n\n.red.lighten-4 {\n background-color: #FFCDD2 !important;\n}\n\n.red-text.text-lighten-4 {\n color: #FFCDD2 !important;\n}\n\n.red.lighten-3 {\n background-color: #EF9A9A !important;\n}\n\n.red-text.text-lighten-3 {\n color: #EF9A9A !important;\n}\n\n.red.lighten-2 {\n background-color: #E57373 !important;\n}\n\n.red-text.text-lighten-2 {\n color: #E57373 !important;\n}\n\n.red.lighten-1 {\n background-color: #EF5350 !important;\n}\n\n.red-text.text-lighten-1 {\n color: #EF5350 !important;\n}\n\n.red {\n background-color: #F44336 !important;\n}\n\n.red-text {\n color: #F44336 !important;\n}\n\n.red.darken-1 {\n background-color: #E53935 !important;\n}\n\n.red-text.text-darken-1 {\n color: #E53935 !important;\n}\n\n.red.darken-2 {\n background-color: #D32F2F !important;\n}\n\n.red-text.text-darken-2 {\n color: #D32F2F !important;\n}\n\n.red.darken-3 {\n background-color: #C62828 !important;\n}\n\n.red-text.text-darken-3 {\n color: #C62828 !important;\n}\n\n.red.darken-4 {\n background-color: #B71C1C !important;\n}\n\n.red-text.text-darken-4 {\n color: #B71C1C !important;\n}\n\n.red.accent-1 {\n background-color: #FF8A80 !important;\n}\n\n.red-text.text-accent-1 {\n color: #FF8A80 !important;\n}\n\n.red.accent-2 {\n background-color: #FF5252 !important;\n}\n\n.red-text.text-accent-2 {\n color: #FF5252 !important;\n}\n\n.red.accent-3 {\n background-color: #FF1744 !important;\n}\n\n.red-text.text-accent-3 {\n color: #FF1744 !important;\n}\n\n.red.accent-4 {\n background-color: #D50000 !important;\n}\n\n.red-text.text-accent-4 {\n color: #D50000 !important;\n}\n\n.pink.lighten-5 {\n background-color: #fce4ec !important;\n}\n\n.pink-text.text-lighten-5 {\n color: #fce4ec !important;\n}\n\n.pink.lighten-4 {\n background-color: #f8bbd0 !important;\n}\n\n.pink-text.text-lighten-4 {\n color: #f8bbd0 !important;\n}\n\n.pink.lighten-3 {\n background-color: #f48fb1 !important;\n}\n\n.pink-text.text-lighten-3 {\n color: #f48fb1 !important;\n}\n\n.pink.lighten-2 {\n background-color: #f06292 !important;\n}\n\n.pink-text.text-lighten-2 {\n color: #f06292 !important;\n}\n\n.pink.lighten-1 {\n background-color: #ec407a !important;\n}\n\n.pink-text.text-lighten-1 {\n color: #ec407a !important;\n}\n\n.pink {\n background-color: #e91e63 !important;\n}\n\n.pink-text {\n color: #e91e63 !important;\n}\n\n.pink.darken-1 {\n background-color: #d81b60 !important;\n}\n\n.pink-text.text-darken-1 {\n color: #d81b60 !important;\n}\n\n.pink.darken-2 {\n background-color: #c2185b !important;\n}\n\n.pink-text.text-darken-2 {\n color: #c2185b !important;\n}\n\n.pink.darken-3 {\n background-color: #ad1457 !important;\n}\n\n.pink-text.text-darken-3 {\n color: #ad1457 !important;\n}\n\n.pink.darken-4 {\n background-color: #880e4f !important;\n}\n\n.pink-text.text-darken-4 {\n color: #880e4f !important;\n}\n\n.pink.accent-1 {\n background-color: #ff80ab !important;\n}\n\n.pink-text.text-accent-1 {\n color: #ff80ab !important;\n}\n\n.pink.accent-2 {\n background-color: #ff4081 !important;\n}\n\n.pink-text.text-accent-2 {\n color: #ff4081 !important;\n}\n\n.pink.accent-3 {\n background-color: #f50057 !important;\n}\n\n.pink-text.text-accent-3 {\n color: #f50057 !important;\n}\n\n.pink.accent-4 {\n background-color: #c51162 !important;\n}\n\n.pink-text.text-accent-4 {\n color: #c51162 !important;\n}\n\n.purple.lighten-5 {\n background-color: #f3e5f5 !important;\n}\n\n.purple-text.text-lighten-5 {\n color: #f3e5f5 !important;\n}\n\n.purple.lighten-4 {\n background-color: #e1bee7 !important;\n}\n\n.purple-text.text-lighten-4 {\n color: #e1bee7 !important;\n}\n\n.purple.lighten-3 {\n background-color: #ce93d8 !important;\n}\n\n.purple-text.text-lighten-3 {\n color: #ce93d8 !important;\n}\n\n.purple.lighten-2 {\n background-color: #ba68c8 !important;\n}\n\n.purple-text.text-lighten-2 {\n color: #ba68c8 !important;\n}\n\n.purple.lighten-1 {\n background-color: #ab47bc !important;\n}\n\n.purple-text.text-lighten-1 {\n color: #ab47bc !important;\n}\n\n.purple {\n background-color: #9c27b0 !important;\n}\n\n.purple-text {\n color: #9c27b0 !important;\n}\n\n.purple.darken-1 {\n background-color: #8e24aa !important;\n}\n\n.purple-text.text-darken-1 {\n color: #8e24aa !important;\n}\n\n.purple.darken-2 {\n background-color: #7b1fa2 !important;\n}\n\n.purple-text.text-darken-2 {\n color: #7b1fa2 !important;\n}\n\n.purple.darken-3 {\n background-color: #6a1b9a !important;\n}\n\n.purple-text.text-darken-3 {\n color: #6a1b9a !important;\n}\n\n.purple.darken-4 {\n background-color: #4a148c !important;\n}\n\n.purple-text.text-darken-4 {\n color: #4a148c !important;\n}\n\n.purple.accent-1 {\n background-color: #ea80fc !important;\n}\n\n.purple-text.text-accent-1 {\n color: #ea80fc !important;\n}\n\n.purple.accent-2 {\n background-color: #e040fb !important;\n}\n\n.purple-text.text-accent-2 {\n color: #e040fb !important;\n}\n\n.purple.accent-3 {\n background-color: #d500f9 !important;\n}\n\n.purple-text.text-accent-3 {\n color: #d500f9 !important;\n}\n\n.purple.accent-4 {\n background-color: #aa00ff !important;\n}\n\n.purple-text.text-accent-4 {\n color: #aa00ff !important;\n}\n\n.deep-purple.lighten-5 {\n background-color: #ede7f6 !important;\n}\n\n.deep-purple-text.text-lighten-5 {\n color: #ede7f6 !important;\n}\n\n.deep-purple.lighten-4 {\n background-color: #d1c4e9 !important;\n}\n\n.deep-purple-text.text-lighten-4 {\n color: #d1c4e9 !important;\n}\n\n.deep-purple.lighten-3 {\n background-color: #b39ddb !important;\n}\n\n.deep-purple-text.text-lighten-3 {\n color: #b39ddb !important;\n}\n\n.deep-purple.lighten-2 {\n background-color: #9575cd !important;\n}\n\n.deep-purple-text.text-lighten-2 {\n color: #9575cd !important;\n}\n\n.deep-purple.lighten-1 {\n background-color: #7e57c2 !important;\n}\n\n.deep-purple-text.text-lighten-1 {\n color: #7e57c2 !important;\n}\n\n.deep-purple {\n background-color: #673ab7 !important;\n}\n\n.deep-purple-text {\n color: #673ab7 !important;\n}\n\n.deep-purple.darken-1 {\n background-color: #5e35b1 !important;\n}\n\n.deep-purple-text.text-darken-1 {\n color: #5e35b1 !important;\n}\n\n.deep-purple.darken-2 {\n background-color: #512da8 !important;\n}\n\n.deep-purple-text.text-darken-2 {\n color: #512da8 !important;\n}\n\n.deep-purple.darken-3 {\n background-color: #4527a0 !important;\n}\n\n.deep-purple-text.text-darken-3 {\n color: #4527a0 !important;\n}\n\n.deep-purple.darken-4 {\n background-color: #311b92 !important;\n}\n\n.deep-purple-text.text-darken-4 {\n color: #311b92 !important;\n}\n\n.deep-purple.accent-1 {\n background-color: #b388ff !important;\n}\n\n.deep-purple-text.text-accent-1 {\n color: #b388ff !important;\n}\n\n.deep-purple.accent-2 {\n background-color: #7c4dff !important;\n}\n\n.deep-purple-text.text-accent-2 {\n color: #7c4dff !important;\n}\n\n.deep-purple.accent-3 {\n background-color: #651fff !important;\n}\n\n.deep-purple-text.text-accent-3 {\n color: #651fff !important;\n}\n\n.deep-purple.accent-4 {\n background-color: #6200ea !important;\n}\n\n.deep-purple-text.text-accent-4 {\n color: #6200ea !important;\n}\n\n.indigo.lighten-5 {\n background-color: #e8eaf6 !important;\n}\n\n.indigo-text.text-lighten-5 {\n color: #e8eaf6 !important;\n}\n\n.indigo.lighten-4 {\n background-color: #c5cae9 !important;\n}\n\n.indigo-text.text-lighten-4 {\n color: #c5cae9 !important;\n}\n\n.indigo.lighten-3 {\n background-color: #9fa8da !important;\n}\n\n.indigo-text.text-lighten-3 {\n color: #9fa8da !important;\n}\n\n.indigo.lighten-2 {\n background-color: #7986cb !important;\n}\n\n.indigo-text.text-lighten-2 {\n color: #7986cb !important;\n}\n\n.indigo.lighten-1 {\n background-color: #5c6bc0 !important;\n}\n\n.indigo-text.text-lighten-1 {\n color: #5c6bc0 !important;\n}\n\n.indigo {\n background-color: #3f51b5 !important;\n}\n\n.indigo-text {\n color: #3f51b5 !important;\n}\n\n.indigo.darken-1 {\n background-color: #3949ab !important;\n}\n\n.indigo-text.text-darken-1 {\n color: #3949ab !important;\n}\n\n.indigo.darken-2 {\n background-color: #303f9f !important;\n}\n\n.indigo-text.text-darken-2 {\n color: #303f9f !important;\n}\n\n.indigo.darken-3 {\n background-color: #283593 !important;\n}\n\n.indigo-text.text-darken-3 {\n color: #283593 !important;\n}\n\n.indigo.darken-4 {\n background-color: #1a237e !important;\n}\n\n.indigo-text.text-darken-4 {\n color: #1a237e !important;\n}\n\n.indigo.accent-1 {\n background-color: #8c9eff !important;\n}\n\n.indigo-text.text-accent-1 {\n color: #8c9eff !important;\n}\n\n.indigo.accent-2 {\n background-color: #536dfe !important;\n}\n\n.indigo-text.text-accent-2 {\n color: #536dfe !important;\n}\n\n.indigo.accent-3 {\n background-color: #3d5afe !important;\n}\n\n.indigo-text.text-accent-3 {\n color: #3d5afe !important;\n}\n\n.indigo.accent-4 {\n background-color: #304ffe !important;\n}\n\n.indigo-text.text-accent-4 {\n color: #304ffe !important;\n}\n\n.blue.lighten-5 {\n background-color: #E3F2FD !important;\n}\n\n.blue-text.text-lighten-5 {\n color: #E3F2FD !important;\n}\n\n.blue.lighten-4 {\n background-color: #BBDEFB !important;\n}\n\n.blue-text.text-lighten-4 {\n color: #BBDEFB !important;\n}\n\n.blue.lighten-3 {\n background-color: #90CAF9 !important;\n}\n\n.blue-text.text-lighten-3 {\n color: #90CAF9 !important;\n}\n\n.blue.lighten-2 {\n background-color: #64B5F6 !important;\n}\n\n.blue-text.text-lighten-2 {\n color: #64B5F6 !important;\n}\n\n.blue.lighten-1 {\n background-color: #42A5F5 !important;\n}\n\n.blue-text.text-lighten-1 {\n color: #42A5F5 !important;\n}\n\n.blue {\n background-color: #2196F3 !important;\n}\n\n.blue-text {\n color: #2196F3 !important;\n}\n\n.blue.darken-1 {\n background-color: #1E88E5 !important;\n}\n\n.blue-text.text-darken-1 {\n color: #1E88E5 !important;\n}\n\n.blue.darken-2 {\n background-color: #1976D2 !important;\n}\n\n.blue-text.text-darken-2 {\n color: #1976D2 !important;\n}\n\n.blue.darken-3 {\n background-color: #1565C0 !important;\n}\n\n.blue-text.text-darken-3 {\n color: #1565C0 !important;\n}\n\n.blue.darken-4 {\n background-color: #0D47A1 !important;\n}\n\n.blue-text.text-darken-4 {\n color: #0D47A1 !important;\n}\n\n.blue.accent-1 {\n background-color: #82B1FF !important;\n}\n\n.blue-text.text-accent-1 {\n color: #82B1FF !important;\n}\n\n.blue.accent-2 {\n background-color: #448AFF !important;\n}\n\n.blue-text.text-accent-2 {\n color: #448AFF !important;\n}\n\n.blue.accent-3 {\n background-color: #2979FF !important;\n}\n\n.blue-text.text-accent-3 {\n color: #2979FF !important;\n}\n\n.blue.accent-4 {\n background-color: #2962FF !important;\n}\n\n.blue-text.text-accent-4 {\n color: #2962FF !important;\n}\n\n.light-blue.lighten-5 {\n background-color: #e1f5fe !important;\n}\n\n.light-blue-text.text-lighten-5 {\n color: #e1f5fe !important;\n}\n\n.light-blue.lighten-4 {\n background-color: #b3e5fc !important;\n}\n\n.light-blue-text.text-lighten-4 {\n color: #b3e5fc !important;\n}\n\n.light-blue.lighten-3 {\n background-color: #81d4fa !important;\n}\n\n.light-blue-text.text-lighten-3 {\n color: #81d4fa !important;\n}\n\n.light-blue.lighten-2 {\n background-color: #4fc3f7 !important;\n}\n\n.light-blue-text.text-lighten-2 {\n color: #4fc3f7 !important;\n}\n\n.light-blue.lighten-1 {\n background-color: #29b6f6 !important;\n}\n\n.light-blue-text.text-lighten-1 {\n color: #29b6f6 !important;\n}\n\n.light-blue {\n background-color: #03a9f4 !important;\n}\n\n.light-blue-text {\n color: #03a9f4 !important;\n}\n\n.light-blue.darken-1 {\n background-color: #039be5 !important;\n}\n\n.light-blue-text.text-darken-1 {\n color: #039be5 !important;\n}\n\n.light-blue.darken-2 {\n background-color: #0288d1 !important;\n}\n\n.light-blue-text.text-darken-2 {\n color: #0288d1 !important;\n}\n\n.light-blue.darken-3 {\n background-color: #0277bd !important;\n}\n\n.light-blue-text.text-darken-3 {\n color: #0277bd !important;\n}\n\n.light-blue.darken-4 {\n background-color: #01579b !important;\n}\n\n.light-blue-text.text-darken-4 {\n color: #01579b !important;\n}\n\n.light-blue.accent-1 {\n background-color: #80d8ff !important;\n}\n\n.light-blue-text.text-accent-1 {\n color: #80d8ff !important;\n}\n\n.light-blue.accent-2 {\n background-color: #40c4ff !important;\n}\n\n.light-blue-text.text-accent-2 {\n color: #40c4ff !important;\n}\n\n.light-blue.accent-3 {\n background-color: #00b0ff !important;\n}\n\n.light-blue-text.text-accent-3 {\n color: #00b0ff !important;\n}\n\n.light-blue.accent-4 {\n background-color: #0091ea !important;\n}\n\n.light-blue-text.text-accent-4 {\n color: #0091ea !important;\n}\n\n.cyan.lighten-5 {\n background-color: #e0f7fa !important;\n}\n\n.cyan-text.text-lighten-5 {\n color: #e0f7fa !important;\n}\n\n.cyan.lighten-4 {\n background-color: #b2ebf2 !important;\n}\n\n.cyan-text.text-lighten-4 {\n color: #b2ebf2 !important;\n}\n\n.cyan.lighten-3 {\n background-color: #80deea !important;\n}\n\n.cyan-text.text-lighten-3 {\n color: #80deea !important;\n}\n\n.cyan.lighten-2 {\n background-color: #4dd0e1 !important;\n}\n\n.cyan-text.text-lighten-2 {\n color: #4dd0e1 !important;\n}\n\n.cyan.lighten-1 {\n background-color: #26c6da !important;\n}\n\n.cyan-text.text-lighten-1 {\n color: #26c6da !important;\n}\n\n.cyan {\n background-color: #00bcd4 !important;\n}\n\n.cyan-text {\n color: #00bcd4 !important;\n}\n\n.cyan.darken-1 {\n background-color: #00acc1 !important;\n}\n\n.cyan-text.text-darken-1 {\n color: #00acc1 !important;\n}\n\n.cyan.darken-2 {\n background-color: #0097a7 !important;\n}\n\n.cyan-text.text-darken-2 {\n color: #0097a7 !important;\n}\n\n.cyan.darken-3 {\n background-color: #00838f !important;\n}\n\n.cyan-text.text-darken-3 {\n color: #00838f !important;\n}\n\n.cyan.darken-4 {\n background-color: #006064 !important;\n}\n\n.cyan-text.text-darken-4 {\n color: #006064 !important;\n}\n\n.cyan.accent-1 {\n background-color: #84ffff !important;\n}\n\n.cyan-text.text-accent-1 {\n color: #84ffff !important;\n}\n\n.cyan.accent-2 {\n background-color: #18ffff !important;\n}\n\n.cyan-text.text-accent-2 {\n color: #18ffff !important;\n}\n\n.cyan.accent-3 {\n background-color: #00e5ff !important;\n}\n\n.cyan-text.text-accent-3 {\n color: #00e5ff !important;\n}\n\n.cyan.accent-4 {\n background-color: #00b8d4 !important;\n}\n\n.cyan-text.text-accent-4 {\n color: #00b8d4 !important;\n}\n\n.teal.lighten-5 {\n background-color: #e0f2f1 !important;\n}\n\n.teal-text.text-lighten-5 {\n color: #e0f2f1 !important;\n}\n\n.teal.lighten-4 {\n background-color: #b2dfdb !important;\n}\n\n.teal-text.text-lighten-4 {\n color: #b2dfdb !important;\n}\n\n.teal.lighten-3 {\n background-color: #80cbc4 !important;\n}\n\n.teal-text.text-lighten-3 {\n color: #80cbc4 !important;\n}\n\n.teal.lighten-2 {\n background-color: #4db6ac !important;\n}\n\n.teal-text.text-lighten-2 {\n color: #4db6ac !important;\n}\n\n.teal.lighten-1 {\n background-color: #26a69a !important;\n}\n\n.teal-text.text-lighten-1 {\n color: #26a69a !important;\n}\n\n.teal {\n background-color: #009688 !important;\n}\n\n.teal-text {\n color: #009688 !important;\n}\n\n.teal.darken-1 {\n background-color: #00897b !important;\n}\n\n.teal-text.text-darken-1 {\n color: #00897b !important;\n}\n\n.teal.darken-2 {\n background-color: #00796b !important;\n}\n\n.teal-text.text-darken-2 {\n color: #00796b !important;\n}\n\n.teal.darken-3 {\n background-color: #00695c !important;\n}\n\n.teal-text.text-darken-3 {\n color: #00695c !important;\n}\n\n.teal.darken-4 {\n background-color: #004d40 !important;\n}\n\n.teal-text.text-darken-4 {\n color: #004d40 !important;\n}\n\n.teal.accent-1 {\n background-color: #a7ffeb !important;\n}\n\n.teal-text.text-accent-1 {\n color: #a7ffeb !important;\n}\n\n.teal.accent-2 {\n background-color: #64ffda !important;\n}\n\n.teal-text.text-accent-2 {\n color: #64ffda !important;\n}\n\n.teal.accent-3 {\n background-color: #1de9b6 !important;\n}\n\n.teal-text.text-accent-3 {\n color: #1de9b6 !important;\n}\n\n.teal.accent-4 {\n background-color: #00bfa5 !important;\n}\n\n.teal-text.text-accent-4 {\n color: #00bfa5 !important;\n}\n\n.green.lighten-5 {\n background-color: #E8F5E9 !important;\n}\n\n.green-text.text-lighten-5 {\n color: #E8F5E9 !important;\n}\n\n.green.lighten-4 {\n background-color: #C8E6C9 !important;\n}\n\n.green-text.text-lighten-4 {\n color: #C8E6C9 !important;\n}\n\n.green.lighten-3 {\n background-color: #A5D6A7 !important;\n}\n\n.green-text.text-lighten-3 {\n color: #A5D6A7 !important;\n}\n\n.green.lighten-2 {\n background-color: #81C784 !important;\n}\n\n.green-text.text-lighten-2 {\n color: #81C784 !important;\n}\n\n.green.lighten-1 {\n background-color: #66BB6A !important;\n}\n\n.green-text.text-lighten-1 {\n color: #66BB6A !important;\n}\n\n.green {\n background-color: #4CAF50 !important;\n}\n\n.green-text {\n color: #4CAF50 !important;\n}\n\n.green.darken-1 {\n background-color: #43A047 !important;\n}\n\n.green-text.text-darken-1 {\n color: #43A047 !important;\n}\n\n.green.darken-2 {\n background-color: #388E3C !important;\n}\n\n.green-text.text-darken-2 {\n color: #388E3C !important;\n}\n\n.green.darken-3 {\n background-color: #2E7D32 !important;\n}\n\n.green-text.text-darken-3 {\n color: #2E7D32 !important;\n}\n\n.green.darken-4 {\n background-color: #1B5E20 !important;\n}\n\n.green-text.text-darken-4 {\n color: #1B5E20 !important;\n}\n\n.green.accent-1 {\n background-color: #B9F6CA !important;\n}\n\n.green-text.text-accent-1 {\n color: #B9F6CA !important;\n}\n\n.green.accent-2 {\n background-color: #69F0AE !important;\n}\n\n.green-text.text-accent-2 {\n color: #69F0AE !important;\n}\n\n.green.accent-3 {\n background-color: #00E676 !important;\n}\n\n.green-text.text-accent-3 {\n color: #00E676 !important;\n}\n\n.green.accent-4 {\n background-color: #00C853 !important;\n}\n\n.green-text.text-accent-4 {\n color: #00C853 !important;\n}\n\n.light-green.lighten-5 {\n background-color: #f1f8e9 !important;\n}\n\n.light-green-text.text-lighten-5 {\n color: #f1f8e9 !important;\n}\n\n.light-green.lighten-4 {\n background-color: #dcedc8 !important;\n}\n\n.light-green-text.text-lighten-4 {\n color: #dcedc8 !important;\n}\n\n.light-green.lighten-3 {\n background-color: #c5e1a5 !important;\n}\n\n.light-green-text.text-lighten-3 {\n color: #c5e1a5 !important;\n}\n\n.light-green.lighten-2 {\n background-color: #aed581 !important;\n}\n\n.light-green-text.text-lighten-2 {\n color: #aed581 !important;\n}\n\n.light-green.lighten-1 {\n background-color: #9ccc65 !important;\n}\n\n.light-green-text.text-lighten-1 {\n color: #9ccc65 !important;\n}\n\n.light-green {\n background-color: #8bc34a !important;\n}\n\n.light-green-text {\n color: #8bc34a !important;\n}\n\n.light-green.darken-1 {\n background-color: #7cb342 !important;\n}\n\n.light-green-text.text-darken-1 {\n color: #7cb342 !important;\n}\n\n.light-green.darken-2 {\n background-color: #689f38 !important;\n}\n\n.light-green-text.text-darken-2 {\n color: #689f38 !important;\n}\n\n.light-green.darken-3 {\n background-color: #558b2f !important;\n}\n\n.light-green-text.text-darken-3 {\n color: #558b2f !important;\n}\n\n.light-green.darken-4 {\n background-color: #33691e !important;\n}\n\n.light-green-text.text-darken-4 {\n color: #33691e !important;\n}\n\n.light-green.accent-1 {\n background-color: #ccff90 !important;\n}\n\n.light-green-text.text-accent-1 {\n color: #ccff90 !important;\n}\n\n.light-green.accent-2 {\n background-color: #b2ff59 !important;\n}\n\n.light-green-text.text-accent-2 {\n color: #b2ff59 !important;\n}\n\n.light-green.accent-3 {\n background-color: #76ff03 !important;\n}\n\n.light-green-text.text-accent-3 {\n color: #76ff03 !important;\n}\n\n.light-green.accent-4 {\n background-color: #64dd17 !important;\n}\n\n.light-green-text.text-accent-4 {\n color: #64dd17 !important;\n}\n\n.lime.lighten-5 {\n background-color: #f9fbe7 !important;\n}\n\n.lime-text.text-lighten-5 {\n color: #f9fbe7 !important;\n}\n\n.lime.lighten-4 {\n background-color: #f0f4c3 !important;\n}\n\n.lime-text.text-lighten-4 {\n color: #f0f4c3 !important;\n}\n\n.lime.lighten-3 {\n background-color: #e6ee9c !important;\n}\n\n.lime-text.text-lighten-3 {\n color: #e6ee9c !important;\n}\n\n.lime.lighten-2 {\n background-color: #dce775 !important;\n}\n\n.lime-text.text-lighten-2 {\n color: #dce775 !important;\n}\n\n.lime.lighten-1 {\n background-color: #d4e157 !important;\n}\n\n.lime-text.text-lighten-1 {\n color: #d4e157 !important;\n}\n\n.lime {\n background-color: #cddc39 !important;\n}\n\n.lime-text {\n color: #cddc39 !important;\n}\n\n.lime.darken-1 {\n background-color: #c0ca33 !important;\n}\n\n.lime-text.text-darken-1 {\n color: #c0ca33 !important;\n}\n\n.lime.darken-2 {\n background-color: #afb42b !important;\n}\n\n.lime-text.text-darken-2 {\n color: #afb42b !important;\n}\n\n.lime.darken-3 {\n background-color: #9e9d24 !important;\n}\n\n.lime-text.text-darken-3 {\n color: #9e9d24 !important;\n}\n\n.lime.darken-4 {\n background-color: #827717 !important;\n}\n\n.lime-text.text-darken-4 {\n color: #827717 !important;\n}\n\n.lime.accent-1 {\n background-color: #f4ff81 !important;\n}\n\n.lime-text.text-accent-1 {\n color: #f4ff81 !important;\n}\n\n.lime.accent-2 {\n background-color: #eeff41 !important;\n}\n\n.lime-text.text-accent-2 {\n color: #eeff41 !important;\n}\n\n.lime.accent-3 {\n background-color: #c6ff00 !important;\n}\n\n.lime-text.text-accent-3 {\n color: #c6ff00 !important;\n}\n\n.lime.accent-4 {\n background-color: #aeea00 !important;\n}\n\n.lime-text.text-accent-4 {\n color: #aeea00 !important;\n}\n\n.yellow.lighten-5 {\n background-color: #fffde7 !important;\n}\n\n.yellow-text.text-lighten-5 {\n color: #fffde7 !important;\n}\n\n.yellow.lighten-4 {\n background-color: #fff9c4 !important;\n}\n\n.yellow-text.text-lighten-4 {\n color: #fff9c4 !important;\n}\n\n.yellow.lighten-3 {\n background-color: #fff59d !important;\n}\n\n.yellow-text.text-lighten-3 {\n color: #fff59d !important;\n}\n\n.yellow.lighten-2 {\n background-color: #fff176 !important;\n}\n\n.yellow-text.text-lighten-2 {\n color: #fff176 !important;\n}\n\n.yellow.lighten-1 {\n background-color: #ffee58 !important;\n}\n\n.yellow-text.text-lighten-1 {\n color: #ffee58 !important;\n}\n\n.yellow {\n background-color: #ffeb3b !important;\n}\n\n.yellow-text {\n color: #ffeb3b !important;\n}\n\n.yellow.darken-1 {\n background-color: #fdd835 !important;\n}\n\n.yellow-text.text-darken-1 {\n color: #fdd835 !important;\n}\n\n.yellow.darken-2 {\n background-color: #fbc02d !important;\n}\n\n.yellow-text.text-darken-2 {\n color: #fbc02d !important;\n}\n\n.yellow.darken-3 {\n background-color: #f9a825 !important;\n}\n\n.yellow-text.text-darken-3 {\n color: #f9a825 !important;\n}\n\n.yellow.darken-4 {\n background-color: #f57f17 !important;\n}\n\n.yellow-text.text-darken-4 {\n color: #f57f17 !important;\n}\n\n.yellow.accent-1 {\n background-color: #ffff8d !important;\n}\n\n.yellow-text.text-accent-1 {\n color: #ffff8d !important;\n}\n\n.yellow.accent-2 {\n background-color: #ffff00 !important;\n}\n\n.yellow-text.text-accent-2 {\n color: #ffff00 !important;\n}\n\n.yellow.accent-3 {\n background-color: #ffea00 !important;\n}\n\n.yellow-text.text-accent-3 {\n color: #ffea00 !important;\n}\n\n.yellow.accent-4 {\n background-color: #ffd600 !important;\n}\n\n.yellow-text.text-accent-4 {\n color: #ffd600 !important;\n}\n\n.amber.lighten-5 {\n background-color: #fff8e1 !important;\n}\n\n.amber-text.text-lighten-5 {\n color: #fff8e1 !important;\n}\n\n.amber.lighten-4 {\n background-color: #ffecb3 !important;\n}\n\n.amber-text.text-lighten-4 {\n color: #ffecb3 !important;\n}\n\n.amber.lighten-3 {\n background-color: #ffe082 !important;\n}\n\n.amber-text.text-lighten-3 {\n color: #ffe082 !important;\n}\n\n.amber.lighten-2 {\n background-color: #ffd54f !important;\n}\n\n.amber-text.text-lighten-2 {\n color: #ffd54f !important;\n}\n\n.amber.lighten-1 {\n background-color: #ffca28 !important;\n}\n\n.amber-text.text-lighten-1 {\n color: #ffca28 !important;\n}\n\n.amber {\n background-color: #ffc107 !important;\n}\n\n.amber-text {\n color: #ffc107 !important;\n}\n\n.amber.darken-1 {\n background-color: #ffb300 !important;\n}\n\n.amber-text.text-darken-1 {\n color: #ffb300 !important;\n}\n\n.amber.darken-2 {\n background-color: #ffa000 !important;\n}\n\n.amber-text.text-darken-2 {\n color: #ffa000 !important;\n}\n\n.amber.darken-3 {\n background-color: #ff8f00 !important;\n}\n\n.amber-text.text-darken-3 {\n color: #ff8f00 !important;\n}\n\n.amber.darken-4 {\n background-color: #ff6f00 !important;\n}\n\n.amber-text.text-darken-4 {\n color: #ff6f00 !important;\n}\n\n.amber.accent-1 {\n background-color: #ffe57f !important;\n}\n\n.amber-text.text-accent-1 {\n color: #ffe57f !important;\n}\n\n.amber.accent-2 {\n background-color: #ffd740 !important;\n}\n\n.amber-text.text-accent-2 {\n color: #ffd740 !important;\n}\n\n.amber.accent-3 {\n background-color: #ffc400 !important;\n}\n\n.amber-text.text-accent-3 {\n color: #ffc400 !important;\n}\n\n.amber.accent-4 {\n background-color: #ffab00 !important;\n}\n\n.amber-text.text-accent-4 {\n color: #ffab00 !important;\n}\n\n.orange.lighten-5 {\n background-color: #fff3e0 !important;\n}\n\n.orange-text.text-lighten-5 {\n color: #fff3e0 !important;\n}\n\n.orange.lighten-4 {\n background-color: #ffe0b2 !important;\n}\n\n.orange-text.text-lighten-4 {\n color: #ffe0b2 !important;\n}\n\n.orange.lighten-3 {\n background-color: #ffcc80 !important;\n}\n\n.orange-text.text-lighten-3 {\n color: #ffcc80 !important;\n}\n\n.orange.lighten-2 {\n background-color: #ffb74d !important;\n}\n\n.orange-text.text-lighten-2 {\n color: #ffb74d !important;\n}\n\n.orange.lighten-1 {\n background-color: #ffa726 !important;\n}\n\n.orange-text.text-lighten-1 {\n color: #ffa726 !important;\n}\n\n.orange {\n background-color: #ff9800 !important;\n}\n\n.orange-text {\n color: #ff9800 !important;\n}\n\n.orange.darken-1 {\n background-color: #fb8c00 !important;\n}\n\n.orange-text.text-darken-1 {\n color: #fb8c00 !important;\n}\n\n.orange.darken-2 {\n background-color: #f57c00 !important;\n}\n\n.orange-text.text-darken-2 {\n color: #f57c00 !important;\n}\n\n.orange.darken-3 {\n background-color: #ef6c00 !important;\n}\n\n.orange-text.text-darken-3 {\n color: #ef6c00 !important;\n}\n\n.orange.darken-4 {\n background-color: #e65100 !important;\n}\n\n.orange-text.text-darken-4 {\n color: #e65100 !important;\n}\n\n.orange.accent-1 {\n background-color: #ffd180 !important;\n}\n\n.orange-text.text-accent-1 {\n color: #ffd180 !important;\n}\n\n.orange.accent-2 {\n background-color: #ffab40 !important;\n}\n\n.orange-text.text-accent-2 {\n color: #ffab40 !important;\n}\n\n.orange.accent-3 {\n background-color: #ff9100 !important;\n}\n\n.orange-text.text-accent-3 {\n color: #ff9100 !important;\n}\n\n.orange.accent-4 {\n background-color: #ff6d00 !important;\n}\n\n.orange-text.text-accent-4 {\n color: #ff6d00 !important;\n}\n\n.deep-orange.lighten-5 {\n background-color: #fbe9e7 !important;\n}\n\n.deep-orange-text.text-lighten-5 {\n color: #fbe9e7 !important;\n}\n\n.deep-orange.lighten-4 {\n background-color: #ffccbc !important;\n}\n\n.deep-orange-text.text-lighten-4 {\n color: #ffccbc !important;\n}\n\n.deep-orange.lighten-3 {\n background-color: #ffab91 !important;\n}\n\n.deep-orange-text.text-lighten-3 {\n color: #ffab91 !important;\n}\n\n.deep-orange.lighten-2 {\n background-color: #ff8a65 !important;\n}\n\n.deep-orange-text.text-lighten-2 {\n color: #ff8a65 !important;\n}\n\n.deep-orange.lighten-1 {\n background-color: #ff7043 !important;\n}\n\n.deep-orange-text.text-lighten-1 {\n color: #ff7043 !important;\n}\n\n.deep-orange {\n background-color: #ff5722 !important;\n}\n\n.deep-orange-text {\n color: #ff5722 !important;\n}\n\n.deep-orange.darken-1 {\n background-color: #f4511e !important;\n}\n\n.deep-orange-text.text-darken-1 {\n color: #f4511e !important;\n}\n\n.deep-orange.darken-2 {\n background-color: #e64a19 !important;\n}\n\n.deep-orange-text.text-darken-2 {\n color: #e64a19 !important;\n}\n\n.deep-orange.darken-3 {\n background-color: #d84315 !important;\n}\n\n.deep-orange-text.text-darken-3 {\n color: #d84315 !important;\n}\n\n.deep-orange.darken-4 {\n background-color: #bf360c !important;\n}\n\n.deep-orange-text.text-darken-4 {\n color: #bf360c !important;\n}\n\n.deep-orange.accent-1 {\n background-color: #ff9e80 !important;\n}\n\n.deep-orange-text.text-accent-1 {\n color: #ff9e80 !important;\n}\n\n.deep-orange.accent-2 {\n background-color: #ff6e40 !important;\n}\n\n.deep-orange-text.text-accent-2 {\n color: #ff6e40 !important;\n}\n\n.deep-orange.accent-3 {\n background-color: #ff3d00 !important;\n}\n\n.deep-orange-text.text-accent-3 {\n color: #ff3d00 !important;\n}\n\n.deep-orange.accent-4 {\n background-color: #dd2c00 !important;\n}\n\n.deep-orange-text.text-accent-4 {\n color: #dd2c00 !important;\n}\n\n.brown.lighten-5 {\n background-color: #efebe9 !important;\n}\n\n.brown-text.text-lighten-5 {\n color: #efebe9 !important;\n}\n\n.brown.lighten-4 {\n background-color: #d7ccc8 !important;\n}\n\n.brown-text.text-lighten-4 {\n color: #d7ccc8 !important;\n}\n\n.brown.lighten-3 {\n background-color: #bcaaa4 !important;\n}\n\n.brown-text.text-lighten-3 {\n color: #bcaaa4 !important;\n}\n\n.brown.lighten-2 {\n background-color: #a1887f !important;\n}\n\n.brown-text.text-lighten-2 {\n color: #a1887f !important;\n}\n\n.brown.lighten-1 {\n background-color: #8d6e63 !important;\n}\n\n.brown-text.text-lighten-1 {\n color: #8d6e63 !important;\n}\n\n.brown {\n background-color: #795548 !important;\n}\n\n.brown-text {\n color: #795548 !important;\n}\n\n.brown.darken-1 {\n background-color: #6d4c41 !important;\n}\n\n.brown-text.text-darken-1 {\n color: #6d4c41 !important;\n}\n\n.brown.darken-2 {\n background-color: #5d4037 !important;\n}\n\n.brown-text.text-darken-2 {\n color: #5d4037 !important;\n}\n\n.brown.darken-3 {\n background-color: #4e342e !important;\n}\n\n.brown-text.text-darken-3 {\n color: #4e342e !important;\n}\n\n.brown.darken-4 {\n background-color: #3e2723 !important;\n}\n\n.brown-text.text-darken-4 {\n color: #3e2723 !important;\n}\n\n.blue-grey.lighten-5 {\n background-color: #eceff1 !important;\n}\n\n.blue-grey-text.text-lighten-5 {\n color: #eceff1 !important;\n}\n\n.blue-grey.lighten-4 {\n background-color: #cfd8dc !important;\n}\n\n.blue-grey-text.text-lighten-4 {\n color: #cfd8dc !important;\n}\n\n.blue-grey.lighten-3 {\n background-color: #b0bec5 !important;\n}\n\n.blue-grey-text.text-lighten-3 {\n color: #b0bec5 !important;\n}\n\n.blue-grey.lighten-2 {\n background-color: #90a4ae !important;\n}\n\n.blue-grey-text.text-lighten-2 {\n color: #90a4ae !important;\n}\n\n.blue-grey.lighten-1 {\n background-color: #78909c !important;\n}\n\n.blue-grey-text.text-lighten-1 {\n color: #78909c !important;\n}\n\n.blue-grey {\n background-color: #607d8b !important;\n}\n\n.blue-grey-text {\n color: #607d8b !important;\n}\n\n.blue-grey.darken-1 {\n background-color: #546e7a !important;\n}\n\n.blue-grey-text.text-darken-1 {\n color: #546e7a !important;\n}\n\n.blue-grey.darken-2 {\n background-color: #455a64 !important;\n}\n\n.blue-grey-text.text-darken-2 {\n color: #455a64 !important;\n}\n\n.blue-grey.darken-3 {\n background-color: #37474f !important;\n}\n\n.blue-grey-text.text-darken-3 {\n color: #37474f !important;\n}\n\n.blue-grey.darken-4 {\n background-color: #263238 !important;\n}\n\n.blue-grey-text.text-darken-4 {\n color: #263238 !important;\n}\n\n.grey.lighten-5 {\n background-color: #fafafa !important;\n}\n\n.grey-text.text-lighten-5 {\n color: #fafafa !important;\n}\n\n.grey.lighten-4 {\n background-color: #f5f5f5 !important;\n}\n\n.grey-text.text-lighten-4 {\n color: #f5f5f5 !important;\n}\n\n.grey.lighten-3 {\n background-color: #eeeeee !important;\n}\n\n.grey-text.text-lighten-3 {\n color: #eeeeee !important;\n}\n\n.grey.lighten-2 {\n background-color: #e0e0e0 !important;\n}\n\n.grey-text.text-lighten-2 {\n color: #e0e0e0 !important;\n}\n\n.grey.lighten-1 {\n background-color: #bdbdbd !important;\n}\n\n.grey-text.text-lighten-1 {\n color: #bdbdbd !important;\n}\n\n.grey {\n background-color: #9e9e9e !important;\n}\n\n.grey-text {\n color: #9e9e9e !important;\n}\n\n.grey.darken-1 {\n background-color: #757575 !important;\n}\n\n.grey-text.text-darken-1 {\n color: #757575 !important;\n}\n\n.grey.darken-2 {\n background-color: #616161 !important;\n}\n\n.grey-text.text-darken-2 {\n color: #616161 !important;\n}\n\n.grey.darken-3 {\n background-color: #424242 !important;\n}\n\n.grey-text.text-darken-3 {\n color: #424242 !important;\n}\n\n.grey.darken-4 {\n background-color: #212121 !important;\n}\n\n.grey-text.text-darken-4 {\n color: #212121 !important;\n}\n\n.shades.black {\n background-color: #000000 !important;\n}\n\n.shades-text.text-black {\n color: #000000 !important;\n}\n\n.shades.white {\n background-color: #FFFFFF !important;\n}\n\n.shades-text.text-white {\n color: #FFFFFF !important;\n}\n\n.shades.transparent {\n background-color: transparent !important;\n}\n\n.shades-text.text-transparent {\n color: transparent !important;\n}\n\n.black {\n background-color: #000000 !important;\n}\n\n.black-text {\n color: #000000 !important;\n}\n\n.white {\n background-color: #FFFFFF !important;\n}\n\n.white-text {\n color: #FFFFFF !important;\n}\n\n.transparent {\n background-color: transparent !important;\n}\n\n.transparent-text {\n color: transparent !important;\n}\n\n/*** Colors ***/\n/*** Badges ***/\n/*** Buttons ***/\n/*** Cards ***/\n/*** Collapsible ***/\n/*** Chips ***/\n/*** Date Picker ***/\n/*** Dropdown ***/\n/*** Fonts ***/\n/*** Forms ***/\n/*** Global ***/\n/*** Navbar ***/\n/*** SideNav ***/\n/*** Photo Slider ***/\n/*** Spinners | Loaders ***/\n/*** Tabs ***/\n/*** Tables ***/\n/*** Toasts ***/\n/*** Typography ***/\n/*** Collections ***/\n/* Progress Bar */\n/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n/* 1 */\nhtml input[type=\"button\"],\nbutton,\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*, *:before, *:after {\n box-sizing: inherit;\n}\n\nul {\n list-style-type: none;\n}\n\na {\n color: #039be5;\n text-decoration: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.valign-wrapper {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.valign-wrapper .valign {\n display: block;\n}\n\nul {\n padding: 0;\n}\n\nul li {\n list-style-type: none;\n}\n\n.clearfix {\n clear: both;\n}\n\n.z-depth-0 {\n box-shadow: none !important;\n}\n\n.z-depth-1, nav, .card-panel, .card, .toast, .btn, .btn-large, .btn-floating, .dropdown-content, .collapsible, .side-nav {\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n}\n\n.z-depth-1-half, .btn:hover, .btn-large:hover, .btn-floating:hover {\n box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\n}\n\n.z-depth-2 {\n box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n\n.z-depth-3 {\n box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);\n}\n\n.z-depth-4, .modal {\n box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);\n}\n\n.z-depth-5 {\n box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);\n}\n\n.hoverable {\n transition: box-shadow .25s;\n box-shadow: 0;\n}\n\n.hoverable:hover {\n transition: box-shadow .25s;\n box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n\n.divider {\n height: 1px;\n overflow: hidden;\n background-color: #e0e0e0;\n}\n\nblockquote {\n margin: 20px 0;\n padding-left: 1.5rem;\n border-left: 5px solid #ee6e73;\n}\n\ni {\n line-height: inherit;\n}\n\ni.left {\n float: left;\n margin-right: 15px;\n}\n\ni.right {\n float: right;\n margin-left: 15px;\n}\n\ni.tiny {\n font-size: 1rem;\n}\n\ni.small {\n font-size: 2rem;\n}\n\ni.medium {\n font-size: 4rem;\n}\n\ni.large {\n font-size: 6rem;\n}\n\nimg.responsive-img,\nvideo.responsive-video {\n max-width: 100%;\n height: auto;\n}\n\n.pagination li {\n display: inline-block;\n font-size: 1.2rem;\n padding: 0 10px;\n line-height: 30px;\n border-radius: 2px;\n text-align: center;\n}\n\n.pagination li a {\n color: #444;\n}\n\n.pagination li.active a {\n color: #fff;\n}\n\n.pagination li.active {\n background-color: #ee6e73;\n}\n\n.pagination li.disabled a {\n cursor: default;\n color: #999;\n}\n\n.pagination li i {\n font-size: 2.2rem;\n vertical-align: middle;\n}\n\n.pagination li.pages ul li {\n display: inline-block;\n float: none;\n}\n\n@media only screen and (max-width: 992px) {\n .pagination {\n width: 100%;\n }\n .pagination li.prev,\n .pagination li.next {\n width: 10%;\n }\n .pagination li.pages {\n width: 80%;\n overflow: hidden;\n white-space: nowrap;\n }\n}\n\n.breadcrumb {\n font-size: 18px;\n color: rgba(255, 255, 255, 0.7);\n}\n\n.breadcrumb i,\n.breadcrumb [class^=\"mdi-\"], .breadcrumb [class*=\"mdi-\"],\n.breadcrumb i.material-icons {\n display: inline-block;\n float: left;\n font-size: 24px;\n}\n\n.breadcrumb:before {\n content: '\\E5CC';\n color: rgba(255, 255, 255, 0.7);\n vertical-align: top;\n display: inline-block;\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 25px;\n margin: 0 10px 0 8px;\n -webkit-font-smoothing: antialiased;\n}\n\n.breadcrumb:first-child:before {\n display: none;\n}\n\n.breadcrumb:last-child {\n color: #fff;\n}\n\n.parallax-container {\n position: relative;\n overflow: hidden;\n height: 500px;\n}\n\n.parallax {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n}\n\n.parallax img {\n display: none;\n position: absolute;\n left: 50%;\n bottom: 0;\n min-width: 100%;\n min-height: 100%;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n}\n\n.pin-top, .pin-bottom {\n position: relative;\n}\n\n.pinned {\n position: fixed !important;\n}\n\n/*********************\n Transition Classes\n**********************/\nul.staggered-list li {\n opacity: 0;\n}\n\n.fade-in {\n opacity: 0;\n -webkit-transform-origin: 0 50%;\n transform-origin: 0 50%;\n}\n\n/*********************\n Media Query Classes\n**********************/\n@media only screen and (max-width: 600px) {\n .hide-on-small-only, .hide-on-small-and-down {\n display: none !important;\n }\n}\n\n@media only screen and (max-width: 992px) {\n .hide-on-med-and-down {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 601px) {\n .hide-on-med-and-up {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 600px) and (max-width: 992px) {\n .hide-on-med-only {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .hide-on-large-only {\n display: none !important;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .show-on-large {\n display: block !important;\n }\n}\n\n@media only screen and (min-width: 600px) and (max-width: 992px) {\n .show-on-medium {\n display: block !important;\n }\n}\n\n@media only screen and (max-width: 600px) {\n .show-on-small {\n display: block !important;\n }\n}\n\n@media only screen and (min-width: 601px) {\n .show-on-medium-and-up {\n display: block !important;\n }\n}\n\n@media only screen and (max-width: 992px) {\n .show-on-medium-and-down {\n display: block !important;\n }\n}\n\n@media only screen and (max-width: 600px) {\n .center-on-small-only {\n text-align: center;\n }\n}\n\nfooter.page-footer {\n margin-top: 20px;\n padding-top: 20px;\n background-color: #ee6e73;\n}\n\nfooter.page-footer .footer-copyright {\n overflow: hidden;\n height: 50px;\n line-height: 50px;\n color: rgba(255, 255, 255, 0.8);\n background-color: rgba(51, 51, 51, 0.08);\n}\n\ntable, th, td {\n border: none;\n}\n\ntable {\n width: 100%;\n display: table;\n}\n\ntable.bordered > thead > tr,\ntable.bordered > tbody > tr {\n border-bottom: 1px solid #d0d0d0;\n}\n\ntable.striped > tbody > tr:nth-child(odd) {\n background-color: #f2f2f2;\n}\n\ntable.striped > tbody > tr > td {\n border-radius: 0px;\n}\n\ntable.highlight > tbody > tr {\n transition: background-color .25s ease;\n}\n\ntable.highlight > tbody > tr:hover {\n background-color: #f2f2f2;\n}\n\ntable.centered thead tr th, table.centered tbody tr td {\n text-align: center;\n}\n\nthead {\n border-bottom: 1px solid #d0d0d0;\n}\n\ntd, th {\n padding: 15px 5px;\n display: table-cell;\n text-align: left;\n vertical-align: middle;\n border-radius: 2px;\n}\n\n@media only screen and (max-width: 992px) {\n table.responsive-table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n display: block;\n position: relative;\n /* sort out borders */\n }\n table.responsive-table th,\n table.responsive-table td {\n margin: 0;\n vertical-align: top;\n }\n table.responsive-table th {\n text-align: left;\n }\n table.responsive-table thead {\n display: block;\n float: left;\n }\n table.responsive-table thead tr {\n display: block;\n padding: 0 10px 0 0;\n }\n table.responsive-table thead tr th::before {\n content: \"\\00a0\";\n }\n table.responsive-table tbody {\n display: block;\n width: auto;\n position: relative;\n overflow-x: auto;\n white-space: nowrap;\n }\n table.responsive-table tbody tr {\n display: inline-block;\n vertical-align: top;\n }\n table.responsive-table th {\n display: block;\n text-align: right;\n }\n table.responsive-table td {\n display: block;\n min-height: 1.25em;\n text-align: left;\n }\n table.responsive-table tr {\n padding: 0 10px;\n }\n table.responsive-table thead {\n border: 0;\n border-right: 1px solid #d0d0d0;\n }\n table.responsive-table.bordered th {\n border-bottom: 0;\n border-left: 0;\n }\n table.responsive-table.bordered td {\n border-left: 0;\n border-right: 0;\n border-bottom: 0;\n }\n table.responsive-table.bordered tr {\n border: 0;\n }\n table.responsive-table.bordered tbody tr {\n border-right: 1px solid #d0d0d0;\n }\n}\n\n.collection {\n margin: 0.5rem 0 1rem 0;\n border: 1px solid #e0e0e0;\n border-radius: 2px;\n overflow: hidden;\n position: relative;\n}\n\n.collection .collection-item {\n background-color: #fff;\n line-height: 1.5rem;\n padding: 10px 20px;\n margin: 0;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.collection .collection-item.avatar {\n min-height: 84px;\n padding-left: 72px;\n position: relative;\n}\n\n.collection .collection-item.avatar .circle {\n position: absolute;\n width: 42px;\n height: 42px;\n overflow: hidden;\n left: 15px;\n display: inline-block;\n vertical-align: middle;\n}\n\n.collection .collection-item.avatar i.circle {\n font-size: 18px;\n line-height: 42px;\n color: #fff;\n background-color: #999;\n text-align: center;\n}\n\n.collection .collection-item.avatar .title {\n font-size: 16px;\n}\n\n.collection .collection-item.avatar p {\n margin: 0;\n}\n\n.collection .collection-item.avatar .secondary-content {\n position: absolute;\n top: 16px;\n right: 16px;\n}\n\n.collection .collection-item:last-child {\n border-bottom: none;\n}\n\n.collection .collection-item.active {\n background-color: #26a69a;\n color: #eafaf9;\n}\n\n.collection .collection-item.active .secondary-content {\n color: #fff;\n}\n\n.collection a.collection-item {\n display: block;\n transition: .25s;\n color: #26a69a;\n}\n\n.collection a.collection-item:not(.active):hover {\n background-color: #ddd;\n}\n\n.collection.with-header .collection-header {\n background-color: #fff;\n border-bottom: 1px solid #e0e0e0;\n padding: 10px 20px;\n}\n\n.collection.with-header .collection-item {\n padding-left: 30px;\n}\n\n.collection.with-header .collection-item.avatar {\n padding-left: 72px;\n}\n\n.secondary-content {\n float: right;\n color: #26a69a;\n}\n\n.collapsible .collection {\n margin: 0;\n border: none;\n}\n\nspan.badge {\n min-width: 3rem;\n padding: 0 6px;\n text-align: center;\n font-size: 1rem;\n line-height: inherit;\n color: #757575;\n position: absolute;\n right: 15px;\n box-sizing: border-box;\n}\n\nspan.badge.new {\n font-weight: 300;\n font-size: 0.8rem;\n color: #fff;\n background-color: #26a69a;\n border-radius: 2px;\n}\n\nspan.badge.new:after {\n content: \" new\";\n}\n\nnav ul a span.badge {\n position: static;\n margin-left: 4px;\n line-height: 0;\n}\n\n.video-container {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n overflow: hidden;\n}\n\n.video-container iframe, .video-container object, .video-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.progress {\n position: relative;\n height: 4px;\n display: block;\n width: 100%;\n background-color: #acece6;\n border-radius: 2px;\n margin: 0.5rem 0 1rem 0;\n overflow: hidden;\n}\n\n.progress .determinate {\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n background-color: #26a69a;\n transition: width .3s linear;\n}\n\n.progress .indeterminate {\n background-color: #26a69a;\n}\n\n.progress .indeterminate:before {\n content: '';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, right;\n -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n}\n\n.progress .indeterminate:after {\n content: '';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, right;\n -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;\n animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;\n -webkit-animation-delay: 1.15s;\n animation-delay: 1.15s;\n}\n\n@-webkit-keyframes indeterminate {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes indeterminate {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@-webkit-keyframes indeterminate-short {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n}\n\n@keyframes indeterminate-short {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n}\n\n/*******************\n Utility Classes\n*******************/\n.hide {\n display: none !important;\n}\n\n.left-align {\n text-align: left;\n}\n\n.right-align {\n text-align: right;\n}\n\n.center, .center-align {\n text-align: center;\n}\n\n.left {\n float: left !important;\n}\n\n.right {\n float: right !important;\n}\n\n.no-select, input[type=range], input[type=range] + .thumb {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.circle {\n border-radius: 50%;\n}\n\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.truncate {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.no-padding {\n padding: 0 !important;\n}\n\n/* This is needed for some mobile phones to display the Google Icon font properly */\n.material-icons {\n text-rendering: optimizeLegibility;\n -webkit-font-feature-settings: 'liga';\n -moz-font-feature-settings: 'liga';\n font-feature-settings: 'liga';\n}\n\n@font-face {\n font-family: \"Material-Design-Icons\";\n src: url(\"../font/material-design-icons/Material-Design-Icons.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/material-design-icons/Material-Design-Icons.woff2\") format(\"woff2\"), url(\"../font/material-design-icons/Material-Design-Icons.woff\") format(\"woff\"), url(\"../font/material-design-icons/Material-Design-Icons.ttf\") format(\"truetype\"), url(\"../font/material-design-icons/Material-Design-Icons.svg#Material-Design-Icons\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n[class^=\"mdi-\"], [class*=\"mdi-\"] {\n speak: none;\n display: inline-block;\n font-family: \"Material-Design-Icons\";\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-rendering: auto;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n\n[class^=\"mdi-\"]:before, [class*=\"mdi-\"]:before {\n display: inline-block;\n speak: none;\n text-decoration: inherit;\n}\n\n[class^=\"mdi-\"].pull-left, [class*=\"mdi-\"].pull-left {\n margin-right: .3em;\n}\n\n[class^=\"mdi-\"].pull-right, [class*=\"mdi-\"].pull-right {\n margin-left: .3em;\n}\n\n[class^=\"mdi-\"].mdi-lg:before, [class^=\"mdi-\"].mdi-lg:after, [class*=\"mdi-\"].mdi-lg:before, [class*=\"mdi-\"].mdi-lg:after {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n\n[class^=\"mdi-\"].mdi-2x:before, [class^=\"mdi-\"].mdi-2x:after, [class*=\"mdi-\"].mdi-2x:before, [class*=\"mdi-\"].mdi-2x:after {\n font-size: 2em;\n}\n\n[class^=\"mdi-\"].mdi-3x:before, [class^=\"mdi-\"].mdi-3x:after, [class*=\"mdi-\"].mdi-3x:before, [class*=\"mdi-\"].mdi-3x:after {\n font-size: 3em;\n}\n\n[class^=\"mdi-\"].mdi-4x:before, [class^=\"mdi-\"].mdi-4x:after, [class*=\"mdi-\"].mdi-4x:before, [class*=\"mdi-\"].mdi-4x:after {\n font-size: 4em;\n}\n\n[class^=\"mdi-\"].mdi-5x:before, [class^=\"mdi-\"].mdi-5x:after, [class*=\"mdi-\"].mdi-5x:before, [class*=\"mdi-\"].mdi-5x:after {\n font-size: 5em;\n}\n\n[class^=\"mdi-device-signal-cellular-\"]:after,\n[class^=\"mdi-device-battery-\"]:after,\n[class^=\"mdi-device-battery-charging-\"]:after,\n[class^=\"mdi-device-signal-cellular-connected-no-internet-\"]:after,\n[class^=\"mdi-device-signal-wifi-\"]:after,\n[class^=\"mdi-device-signal-wifi-statusbar-not-connected\"]:after,\n.mdi-device-network-wifi:after {\n opacity: .3;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n display: inline-block;\n speak: none;\n text-decoration: inherit;\n}\n\n[class^=\"mdi-device-signal-cellular-\"]:after {\n content: \"\\e758\";\n}\n\n[class^=\"mdi-device-battery-\"]:after {\n content: \"\\e735\";\n}\n\n[class^=\"mdi-device-battery-charging-\"]:after {\n content: \"\\e733\";\n}\n\n[class^=\"mdi-device-signal-cellular-connected-no-internet-\"]:after {\n content: \"\\e75d\";\n}\n\n[class^=\"mdi-device-signal-wifi-\"]:after, .mdi-device-network-wifi:after {\n content: \"\\e765\";\n}\n\n[class^=\"mdi-device-signal-wifi-statusbasr-not-connected\"]:after {\n content: \"\\e8f7\";\n}\n\n.mdi-device-signal-cellular-off:after, .mdi-device-signal-cellular-null:after, .mdi-device-signal-cellular-no-sim:after, .mdi-device-signal-wifi-off:after, .mdi-device-signal-wifi-4-bar:after, .mdi-device-signal-cellular-4-bar:after, .mdi-device-battery-alert:after, .mdi-device-signal-cellular-connected-no-internet-4-bar:after, .mdi-device-battery-std:after, .mdi-device-battery-full .mdi-device-battery-unknown:after {\n content: \"\";\n}\n\n.mdi-fw {\n width: 1.28571429em;\n text-align: center;\n}\n\n.mdi-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n\n.mdi-ul > li {\n position: relative;\n}\n\n.mdi-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n\n.mdi-li.mdi-lg {\n left: -1.85714286em;\n}\n\n.mdi-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eeeeee;\n border-radius: .1em;\n}\n\n.mdi-spin {\n -webkit-animation: mdi-spin 2s infinite linear;\n animation: mdi-spin 2s infinite linear;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n}\n\n.mdi-pulse {\n -webkit-animation: mdi-spin 1s steps(8) infinite;\n animation: mdi-spin 1s steps(8) infinite;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n}\n\n@-webkit-keyframes mdi-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes mdi-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.mdi-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.mdi-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.mdi-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.mdi-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.mdi-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n:root .mdi-rotate-90,\n:root .mdi-rotate-180,\n:root .mdi-rotate-270,\n:root .mdi-flip-horizontal,\n:root .mdi-flip-vertical {\n -webkit-filter: none;\n filter: none;\n}\n\n.mdi-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.mdi-stack-1x,\n.mdi-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.mdi-stack-1x {\n line-height: inherit;\n}\n\n.mdi-stack-2x {\n font-size: 2em;\n}\n\n.mdi-inverse {\n color: #ffffff;\n}\n\n/* Start Icons */\n.mdi-action-3d-rotation:before {\n content: \"\\e600\";\n}\n\n.mdi-action-accessibility:before {\n content: \"\\e601\";\n}\n\n.mdi-action-account-balance-wallet:before {\n content: \"\\e602\";\n}\n\n.mdi-action-account-balance:before {\n content: \"\\e603\";\n}\n\n.mdi-action-account-box:before {\n content: \"\\e604\";\n}\n\n.mdi-action-account-child:before {\n content: \"\\e605\";\n}\n\n.mdi-action-account-circle:before {\n content: \"\\e606\";\n}\n\n.mdi-action-add-shopping-cart:before {\n content: \"\\e607\";\n}\n\n.mdi-action-alarm-add:before {\n content: \"\\e608\";\n}\n\n.mdi-action-alarm-off:before {\n content: \"\\e609\";\n}\n\n.mdi-action-alarm-on:before {\n content: \"\\e60a\";\n}\n\n.mdi-action-alarm:before {\n content: \"\\e60b\";\n}\n\n.mdi-action-android:before {\n content: \"\\e60c\";\n}\n\n.mdi-action-announcement:before {\n content: \"\\e60d\";\n}\n\n.mdi-action-aspect-ratio:before {\n content: \"\\e60e\";\n}\n\n.mdi-action-assessment:before {\n content: \"\\e60f\";\n}\n\n.mdi-action-assignment-ind:before {\n content: \"\\e610\";\n}\n\n.mdi-action-assignment-late:before {\n content: \"\\e611\";\n}\n\n.mdi-action-assignment-return:before {\n content: \"\\e612\";\n}\n\n.mdi-action-assignment-returned:before {\n content: \"\\e613\";\n}\n\n.mdi-action-assignment-turned-in:before {\n content: \"\\e614\";\n}\n\n.mdi-action-assignment:before {\n content: \"\\e615\";\n}\n\n.mdi-action-autorenew:before {\n content: \"\\e616\";\n}\n\n.mdi-action-backup:before {\n content: \"\\e617\";\n}\n\n.mdi-action-book:before {\n content: \"\\e618\";\n}\n\n.mdi-action-bookmark-outline:before {\n content: \"\\e619\";\n}\n\n.mdi-action-bookmark:before {\n content: \"\\e61a\";\n}\n\n.mdi-action-bug-report:before {\n content: \"\\e61b\";\n}\n\n.mdi-action-cached:before {\n content: \"\\e61c\";\n}\n\n.mdi-action-check-circle:before {\n content: \"\\e61d\";\n}\n\n.mdi-action-class:before {\n content: \"\\e61e\";\n}\n\n.mdi-action-credit-card:before {\n content: \"\\e61f\";\n}\n\n.mdi-action-dashboard:before {\n content: \"\\e620\";\n}\n\n.mdi-action-delete:before {\n content: \"\\e621\";\n}\n\n.mdi-action-description:before {\n content: \"\\e622\";\n}\n\n.mdi-action-dns:before {\n content: \"\\e623\";\n}\n\n.mdi-action-done-all:before {\n content: \"\\e624\";\n}\n\n.mdi-action-done:before {\n content: \"\\e625\";\n}\n\n.mdi-action-event:before {\n content: \"\\e626\";\n}\n\n.mdi-action-exit-to-app:before {\n content: \"\\e627\";\n}\n\n.mdi-action-explore:before {\n content: \"\\e628\";\n}\n\n.mdi-action-extension:before {\n content: \"\\e629\";\n}\n\n.mdi-action-face-unlock:before {\n content: \"\\e62a\";\n}\n\n.mdi-action-favorite-outline:before {\n content: \"\\e62b\";\n}\n\n.mdi-action-favorite:before {\n content: \"\\e62c\";\n}\n\n.mdi-action-find-in-page:before {\n content: \"\\e62d\";\n}\n\n.mdi-action-find-replace:before {\n content: \"\\e62e\";\n}\n\n.mdi-action-flip-to-back:before {\n content: \"\\e62f\";\n}\n\n.mdi-action-flip-to-front:before {\n content: \"\\e630\";\n}\n\n.mdi-action-get-app:before {\n content: \"\\e631\";\n}\n\n.mdi-action-grade:before {\n content: \"\\e632\";\n}\n\n.mdi-action-group-work:before {\n content: \"\\e633\";\n}\n\n.mdi-action-help:before {\n content: \"\\e634\";\n}\n\n.mdi-action-highlight-remove:before {\n content: \"\\e635\";\n}\n\n.mdi-action-history:before {\n content: \"\\e636\";\n}\n\n.mdi-action-home:before {\n content: \"\\e637\";\n}\n\n.mdi-action-https:before {\n content: \"\\e638\";\n}\n\n.mdi-action-info-outline:before {\n content: \"\\e639\";\n}\n\n.mdi-action-info:before {\n content: \"\\e63a\";\n}\n\n.mdi-action-input:before {\n content: \"\\e63b\";\n}\n\n.mdi-action-invert-colors:before {\n content: \"\\e63c\";\n}\n\n.mdi-action-label-outline:before {\n content: \"\\e63d\";\n}\n\n.mdi-action-label:before {\n content: \"\\e63e\";\n}\n\n.mdi-action-language:before {\n content: \"\\e63f\";\n}\n\n.mdi-action-launch:before {\n content: \"\\e640\";\n}\n\n.mdi-action-list:before {\n content: \"\\e641\";\n}\n\n.mdi-action-lock-open:before {\n content: \"\\e642\";\n}\n\n.mdi-action-lock-outline:before {\n content: \"\\e643\";\n}\n\n.mdi-action-lock:before {\n content: \"\\e644\";\n}\n\n.mdi-action-loyalty:before {\n content: \"\\e645\";\n}\n\n.mdi-action-markunread-mailbox:before {\n content: \"\\e646\";\n}\n\n.mdi-action-note-add:before {\n content: \"\\e647\";\n}\n\n.mdi-action-open-in-browser:before {\n content: \"\\e648\";\n}\n\n.mdi-action-open-in-new:before {\n content: \"\\e649\";\n}\n\n.mdi-action-open-with:before {\n content: \"\\e64a\";\n}\n\n.mdi-action-pageview:before {\n content: \"\\e64b\";\n}\n\n.mdi-action-payment:before {\n content: \"\\e64c\";\n}\n\n.mdi-action-perm-camera-mic:before {\n content: \"\\e64d\";\n}\n\n.mdi-action-perm-contact-cal:before {\n content: \"\\e64e\";\n}\n\n.mdi-action-perm-data-setting:before {\n content: \"\\e64f\";\n}\n\n.mdi-action-perm-device-info:before {\n content: \"\\e650\";\n}\n\n.mdi-action-perm-identity:before {\n content: \"\\e651\";\n}\n\n.mdi-action-perm-media:before {\n content: \"\\e652\";\n}\n\n.mdi-action-perm-phone-msg:before {\n content: \"\\e653\";\n}\n\n.mdi-action-perm-scan-wifi:before {\n content: \"\\e654\";\n}\n\n.mdi-action-picture-in-picture:before {\n content: \"\\e655\";\n}\n\n.mdi-action-polymer:before {\n content: \"\\e656\";\n}\n\n.mdi-action-print:before {\n content: \"\\e657\";\n}\n\n.mdi-action-query-builder:before {\n content: \"\\e658\";\n}\n\n.mdi-action-question-answer:before {\n content: \"\\e659\";\n}\n\n.mdi-action-receipt:before {\n content: \"\\e65a\";\n}\n\n.mdi-action-redeem:before {\n content: \"\\e65b\";\n}\n\n.mdi-action-reorder:before {\n content: \"\\e65c\";\n}\n\n.mdi-action-report-problem:before {\n content: \"\\e65d\";\n}\n\n.mdi-action-restore:before {\n content: \"\\e65e\";\n}\n\n.mdi-action-room:before {\n content: \"\\e65f\";\n}\n\n.mdi-action-schedule:before {\n content: \"\\e660\";\n}\n\n.mdi-action-search:before {\n content: \"\\e661\";\n}\n\n.mdi-action-settings-applications:before {\n content: \"\\e662\";\n}\n\n.mdi-action-settings-backup-restore:before {\n content: \"\\e663\";\n}\n\n.mdi-action-settings-bluetooth:before {\n content: \"\\e664\";\n}\n\n.mdi-action-settings-cell:before {\n content: \"\\e665\";\n}\n\n.mdi-action-settings-display:before {\n content: \"\\e666\";\n}\n\n.mdi-action-settings-ethernet:before {\n content: \"\\e667\";\n}\n\n.mdi-action-settings-input-antenna:before {\n content: \"\\e668\";\n}\n\n.mdi-action-settings-input-component:before {\n content: \"\\e669\";\n}\n\n.mdi-action-settings-input-composite:before {\n content: \"\\e66a\";\n}\n\n.mdi-action-settings-input-hdmi:before {\n content: \"\\e66b\";\n}\n\n.mdi-action-settings-input-svideo:before {\n content: \"\\e66c\";\n}\n\n.mdi-action-settings-overscan:before {\n content: \"\\e66d\";\n}\n\n.mdi-action-settings-phone:before {\n content: \"\\e66e\";\n}\n\n.mdi-action-settings-power:before {\n content: \"\\e66f\";\n}\n\n.mdi-action-settings-remote:before {\n content: \"\\e670\";\n}\n\n.mdi-action-settings-voice:before {\n content: \"\\e671\";\n}\n\n.mdi-action-settings:before {\n content: \"\\e672\";\n}\n\n.mdi-action-shop-two:before {\n content: \"\\e673\";\n}\n\n.mdi-action-shop:before {\n content: \"\\e674\";\n}\n\n.mdi-action-shopping-basket:before {\n content: \"\\e675\";\n}\n\n.mdi-action-shopping-cart:before {\n content: \"\\e676\";\n}\n\n.mdi-action-speaker-notes:before {\n content: \"\\e677\";\n}\n\n.mdi-action-spellcheck:before {\n content: \"\\e678\";\n}\n\n.mdi-action-star-rate:before {\n content: \"\\e679\";\n}\n\n.mdi-action-stars:before {\n content: \"\\e67a\";\n}\n\n.mdi-action-store:before {\n content: \"\\e67b\";\n}\n\n.mdi-action-subject:before {\n content: \"\\e67c\";\n}\n\n.mdi-action-supervisor-account:before {\n content: \"\\e67d\";\n}\n\n.mdi-action-swap-horiz:before {\n content: \"\\e67e\";\n}\n\n.mdi-action-swap-vert-circle:before {\n content: \"\\e67f\";\n}\n\n.mdi-action-swap-vert:before {\n content: \"\\e680\";\n}\n\n.mdi-action-system-update-tv:before {\n content: \"\\e681\";\n}\n\n.mdi-action-tab-unselected:before {\n content: \"\\e682\";\n}\n\n.mdi-action-tab:before {\n content: \"\\e683\";\n}\n\n.mdi-action-theaters:before {\n content: \"\\e684\";\n}\n\n.mdi-action-thumb-down:before {\n content: \"\\e685\";\n}\n\n.mdi-action-thumb-up:before {\n content: \"\\e686\";\n}\n\n.mdi-action-thumbs-up-down:before {\n content: \"\\e687\";\n}\n\n.mdi-action-toc:before {\n content: \"\\e688\";\n}\n\n.mdi-action-today:before {\n content: \"\\e689\";\n}\n\n.mdi-action-track-changes:before {\n content: \"\\e68a\";\n}\n\n.mdi-action-translate:before {\n content: \"\\e68b\";\n}\n\n.mdi-action-trending-down:before {\n content: \"\\e68c\";\n}\n\n.mdi-action-trending-neutral:before {\n content: \"\\e68d\";\n}\n\n.mdi-action-trending-up:before {\n content: \"\\e68e\";\n}\n\n.mdi-action-turned-in-not:before {\n content: \"\\e68f\";\n}\n\n.mdi-action-turned-in:before {\n content: \"\\e690\";\n}\n\n.mdi-action-verified-user:before {\n content: \"\\e691\";\n}\n\n.mdi-action-view-agenda:before {\n content: \"\\e692\";\n}\n\n.mdi-action-view-array:before {\n content: \"\\e693\";\n}\n\n.mdi-action-view-carousel:before {\n content: \"\\e694\";\n}\n\n.mdi-action-view-column:before {\n content: \"\\e695\";\n}\n\n.mdi-action-view-day:before {\n content: \"\\e696\";\n}\n\n.mdi-action-view-headline:before {\n content: \"\\e697\";\n}\n\n.mdi-action-view-list:before {\n content: \"\\e698\";\n}\n\n.mdi-action-view-module:before {\n content: \"\\e699\";\n}\n\n.mdi-action-view-quilt:before {\n content: \"\\e69a\";\n}\n\n.mdi-action-view-stream:before {\n content: \"\\e69b\";\n}\n\n.mdi-action-view-week:before {\n content: \"\\e69c\";\n}\n\n.mdi-action-visibility-off:before {\n content: \"\\e69d\";\n}\n\n.mdi-action-visibility:before {\n content: \"\\e69e\";\n}\n\n.mdi-action-wallet-giftcard:before {\n content: \"\\e69f\";\n}\n\n.mdi-action-wallet-membership:before {\n content: \"\\e6a0\";\n}\n\n.mdi-action-wallet-travel:before {\n content: \"\\e6a1\";\n}\n\n.mdi-action-work:before {\n content: \"\\e6a2\";\n}\n\n.mdi-alert-error:before {\n content: \"\\e6a3\";\n}\n\n.mdi-alert-warning:before {\n content: \"\\e6a4\";\n}\n\n.mdi-av-album:before {\n content: \"\\e6a5\";\n}\n\n.mdi-av-closed-caption:before {\n content: \"\\e6a6\";\n}\n\n.mdi-av-equalizer:before {\n content: \"\\e6a7\";\n}\n\n.mdi-av-explicit:before {\n content: \"\\e6a8\";\n}\n\n.mdi-av-fast-forward:before {\n content: \"\\e6a9\";\n}\n\n.mdi-av-fast-rewind:before {\n content: \"\\e6aa\";\n}\n\n.mdi-av-games:before {\n content: \"\\e6ab\";\n}\n\n.mdi-av-hearing:before {\n content: \"\\e6ac\";\n}\n\n.mdi-av-high-quality:before {\n content: \"\\e6ad\";\n}\n\n.mdi-av-loop:before {\n content: \"\\e6ae\";\n}\n\n.mdi-av-mic-none:before {\n content: \"\\e6af\";\n}\n\n.mdi-av-mic-off:before {\n content: \"\\e6b0\";\n}\n\n.mdi-av-mic:before {\n content: \"\\e6b1\";\n}\n\n.mdi-av-movie:before {\n content: \"\\e6b2\";\n}\n\n.mdi-av-my-library-add:before {\n content: \"\\e6b3\";\n}\n\n.mdi-av-my-library-books:before {\n content: \"\\e6b4\";\n}\n\n.mdi-av-my-library-music:before {\n content: \"\\e6b5\";\n}\n\n.mdi-av-new-releases:before {\n content: \"\\e6b6\";\n}\n\n.mdi-av-not-interested:before {\n content: \"\\e6b7\";\n}\n\n.mdi-av-pause-circle-fill:before {\n content: \"\\e6b8\";\n}\n\n.mdi-av-pause-circle-outline:before {\n content: \"\\e6b9\";\n}\n\n.mdi-av-pause:before {\n content: \"\\e6ba\";\n}\n\n.mdi-av-play-arrow:before {\n content: \"\\e6bb\";\n}\n\n.mdi-av-play-circle-fill:before {\n content: \"\\e6bc\";\n}\n\n.mdi-av-play-circle-outline:before {\n content: \"\\e6bd\";\n}\n\n.mdi-av-play-shopping-bag:before {\n content: \"\\e6be\";\n}\n\n.mdi-av-playlist-add:before {\n content: \"\\e6bf\";\n}\n\n.mdi-av-queue-music:before {\n content: \"\\e6c0\";\n}\n\n.mdi-av-queue:before {\n content: \"\\e6c1\";\n}\n\n.mdi-av-radio:before {\n content: \"\\e6c2\";\n}\n\n.mdi-av-recent-actors:before {\n content: \"\\e6c3\";\n}\n\n.mdi-av-repeat-one:before {\n content: \"\\e6c4\";\n}\n\n.mdi-av-repeat:before {\n content: \"\\e6c5\";\n}\n\n.mdi-av-replay:before {\n content: \"\\e6c6\";\n}\n\n.mdi-av-shuffle:before {\n content: \"\\e6c7\";\n}\n\n.mdi-av-skip-next:before {\n content: \"\\e6c8\";\n}\n\n.mdi-av-skip-previous:before {\n content: \"\\e6c9\";\n}\n\n.mdi-av-snooze:before {\n content: \"\\e6ca\";\n}\n\n.mdi-av-stop:before {\n content: \"\\e6cb\";\n}\n\n.mdi-av-subtitles:before {\n content: \"\\e6cc\";\n}\n\n.mdi-av-surround-sound:before {\n content: \"\\e6cd\";\n}\n\n.mdi-av-timer:before {\n content: \"\\e6ce\";\n}\n\n.mdi-av-video-collection:before {\n content: \"\\e6cf\";\n}\n\n.mdi-av-videocam-off:before {\n content: \"\\e6d0\";\n}\n\n.mdi-av-videocam:before {\n content: \"\\e6d1\";\n}\n\n.mdi-av-volume-down:before {\n content: \"\\e6d2\";\n}\n\n.mdi-av-volume-mute:before {\n content: \"\\e6d3\";\n}\n\n.mdi-av-volume-off:before {\n content: \"\\e6d4\";\n}\n\n.mdi-av-volume-up:before {\n content: \"\\e6d5\";\n}\n\n.mdi-av-web:before {\n content: \"\\e6d6\";\n}\n\n.mdi-communication-business:before {\n content: \"\\e6d7\";\n}\n\n.mdi-communication-call-end:before {\n content: \"\\e6d8\";\n}\n\n.mdi-communication-call-made:before {\n content: \"\\e6d9\";\n}\n\n.mdi-communication-call-merge:before {\n content: \"\\e6da\";\n}\n\n.mdi-communication-call-missed:before {\n content: \"\\e6db\";\n}\n\n.mdi-communication-call-received:before {\n content: \"\\e6dc\";\n}\n\n.mdi-communication-call-split:before {\n content: \"\\e6dd\";\n}\n\n.mdi-communication-call:before {\n content: \"\\e6de\";\n}\n\n.mdi-communication-chat:before {\n content: \"\\e6df\";\n}\n\n.mdi-communication-clear-all:before {\n content: \"\\e6e0\";\n}\n\n.mdi-communication-comment:before {\n content: \"\\e6e1\";\n}\n\n.mdi-communication-contacts:before {\n content: \"\\e6e2\";\n}\n\n.mdi-communication-dialer-sip:before {\n content: \"\\e6e3\";\n}\n\n.mdi-communication-dialpad:before {\n content: \"\\e6e4\";\n}\n\n.mdi-communication-dnd-on:before {\n content: \"\\e6e5\";\n}\n\n.mdi-communication-email:before {\n content: \"\\e6e6\";\n}\n\n.mdi-communication-forum:before {\n content: \"\\e6e7\";\n}\n\n.mdi-communication-import-export:before {\n content: \"\\e6e8\";\n}\n\n.mdi-communication-invert-colors-off:before {\n content: \"\\e6e9\";\n}\n\n.mdi-communication-invert-colors-on:before {\n content: \"\\e6ea\";\n}\n\n.mdi-communication-live-help:before {\n content: \"\\e6eb\";\n}\n\n.mdi-communication-location-off:before {\n content: \"\\e6ec\";\n}\n\n.mdi-communication-location-on:before {\n content: \"\\e6ed\";\n}\n\n.mdi-communication-message:before {\n content: \"\\e6ee\";\n}\n\n.mdi-communication-messenger:before {\n content: \"\\e6ef\";\n}\n\n.mdi-communication-no-sim:before {\n content: \"\\e6f0\";\n}\n\n.mdi-communication-phone:before {\n content: \"\\e6f1\";\n}\n\n.mdi-communication-portable-wifi-off:before {\n content: \"\\e6f2\";\n}\n\n.mdi-communication-quick-contacts-dialer:before {\n content: \"\\e6f3\";\n}\n\n.mdi-communication-quick-contacts-mail:before {\n content: \"\\e6f4\";\n}\n\n.mdi-communication-ring-volume:before {\n content: \"\\e6f5\";\n}\n\n.mdi-communication-stay-current-landscape:before {\n content: \"\\e6f6\";\n}\n\n.mdi-communication-stay-current-portrait:before {\n content: \"\\e6f7\";\n}\n\n.mdi-communication-stay-primary-landscape:before {\n content: \"\\e6f8\";\n}\n\n.mdi-communication-stay-primary-portrait:before {\n content: \"\\e6f9\";\n}\n\n.mdi-communication-swap-calls:before {\n content: \"\\e6fa\";\n}\n\n.mdi-communication-textsms:before {\n content: \"\\e6fb\";\n}\n\n.mdi-communication-voicemail:before {\n content: \"\\e6fc\";\n}\n\n.mdi-communication-vpn-key:before {\n content: \"\\e6fd\";\n}\n\n.mdi-content-add-box:before {\n content: \"\\e6fe\";\n}\n\n.mdi-content-add-circle-outline:before {\n content: \"\\e6ff\";\n}\n\n.mdi-content-add-circle:before {\n content: \"\\e700\";\n}\n\n.mdi-content-add:before {\n content: \"\\e701\";\n}\n\n.mdi-content-archive:before {\n content: \"\\e702\";\n}\n\n.mdi-content-backspace:before {\n content: \"\\e703\";\n}\n\n.mdi-content-block:before {\n content: \"\\e704\";\n}\n\n.mdi-content-clear:before {\n content: \"\\e705\";\n}\n\n.mdi-content-content-copy:before {\n content: \"\\e706\";\n}\n\n.mdi-content-content-cut:before {\n content: \"\\e707\";\n}\n\n.mdi-content-content-paste:before {\n content: \"\\e708\";\n}\n\n.mdi-content-create:before {\n content: \"\\e709\";\n}\n\n.mdi-content-drafts:before {\n content: \"\\e70a\";\n}\n\n.mdi-content-filter-list:before {\n content: \"\\e70b\";\n}\n\n.mdi-content-flag:before {\n content: \"\\e70c\";\n}\n\n.mdi-content-forward:before {\n content: \"\\e70d\";\n}\n\n.mdi-content-gesture:before {\n content: \"\\e70e\";\n}\n\n.mdi-content-inbox:before {\n content: \"\\e70f\";\n}\n\n.mdi-content-link:before {\n content: \"\\e710\";\n}\n\n.mdi-content-mail:before {\n content: \"\\e711\";\n}\n\n.mdi-content-markunread:before {\n content: \"\\e712\";\n}\n\n.mdi-content-redo:before {\n content: \"\\e713\";\n}\n\n.mdi-content-remove-circle-outline:before {\n content: \"\\e714\";\n}\n\n.mdi-content-remove-circle:before {\n content: \"\\e715\";\n}\n\n.mdi-content-remove:before {\n content: \"\\e716\";\n}\n\n.mdi-content-reply-all:before {\n content: \"\\e717\";\n}\n\n.mdi-content-reply:before {\n content: \"\\e718\";\n}\n\n.mdi-content-report:before {\n content: \"\\e719\";\n}\n\n.mdi-content-save:before {\n content: \"\\e71a\";\n}\n\n.mdi-content-select-all:before {\n content: \"\\e71b\";\n}\n\n.mdi-content-send:before {\n content: \"\\e71c\";\n}\n\n.mdi-content-sort:before {\n content: \"\\e71d\";\n}\n\n.mdi-content-text-format:before {\n content: \"\\e71e\";\n}\n\n.mdi-content-undo:before {\n content: \"\\e71f\";\n}\n\n.mdi-editor-attach-file:before {\n content: \"\\e776\";\n}\n\n.mdi-editor-attach-money:before {\n content: \"\\e777\";\n}\n\n.mdi-editor-border-all:before {\n content: \"\\e778\";\n}\n\n.mdi-editor-border-bottom:before {\n content: \"\\e779\";\n}\n\n.mdi-editor-border-clear:before {\n content: \"\\e77a\";\n}\n\n.mdi-editor-border-color:before {\n content: \"\\e77b\";\n}\n\n.mdi-editor-border-horizontal:before {\n content: \"\\e77c\";\n}\n\n.mdi-editor-border-inner:before {\n content: \"\\e77d\";\n}\n\n.mdi-editor-border-left:before {\n content: \"\\e77e\";\n}\n\n.mdi-editor-border-outer:before {\n content: \"\\e77f\";\n}\n\n.mdi-editor-border-right:before {\n content: \"\\e780\";\n}\n\n.mdi-editor-border-style:before {\n content: \"\\e781\";\n}\n\n.mdi-editor-border-top:before {\n content: \"\\e782\";\n}\n\n.mdi-editor-border-vertical:before {\n content: \"\\e783\";\n}\n\n.mdi-editor-format-align-center:before {\n content: \"\\e784\";\n}\n\n.mdi-editor-format-align-justify:before {\n content: \"\\e785\";\n}\n\n.mdi-editor-format-align-left:before {\n content: \"\\e786\";\n}\n\n.mdi-editor-format-align-right:before {\n content: \"\\e787\";\n}\n\n.mdi-editor-format-bold:before {\n content: \"\\e788\";\n}\n\n.mdi-editor-format-clear:before {\n content: \"\\e789\";\n}\n\n.mdi-editor-format-color-fill:before {\n content: \"\\e78a\";\n}\n\n.mdi-editor-format-color-reset:before {\n content: \"\\e78b\";\n}\n\n.mdi-editor-format-color-text:before {\n content: \"\\e78c\";\n}\n\n.mdi-editor-format-indent-decrease:before {\n content: \"\\e78d\";\n}\n\n.mdi-editor-format-indent-increase:before {\n content: \"\\e78e\";\n}\n\n.mdi-editor-format-italic:before {\n content: \"\\e78f\";\n}\n\n.mdi-editor-format-line-spacing:before {\n content: \"\\e790\";\n}\n\n.mdi-editor-format-list-bulleted:before {\n content: \"\\e791\";\n}\n\n.mdi-editor-format-list-numbered:before {\n content: \"\\e792\";\n}\n\n.mdi-editor-format-paint:before {\n content: \"\\e793\";\n}\n\n.mdi-editor-format-quote:before {\n content: \"\\e794\";\n}\n\n.mdi-editor-format-size:before {\n content: \"\\e795\";\n}\n\n.mdi-editor-format-strikethrough:before {\n content: \"\\e796\";\n}\n\n.mdi-editor-format-textdirection-l-to-r:before {\n content: \"\\e797\";\n}\n\n.mdi-editor-format-textdirection-r-to-l:before {\n content: \"\\e798\";\n}\n\n.mdi-editor-format-underline:before {\n content: \"\\e799\";\n}\n\n.mdi-editor-functions:before {\n content: \"\\e79a\";\n}\n\n.mdi-editor-insert-chart:before {\n content: \"\\e79b\";\n}\n\n.mdi-editor-insert-comment:before {\n content: \"\\e79c\";\n}\n\n.mdi-editor-insert-drive-file:before {\n content: \"\\e79d\";\n}\n\n.mdi-editor-insert-emoticon:before {\n content: \"\\e79e\";\n}\n\n.mdi-editor-insert-invitation:before {\n content: \"\\e79f\";\n}\n\n.mdi-editor-insert-link:before {\n content: \"\\e7a0\";\n}\n\n.mdi-editor-insert-photo:before {\n content: \"\\e7a1\";\n}\n\n.mdi-editor-merge-type:before {\n content: \"\\e7a2\";\n}\n\n.mdi-editor-mode-comment:before {\n content: \"\\e7a3\";\n}\n\n.mdi-editor-mode-edit:before {\n content: \"\\e7a4\";\n}\n\n.mdi-editor-publish:before {\n content: \"\\e7a5\";\n}\n\n.mdi-editor-vertical-align-bottom:before {\n content: \"\\e7a6\";\n}\n\n.mdi-editor-vertical-align-center:before {\n content: \"\\e7a7\";\n}\n\n.mdi-editor-vertical-align-top:before {\n content: \"\\e7a8\";\n}\n\n.mdi-editor-wrap-text:before {\n content: \"\\e7a9\";\n}\n\n.mdi-file-attachment:before {\n content: \"\\e7aa\";\n}\n\n.mdi-file-cloud-circle:before {\n content: \"\\e7ab\";\n}\n\n.mdi-file-cloud-done:before {\n content: \"\\e7ac\";\n}\n\n.mdi-file-cloud-download:before {\n content: \"\\e7ad\";\n}\n\n.mdi-file-cloud-off:before {\n content: \"\\e7ae\";\n}\n\n.mdi-file-cloud-queue:before {\n content: \"\\e7af\";\n}\n\n.mdi-file-cloud-upload:before {\n content: \"\\e7b0\";\n}\n\n.mdi-file-cloud:before {\n content: \"\\e7b1\";\n}\n\n.mdi-file-file-download:before {\n content: \"\\e7b2\";\n}\n\n.mdi-file-file-upload:before {\n content: \"\\e7b3\";\n}\n\n.mdi-file-folder-open:before {\n content: \"\\e7b4\";\n}\n\n.mdi-file-folder-shared:before {\n content: \"\\e7b5\";\n}\n\n.mdi-file-folder:before {\n content: \"\\e7b6\";\n}\n\n.mdi-device-access-alarm:before {\n content: \"\\e720\";\n}\n\n.mdi-device-access-alarms:before {\n content: \"\\e721\";\n}\n\n.mdi-device-access-time:before {\n content: \"\\e722\";\n}\n\n.mdi-device-add-alarm:before {\n content: \"\\e723\";\n}\n\n.mdi-device-airplanemode-off:before {\n content: \"\\e724\";\n}\n\n.mdi-device-airplanemode-on:before {\n content: \"\\e725\";\n}\n\n.mdi-device-battery-20:before {\n content: \"\\e726\";\n}\n\n.mdi-device-battery-30:before {\n content: \"\\e727\";\n}\n\n.mdi-device-battery-50:before {\n content: \"\\e728\";\n}\n\n.mdi-device-battery-60:before {\n content: \"\\e729\";\n}\n\n.mdi-device-battery-80:before {\n content: \"\\e72a\";\n}\n\n.mdi-device-battery-90:before {\n content: \"\\e72b\";\n}\n\n.mdi-device-battery-alert:before {\n content: \"\\e72c\";\n}\n\n.mdi-device-battery-charging-20:before {\n content: \"\\e72d\";\n}\n\n.mdi-device-battery-charging-30:before {\n content: \"\\e72e\";\n}\n\n.mdi-device-battery-charging-50:before {\n content: \"\\e72f\";\n}\n\n.mdi-device-battery-charging-60:before {\n content: \"\\e730\";\n}\n\n.mdi-device-battery-charging-80:before {\n content: \"\\e731\";\n}\n\n.mdi-device-battery-charging-90:before {\n content: \"\\e732\";\n}\n\n.mdi-device-battery-charging-full:before {\n content: \"\\e733\";\n}\n\n.mdi-device-battery-full:before {\n content: \"\\e734\";\n}\n\n.mdi-device-battery-std:before {\n content: \"\\e735\";\n}\n\n.mdi-device-battery-unknown:before {\n content: \"\\e736\";\n}\n\n.mdi-device-bluetooth-connected:before {\n content: \"\\e737\";\n}\n\n.mdi-device-bluetooth-disabled:before {\n content: \"\\e738\";\n}\n\n.mdi-device-bluetooth-searching:before {\n content: \"\\e739\";\n}\n\n.mdi-device-bluetooth:before {\n content: \"\\e73a\";\n}\n\n.mdi-device-brightness-auto:before {\n content: \"\\e73b\";\n}\n\n.mdi-device-brightness-high:before {\n content: \"\\e73c\";\n}\n\n.mdi-device-brightness-low:before {\n content: \"\\e73d\";\n}\n\n.mdi-device-brightness-medium:before {\n content: \"\\e73e\";\n}\n\n.mdi-device-data-usage:before {\n content: \"\\e73f\";\n}\n\n.mdi-device-developer-mode:before {\n content: \"\\e740\";\n}\n\n.mdi-device-devices:before {\n content: \"\\e741\";\n}\n\n.mdi-device-dvr:before {\n content: \"\\e742\";\n}\n\n.mdi-device-gps-fixed:before {\n content: \"\\e743\";\n}\n\n.mdi-device-gps-not-fixed:before {\n content: \"\\e744\";\n}\n\n.mdi-device-gps-off:before {\n content: \"\\e745\";\n}\n\n.mdi-device-location-disabled:before {\n content: \"\\e746\";\n}\n\n.mdi-device-location-searching:before {\n content: \"\\e747\";\n}\n\n.mdi-device-multitrack-audio:before {\n content: \"\\e748\";\n}\n\n.mdi-device-network-cell:before {\n content: \"\\e749\";\n}\n\n.mdi-device-network-wifi:before {\n content: \"\\e74a\";\n}\n\n.mdi-device-nfc:before {\n content: \"\\e74b\";\n}\n\n.mdi-device-now-wallpaper:before {\n content: \"\\e74c\";\n}\n\n.mdi-device-now-widgets:before {\n content: \"\\e74d\";\n}\n\n.mdi-device-screen-lock-landscape:before {\n content: \"\\e74e\";\n}\n\n.mdi-device-screen-lock-portrait:before {\n content: \"\\e74f\";\n}\n\n.mdi-device-screen-lock-rotation:before {\n content: \"\\e750\";\n}\n\n.mdi-device-screen-rotation:before {\n content: \"\\e751\";\n}\n\n.mdi-device-sd-storage:before {\n content: \"\\e752\";\n}\n\n.mdi-device-settings-system-daydream:before {\n content: \"\\e753\";\n}\n\n.mdi-device-signal-cellular-0-bar:before {\n content: \"\\e754\";\n}\n\n.mdi-device-signal-cellular-1-bar:before {\n content: \"\\e755\";\n}\n\n.mdi-device-signal-cellular-2-bar:before {\n content: \"\\e756\";\n}\n\n.mdi-device-signal-cellular-3-bar:before {\n content: \"\\e757\";\n}\n\n.mdi-device-signal-cellular-4-bar:before {\n content: \"\\e758\";\n}\n\n.mdi-signal-wifi-statusbar-connected-no-internet-after:before {\n content: \"\\e8f6\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-0-bar:before {\n content: \"\\e759\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-1-bar:before {\n content: \"\\e75a\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-2-bar:before {\n content: \"\\e75b\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-3-bar:before {\n content: \"\\e75c\";\n}\n\n.mdi-device-signal-cellular-connected-no-internet-4-bar:before {\n content: \"\\e75d\";\n}\n\n.mdi-device-signal-cellular-no-sim:before {\n content: \"\\e75e\";\n}\n\n.mdi-device-signal-cellular-null:before {\n content: \"\\e75f\";\n}\n\n.mdi-device-signal-cellular-off:before {\n content: \"\\e760\";\n}\n\n.mdi-device-signal-wifi-0-bar:before {\n content: \"\\e761\";\n}\n\n.mdi-device-signal-wifi-1-bar:before {\n content: \"\\e762\";\n}\n\n.mdi-device-signal-wifi-2-bar:before {\n content: \"\\e763\";\n}\n\n.mdi-device-signal-wifi-3-bar:before {\n content: \"\\e764\";\n}\n\n.mdi-device-signal-wifi-4-bar:before {\n content: \"\\e765\";\n}\n\n.mdi-device-signal-wifi-off:before {\n content: \"\\e766\";\n}\n\n.mdi-device-signal-wifi-statusbar-1-bar:before {\n content: \"\\e767\";\n}\n\n.mdi-device-signal-wifi-statusbar-2-bar:before {\n content: \"\\e768\";\n}\n\n.mdi-device-signal-wifi-statusbar-3-bar:before {\n content: \"\\e769\";\n}\n\n.mdi-device-signal-wifi-statusbar-4-bar:before {\n content: \"\\e76a\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-:before {\n content: \"\\e76b\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet:before {\n content: \"\\e76f\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-2:before {\n content: \"\\e76c\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-3:before {\n content: \"\\e76d\";\n}\n\n.mdi-device-signal-wifi-statusbar-connected-no-internet-4:before {\n content: \"\\e76e\";\n}\n\n.mdi-signal-wifi-statusbar-not-connected-after:before {\n content: \"\\e8f7\";\n}\n\n.mdi-device-signal-wifi-statusbar-not-connected:before {\n content: \"\\e770\";\n}\n\n.mdi-device-signal-wifi-statusbar-null:before {\n content: \"\\e771\";\n}\n\n.mdi-device-storage:before {\n content: \"\\e772\";\n}\n\n.mdi-device-usb:before {\n content: \"\\e773\";\n}\n\n.mdi-device-wifi-lock:before {\n content: \"\\e774\";\n}\n\n.mdi-device-wifi-tethering:before {\n content: \"\\e775\";\n}\n\n.mdi-hardware-cast-connected:before {\n content: \"\\e7b7\";\n}\n\n.mdi-hardware-cast:before {\n content: \"\\e7b8\";\n}\n\n.mdi-hardware-computer:before {\n content: \"\\e7b9\";\n}\n\n.mdi-hardware-desktop-mac:before {\n content: \"\\e7ba\";\n}\n\n.mdi-hardware-desktop-windows:before {\n content: \"\\e7bb\";\n}\n\n.mdi-hardware-dock:before {\n content: \"\\e7bc\";\n}\n\n.mdi-hardware-gamepad:before {\n content: \"\\e7bd\";\n}\n\n.mdi-hardware-headset-mic:before {\n content: \"\\e7be\";\n}\n\n.mdi-hardware-headset:before {\n content: \"\\e7bf\";\n}\n\n.mdi-hardware-keyboard-alt:before {\n content: \"\\e7c0\";\n}\n\n.mdi-hardware-keyboard-arrow-down:before {\n content: \"\\e7c1\";\n}\n\n.mdi-hardware-keyboard-arrow-left:before {\n content: \"\\e7c2\";\n}\n\n.mdi-hardware-keyboard-arrow-right:before {\n content: \"\\e7c3\";\n}\n\n.mdi-hardware-keyboard-arrow-up:before {\n content: \"\\e7c4\";\n}\n\n.mdi-hardware-keyboard-backspace:before {\n content: \"\\e7c5\";\n}\n\n.mdi-hardware-keyboard-capslock:before {\n content: \"\\e7c6\";\n}\n\n.mdi-hardware-keyboard-control:before {\n content: \"\\e7c7\";\n}\n\n.mdi-hardware-keyboard-hide:before {\n content: \"\\e7c8\";\n}\n\n.mdi-hardware-keyboard-return:before {\n content: \"\\e7c9\";\n}\n\n.mdi-hardware-keyboard-tab:before {\n content: \"\\e7ca\";\n}\n\n.mdi-hardware-keyboard-voice:before {\n content: \"\\e7cb\";\n}\n\n.mdi-hardware-keyboard:before {\n content: \"\\e7cc\";\n}\n\n.mdi-hardware-laptop-chromebook:before {\n content: \"\\e7cd\";\n}\n\n.mdi-hardware-laptop-mac:before {\n content: \"\\e7ce\";\n}\n\n.mdi-hardware-laptop-windows:before {\n content: \"\\e7cf\";\n}\n\n.mdi-hardware-laptop:before {\n content: \"\\e7d0\";\n}\n\n.mdi-hardware-memory:before {\n content: \"\\e7d1\";\n}\n\n.mdi-hardware-mouse:before {\n content: \"\\e7d2\";\n}\n\n.mdi-hardware-phone-android:before {\n content: \"\\e7d3\";\n}\n\n.mdi-hardware-phone-iphone:before {\n content: \"\\e7d4\";\n}\n\n.mdi-hardware-phonelink-off:before {\n content: \"\\e7d5\";\n}\n\n.mdi-hardware-phonelink:before {\n content: \"\\e7d6\";\n}\n\n.mdi-hardware-security:before {\n content: \"\\e7d7\";\n}\n\n.mdi-hardware-sim-card:before {\n content: \"\\e7d8\";\n}\n\n.mdi-hardware-smartphone:before {\n content: \"\\e7d9\";\n}\n\n.mdi-hardware-speaker:before {\n content: \"\\e7da\";\n}\n\n.mdi-hardware-tablet-android:before {\n content: \"\\e7db\";\n}\n\n.mdi-hardware-tablet-mac:before {\n content: \"\\e7dc\";\n}\n\n.mdi-hardware-tablet:before {\n content: \"\\e7dd\";\n}\n\n.mdi-hardware-tv:before {\n content: \"\\e7de\";\n}\n\n.mdi-hardware-watch:before {\n content: \"\\e7df\";\n}\n\n.mdi-image-add-to-photos:before {\n content: \"\\e7e0\";\n}\n\n.mdi-image-adjust:before {\n content: \"\\e7e1\";\n}\n\n.mdi-image-assistant-photo:before {\n content: \"\\e7e2\";\n}\n\n.mdi-image-audiotrack:before {\n content: \"\\e7e3\";\n}\n\n.mdi-image-blur-circular:before {\n content: \"\\e7e4\";\n}\n\n.mdi-image-blur-linear:before {\n content: \"\\e7e5\";\n}\n\n.mdi-image-blur-off:before {\n content: \"\\e7e6\";\n}\n\n.mdi-image-blur-on:before {\n content: \"\\e7e7\";\n}\n\n.mdi-image-brightness-1:before {\n content: \"\\e7e8\";\n}\n\n.mdi-image-brightness-2:before {\n content: \"\\e7e9\";\n}\n\n.mdi-image-brightness-3:before {\n content: \"\\e7ea\";\n}\n\n.mdi-image-brightness-4:before {\n content: \"\\e7eb\";\n}\n\n.mdi-image-brightness-5:before {\n content: \"\\e7ec\";\n}\n\n.mdi-image-brightness-6:before {\n content: \"\\e7ed\";\n}\n\n.mdi-image-brightness-7:before {\n content: \"\\e7ee\";\n}\n\n.mdi-image-brush:before {\n content: \"\\e7ef\";\n}\n\n.mdi-image-camera-alt:before {\n content: \"\\e7f0\";\n}\n\n.mdi-image-camera-front:before {\n content: \"\\e7f1\";\n}\n\n.mdi-image-camera-rear:before {\n content: \"\\e7f2\";\n}\n\n.mdi-image-camera-roll:before {\n content: \"\\e7f3\";\n}\n\n.mdi-image-camera:before {\n content: \"\\e7f4\";\n}\n\n.mdi-image-center-focus-strong:before {\n content: \"\\e7f5\";\n}\n\n.mdi-image-center-focus-weak:before {\n content: \"\\e7f6\";\n}\n\n.mdi-image-collections:before {\n content: \"\\e7f7\";\n}\n\n.mdi-image-color-lens:before {\n content: \"\\e7f8\";\n}\n\n.mdi-image-colorize:before {\n content: \"\\e7f9\";\n}\n\n.mdi-image-compare:before {\n content: \"\\e7fa\";\n}\n\n.mdi-image-control-point-duplicate:before {\n content: \"\\e7fb\";\n}\n\n.mdi-image-control-point:before {\n content: \"\\e7fc\";\n}\n\n.mdi-image-crop-3-2:before {\n content: \"\\e7fd\";\n}\n\n.mdi-image-crop-5-4:before {\n content: \"\\e7fe\";\n}\n\n.mdi-image-crop-7-5:before {\n content: \"\\e7ff\";\n}\n\n.mdi-image-crop-16-9:before {\n content: \"\\e800\";\n}\n\n.mdi-image-crop-din:before {\n content: \"\\e801\";\n}\n\n.mdi-image-crop-free:before {\n content: \"\\e802\";\n}\n\n.mdi-image-crop-landscape:before {\n content: \"\\e803\";\n}\n\n.mdi-image-crop-original:before {\n content: \"\\e804\";\n}\n\n.mdi-image-crop-portrait:before {\n content: \"\\e805\";\n}\n\n.mdi-image-crop-square:before {\n content: \"\\e806\";\n}\n\n.mdi-image-crop:before {\n content: \"\\e807\";\n}\n\n.mdi-image-dehaze:before {\n content: \"\\e808\";\n}\n\n.mdi-image-details:before {\n content: \"\\e809\";\n}\n\n.mdi-image-edit:before {\n content: \"\\e80a\";\n}\n\n.mdi-image-exposure-minus-1:before {\n content: \"\\e80b\";\n}\n\n.mdi-image-exposure-minus-2:before {\n content: \"\\e80c\";\n}\n\n.mdi-image-exposure-plus-1:before {\n content: \"\\e80d\";\n}\n\n.mdi-image-exposure-plus-2:before {\n content: \"\\e80e\";\n}\n\n.mdi-image-exposure-zero:before {\n content: \"\\e80f\";\n}\n\n.mdi-image-exposure:before {\n content: \"\\e810\";\n}\n\n.mdi-image-filter-1:before {\n content: \"\\e811\";\n}\n\n.mdi-image-filter-2:before {\n content: \"\\e812\";\n}\n\n.mdi-image-filter-3:before {\n content: \"\\e813\";\n}\n\n.mdi-image-filter-4:before {\n content: \"\\e814\";\n}\n\n.mdi-image-filter-5:before {\n content: \"\\e815\";\n}\n\n.mdi-image-filter-6:before {\n content: \"\\e816\";\n}\n\n.mdi-image-filter-7:before {\n content: \"\\e817\";\n}\n\n.mdi-image-filter-8:before {\n content: \"\\e818\";\n}\n\n.mdi-image-filter-9-plus:before {\n content: \"\\e819\";\n}\n\n.mdi-image-filter-9:before {\n content: \"\\e81a\";\n}\n\n.mdi-image-filter-b-and-w:before {\n content: \"\\e81b\";\n}\n\n.mdi-image-filter-center-focus:before {\n content: \"\\e81c\";\n}\n\n.mdi-image-filter-drama:before {\n content: \"\\e81d\";\n}\n\n.mdi-image-filter-frames:before {\n content: \"\\e81e\";\n}\n\n.mdi-image-filter-hdr:before {\n content: \"\\e81f\";\n}\n\n.mdi-image-filter-none:before {\n content: \"\\e820\";\n}\n\n.mdi-image-filter-tilt-shift:before {\n content: \"\\e821\";\n}\n\n.mdi-image-filter-vintage:before {\n content: \"\\e822\";\n}\n\n.mdi-image-filter:before {\n content: \"\\e823\";\n}\n\n.mdi-image-flare:before {\n content: \"\\e824\";\n}\n\n.mdi-image-flash-auto:before {\n content: \"\\e825\";\n}\n\n.mdi-image-flash-off:before {\n content: \"\\e826\";\n}\n\n.mdi-image-flash-on:before {\n content: \"\\e827\";\n}\n\n.mdi-image-flip:before {\n content: \"\\e828\";\n}\n\n.mdi-image-gradient:before {\n content: \"\\e829\";\n}\n\n.mdi-image-grain:before {\n content: \"\\e82a\";\n}\n\n.mdi-image-grid-off:before {\n content: \"\\e82b\";\n}\n\n.mdi-image-grid-on:before {\n content: \"\\e82c\";\n}\n\n.mdi-image-hdr-off:before {\n content: \"\\e82d\";\n}\n\n.mdi-image-hdr-on:before {\n content: \"\\e82e\";\n}\n\n.mdi-image-hdr-strong:before {\n content: \"\\e82f\";\n}\n\n.mdi-image-hdr-weak:before {\n content: \"\\e830\";\n}\n\n.mdi-image-healing:before {\n content: \"\\e831\";\n}\n\n.mdi-image-image-aspect-ratio:before {\n content: \"\\e832\";\n}\n\n.mdi-image-image:before {\n content: \"\\e833\";\n}\n\n.mdi-image-iso:before {\n content: \"\\e834\";\n}\n\n.mdi-image-landscape:before {\n content: \"\\e835\";\n}\n\n.mdi-image-leak-add:before {\n content: \"\\e836\";\n}\n\n.mdi-image-leak-remove:before {\n content: \"\\e837\";\n}\n\n.mdi-image-lens:before {\n content: \"\\e838\";\n}\n\n.mdi-image-looks-3:before {\n content: \"\\e839\";\n}\n\n.mdi-image-looks-4:before {\n content: \"\\e83a\";\n}\n\n.mdi-image-looks-5:before {\n content: \"\\e83b\";\n}\n\n.mdi-image-looks-6:before {\n content: \"\\e83c\";\n}\n\n.mdi-image-looks-one:before {\n content: \"\\e83d\";\n}\n\n.mdi-image-looks-two:before {\n content: \"\\e83e\";\n}\n\n.mdi-image-looks:before {\n content: \"\\e83f\";\n}\n\n.mdi-image-loupe:before {\n content: \"\\e840\";\n}\n\n.mdi-image-movie-creation:before {\n content: \"\\e841\";\n}\n\n.mdi-image-nature-people:before {\n content: \"\\e842\";\n}\n\n.mdi-image-nature:before {\n content: \"\\e843\";\n}\n\n.mdi-image-navigate-before:before {\n content: \"\\e844\";\n}\n\n.mdi-image-navigate-next:before {\n content: \"\\e845\";\n}\n\n.mdi-image-palette:before {\n content: \"\\e846\";\n}\n\n.mdi-image-panorama-fisheye:before {\n content: \"\\e847\";\n}\n\n.mdi-image-panorama-horizontal:before {\n content: \"\\e848\";\n}\n\n.mdi-image-panorama-vertical:before {\n content: \"\\e849\";\n}\n\n.mdi-image-panorama-wide-angle:before {\n content: \"\\e84a\";\n}\n\n.mdi-image-panorama:before {\n content: \"\\e84b\";\n}\n\n.mdi-image-photo-album:before {\n content: \"\\e84c\";\n}\n\n.mdi-image-photo-camera:before {\n content: \"\\e84d\";\n}\n\n.mdi-image-photo-library:before {\n content: \"\\e84e\";\n}\n\n.mdi-image-photo:before {\n content: \"\\e84f\";\n}\n\n.mdi-image-portrait:before {\n content: \"\\e850\";\n}\n\n.mdi-image-remove-red-eye:before {\n content: \"\\e851\";\n}\n\n.mdi-image-rotate-left:before {\n content: \"\\e852\";\n}\n\n.mdi-image-rotate-right:before {\n content: \"\\e853\";\n}\n\n.mdi-image-slideshow:before {\n content: \"\\e854\";\n}\n\n.mdi-image-straighten:before {\n content: \"\\e855\";\n}\n\n.mdi-image-style:before {\n content: \"\\e856\";\n}\n\n.mdi-image-switch-camera:before {\n content: \"\\e857\";\n}\n\n.mdi-image-switch-video:before {\n content: \"\\e858\";\n}\n\n.mdi-image-tag-faces:before {\n content: \"\\e859\";\n}\n\n.mdi-image-texture:before {\n content: \"\\e85a\";\n}\n\n.mdi-image-timelapse:before {\n content: \"\\e85b\";\n}\n\n.mdi-image-timer-3:before {\n content: \"\\e85c\";\n}\n\n.mdi-image-timer-10:before {\n content: \"\\e85d\";\n}\n\n.mdi-image-timer-auto:before {\n content: \"\\e85e\";\n}\n\n.mdi-image-timer-off:before {\n content: \"\\e85f\";\n}\n\n.mdi-image-timer:before {\n content: \"\\e860\";\n}\n\n.mdi-image-tonality:before {\n content: \"\\e861\";\n}\n\n.mdi-image-transform:before {\n content: \"\\e862\";\n}\n\n.mdi-image-tune:before {\n content: \"\\e863\";\n}\n\n.mdi-image-wb-auto:before {\n content: \"\\e864\";\n}\n\n.mdi-image-wb-cloudy:before {\n content: \"\\e865\";\n}\n\n.mdi-image-wb-incandescent:before {\n content: \"\\e866\";\n}\n\n.mdi-image-wb-irradescent:before {\n content: \"\\e867\";\n}\n\n.mdi-image-wb-sunny:before {\n content: \"\\e868\";\n}\n\n.mdi-maps-beenhere:before {\n content: \"\\e869\";\n}\n\n.mdi-maps-directions-bike:before {\n content: \"\\e86a\";\n}\n\n.mdi-maps-directions-bus:before {\n content: \"\\e86b\";\n}\n\n.mdi-maps-directions-car:before {\n content: \"\\e86c\";\n}\n\n.mdi-maps-directions-ferry:before {\n content: \"\\e86d\";\n}\n\n.mdi-maps-directions-subway:before {\n content: \"\\e86e\";\n}\n\n.mdi-maps-directions-train:before {\n content: \"\\e86f\";\n}\n\n.mdi-maps-directions-transit:before {\n content: \"\\e870\";\n}\n\n.mdi-maps-directions-walk:before {\n content: \"\\e871\";\n}\n\n.mdi-maps-directions:before {\n content: \"\\e872\";\n}\n\n.mdi-maps-flight:before {\n content: \"\\e873\";\n}\n\n.mdi-maps-hotel:before {\n content: \"\\e874\";\n}\n\n.mdi-maps-layers-clear:before {\n content: \"\\e875\";\n}\n\n.mdi-maps-layers:before {\n content: \"\\e876\";\n}\n\n.mdi-maps-local-airport:before {\n content: \"\\e877\";\n}\n\n.mdi-maps-local-atm:before {\n content: \"\\e878\";\n}\n\n.mdi-maps-local-attraction:before {\n content: \"\\e879\";\n}\n\n.mdi-maps-local-bar:before {\n content: \"\\e87a\";\n}\n\n.mdi-maps-local-cafe:before {\n content: \"\\e87b\";\n}\n\n.mdi-maps-local-car-wash:before {\n content: \"\\e87c\";\n}\n\n.mdi-maps-local-convenience-store:before {\n content: \"\\e87d\";\n}\n\n.mdi-maps-local-drink:before {\n content: \"\\e87e\";\n}\n\n.mdi-maps-local-florist:before {\n content: \"\\e87f\";\n}\n\n.mdi-maps-local-gas-station:before {\n content: \"\\e880\";\n}\n\n.mdi-maps-local-grocery-store:before {\n content: \"\\e881\";\n}\n\n.mdi-maps-local-hospital:before {\n content: \"\\e882\";\n}\n\n.mdi-maps-local-hotel:before {\n content: \"\\e883\";\n}\n\n.mdi-maps-local-laundry-service:before {\n content: \"\\e884\";\n}\n\n.mdi-maps-local-library:before {\n content: \"\\e885\";\n}\n\n.mdi-maps-local-mall:before {\n content: \"\\e886\";\n}\n\n.mdi-maps-local-movies:before {\n content: \"\\e887\";\n}\n\n.mdi-maps-local-offer:before {\n content: \"\\e888\";\n}\n\n.mdi-maps-local-parking:before {\n content: \"\\e889\";\n}\n\n.mdi-maps-local-pharmacy:before {\n content: \"\\e88a\";\n}\n\n.mdi-maps-local-phone:before {\n content: \"\\e88b\";\n}\n\n.mdi-maps-local-pizza:before {\n content: \"\\e88c\";\n}\n\n.mdi-maps-local-play:before {\n content: \"\\e88d\";\n}\n\n.mdi-maps-local-post-office:before {\n content: \"\\e88e\";\n}\n\n.mdi-maps-local-print-shop:before {\n content: \"\\e88f\";\n}\n\n.mdi-maps-local-restaurant:before {\n content: \"\\e890\";\n}\n\n.mdi-maps-local-see:before {\n content: \"\\e891\";\n}\n\n.mdi-maps-local-shipping:before {\n content: \"\\e892\";\n}\n\n.mdi-maps-local-taxi:before {\n content: \"\\e893\";\n}\n\n.mdi-maps-location-history:before {\n content: \"\\e894\";\n}\n\n.mdi-maps-map:before {\n content: \"\\e895\";\n}\n\n.mdi-maps-my-location:before {\n content: \"\\e896\";\n}\n\n.mdi-maps-navigation:before {\n content: \"\\e897\";\n}\n\n.mdi-maps-pin-drop:before {\n content: \"\\e898\";\n}\n\n.mdi-maps-place:before {\n content: \"\\e899\";\n}\n\n.mdi-maps-rate-review:before {\n content: \"\\e89a\";\n}\n\n.mdi-maps-restaurant-menu:before {\n content: \"\\e89b\";\n}\n\n.mdi-maps-satellite:before {\n content: \"\\e89c\";\n}\n\n.mdi-maps-store-mall-directory:before {\n content: \"\\e89d\";\n}\n\n.mdi-maps-terrain:before {\n content: \"\\e89e\";\n}\n\n.mdi-maps-traffic:before {\n content: \"\\e89f\";\n}\n\n.mdi-navigation-apps:before {\n content: \"\\e8a0\";\n}\n\n.mdi-navigation-arrow-back:before {\n content: \"\\e8a1\";\n}\n\n.mdi-navigation-arrow-drop-down-circle:before {\n content: \"\\e8a2\";\n}\n\n.mdi-navigation-arrow-drop-down:before {\n content: \"\\e8a3\";\n}\n\n.mdi-navigation-arrow-drop-up:before {\n content: \"\\e8a4\";\n}\n\n.mdi-navigation-arrow-forward:before {\n content: \"\\e8a5\";\n}\n\n.mdi-navigation-cancel:before {\n content: \"\\e8a6\";\n}\n\n.mdi-navigation-check:before {\n content: \"\\e8a7\";\n}\n\n.mdi-navigation-chevron-left:before {\n content: \"\\e8a8\";\n}\n\n.mdi-navigation-chevron-right:before {\n content: \"\\e8a9\";\n}\n\n.mdi-navigation-close:before {\n content: \"\\e8aa\";\n}\n\n.mdi-navigation-expand-less:before {\n content: \"\\e8ab\";\n}\n\n.mdi-navigation-expand-more:before {\n content: \"\\e8ac\";\n}\n\n.mdi-navigation-fullscreen-exit:before {\n content: \"\\e8ad\";\n}\n\n.mdi-navigation-fullscreen:before {\n content: \"\\e8ae\";\n}\n\n.mdi-navigation-menu:before {\n content: \"\\e8af\";\n}\n\n.mdi-navigation-more-horiz:before {\n content: \"\\e8b0\";\n}\n\n.mdi-navigation-more-vert:before {\n content: \"\\e8b1\";\n}\n\n.mdi-navigation-refresh:before {\n content: \"\\e8b2\";\n}\n\n.mdi-navigation-unfold-less:before {\n content: \"\\e8b3\";\n}\n\n.mdi-navigation-unfold-more:before {\n content: \"\\e8b4\";\n}\n\n.mdi-notification-adb:before {\n content: \"\\e8b5\";\n}\n\n.mdi-notification-bluetooth-audio:before {\n content: \"\\e8b6\";\n}\n\n.mdi-notification-disc-full:before {\n content: \"\\e8b7\";\n}\n\n.mdi-notification-dnd-forwardslash:before {\n content: \"\\e8b8\";\n}\n\n.mdi-notification-do-not-disturb:before {\n content: \"\\e8b9\";\n}\n\n.mdi-notification-drive-eta:before {\n content: \"\\e8ba\";\n}\n\n.mdi-notification-event-available:before {\n content: \"\\e8bb\";\n}\n\n.mdi-notification-event-busy:before {\n content: \"\\e8bc\";\n}\n\n.mdi-notification-event-note:before {\n content: \"\\e8bd\";\n}\n\n.mdi-notification-folder-special:before {\n content: \"\\e8be\";\n}\n\n.mdi-notification-mms:before {\n content: \"\\e8bf\";\n}\n\n.mdi-notification-more:before {\n content: \"\\e8c0\";\n}\n\n.mdi-notification-network-locked:before {\n content: \"\\e8c1\";\n}\n\n.mdi-notification-phone-bluetooth-speaker:before {\n content: \"\\e8c2\";\n}\n\n.mdi-notification-phone-forwarded:before {\n content: \"\\e8c3\";\n}\n\n.mdi-notification-phone-in-talk:before {\n content: \"\\e8c4\";\n}\n\n.mdi-notification-phone-locked:before {\n content: \"\\e8c5\";\n}\n\n.mdi-notification-phone-missed:before {\n content: \"\\e8c6\";\n}\n\n.mdi-notification-phone-paused:before {\n content: \"\\e8c7\";\n}\n\n.mdi-notification-play-download:before {\n content: \"\\e8c8\";\n}\n\n.mdi-notification-play-install:before {\n content: \"\\e8c9\";\n}\n\n.mdi-notification-sd-card:before {\n content: \"\\e8ca\";\n}\n\n.mdi-notification-sim-card-alert:before {\n content: \"\\e8cb\";\n}\n\n.mdi-notification-sms-failed:before {\n content: \"\\e8cc\";\n}\n\n.mdi-notification-sms:before {\n content: \"\\e8cd\";\n}\n\n.mdi-notification-sync-disabled:before {\n content: \"\\e8ce\";\n}\n\n.mdi-notification-sync-problem:before {\n content: \"\\e8cf\";\n}\n\n.mdi-notification-sync:before {\n content: \"\\e8d0\";\n}\n\n.mdi-notification-system-update:before {\n content: \"\\e8d1\";\n}\n\n.mdi-notification-tap-and-play:before {\n content: \"\\e8d2\";\n}\n\n.mdi-notification-time-to-leave:before {\n content: \"\\e8d3\";\n}\n\n.mdi-notification-vibration:before {\n content: \"\\e8d4\";\n}\n\n.mdi-notification-voice-chat:before {\n content: \"\\e8d5\";\n}\n\n.mdi-notification-vpn-lock:before {\n content: \"\\e8d6\";\n}\n\n.mdi-social-cake:before {\n content: \"\\e8d7\";\n}\n\n.mdi-social-domain:before {\n content: \"\\e8d8\";\n}\n\n.mdi-social-group-add:before {\n content: \"\\e8d9\";\n}\n\n.mdi-social-group:before {\n content: \"\\e8da\";\n}\n\n.mdi-social-location-city:before {\n content: \"\\e8db\";\n}\n\n.mdi-social-mood:before {\n content: \"\\e8dc\";\n}\n\n.mdi-social-notifications-none:before {\n content: \"\\e8dd\";\n}\n\n.mdi-social-notifications-off:before {\n content: \"\\e8de\";\n}\n\n.mdi-social-notifications-on:before {\n content: \"\\e8df\";\n}\n\n.mdi-social-notifications-paused:before {\n content: \"\\e8e0\";\n}\n\n.mdi-social-notifications:before {\n content: \"\\e8e1\";\n}\n\n.mdi-social-pages:before {\n content: \"\\e8e2\";\n}\n\n.mdi-social-party-mode:before {\n content: \"\\e8e3\";\n}\n\n.mdi-social-people-outline:before {\n content: \"\\e8e4\";\n}\n\n.mdi-social-people:before {\n content: \"\\e8e5\";\n}\n\n.mdi-social-person-add:before {\n content: \"\\e8e6\";\n}\n\n.mdi-social-person-outline:before {\n content: \"\\e8e7\";\n}\n\n.mdi-social-person:before {\n content: \"\\e8e8\";\n}\n\n.mdi-social-plus-one:before {\n content: \"\\e8e9\";\n}\n\n.mdi-social-poll:before {\n content: \"\\e8ea\";\n}\n\n.mdi-social-public:before {\n content: \"\\e8eb\";\n}\n\n.mdi-social-school:before {\n content: \"\\e8ec\";\n}\n\n.mdi-social-share:before {\n content: \"\\e8ed\";\n}\n\n.mdi-social-whatshot:before {\n content: \"\\e8ee\";\n}\n\n.mdi-toggle-check-box-outline-blank:before {\n content: \"\\e8ef\";\n}\n\n.mdi-toggle-check-box:before {\n content: \"\\e8f0\";\n}\n\n.mdi-toggle-radio-button-off:before {\n content: \"\\e8f1\";\n}\n\n.mdi-toggle-radio-button-on:before {\n content: \"\\e8f2\";\n}\n\n.mdi-toggle-star-half:before {\n content: \"\\e8f3\";\n}\n\n.mdi-toggle-star-outline:before {\n content: \"\\e8f4\";\n}\n\n.mdi-toggle-star:before {\n content: \"\\e8f5\";\n}\n\n.container {\n margin: 0 auto;\n max-width: 1280px;\n width: 90%;\n}\n\n@media only screen and (min-width: 601px) {\n .container {\n width: 85%;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .container {\n width: 70%;\n }\n}\n\n.container .row {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n}\n\n.section {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.section.no-pad {\n padding: 0;\n}\n\n.section.no-pad-bot {\n padding-bottom: 0;\n}\n\n.section.no-pad-top {\n padding-top: 0;\n}\n\n.row {\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 20px;\n}\n\n.row:after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.row .col {\n float: left;\n box-sizing: border-box;\n padding: 0 0.75rem;\n}\n\n.row .col[class*=\"push-\"], .row .col[class*=\"pull-\"] {\n position: relative;\n}\n\n.row .col.s1 {\n width: 8.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s2 {\n width: 16.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s3 {\n width: 25%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s4 {\n width: 33.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s5 {\n width: 41.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s6 {\n width: 50%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s7 {\n width: 58.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s8 {\n width: 66.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s9 {\n width: 75%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s10 {\n width: 83.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s11 {\n width: 91.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.s12 {\n width: 100%;\n margin-left: auto;\n left: auto;\n right: auto;\n}\n\n.row .col.offset-s1 {\n margin-left: 8.3333333333%;\n}\n\n.row .col.pull-s1 {\n right: 8.3333333333%;\n}\n\n.row .col.push-s1 {\n left: 8.3333333333%;\n}\n\n.row .col.offset-s2 {\n margin-left: 16.6666666667%;\n}\n\n.row .col.pull-s2 {\n right: 16.6666666667%;\n}\n\n.row .col.push-s2 {\n left: 16.6666666667%;\n}\n\n.row .col.offset-s3 {\n margin-left: 25%;\n}\n\n.row .col.pull-s3 {\n right: 25%;\n}\n\n.row .col.push-s3 {\n left: 25%;\n}\n\n.row .col.offset-s4 {\n margin-left: 33.3333333333%;\n}\n\n.row .col.pull-s4 {\n right: 33.3333333333%;\n}\n\n.row .col.push-s4 {\n left: 33.3333333333%;\n}\n\n.row .col.offset-s5 {\n margin-left: 41.6666666667%;\n}\n\n.row .col.pull-s5 {\n right: 41.6666666667%;\n}\n\n.row .col.push-s5 {\n left: 41.6666666667%;\n}\n\n.row .col.offset-s6 {\n margin-left: 50%;\n}\n\n.row .col.pull-s6 {\n right: 50%;\n}\n\n.row .col.push-s6 {\n left: 50%;\n}\n\n.row .col.offset-s7 {\n margin-left: 58.3333333333%;\n}\n\n.row .col.pull-s7 {\n right: 58.3333333333%;\n}\n\n.row .col.push-s7 {\n left: 58.3333333333%;\n}\n\n.row .col.offset-s8 {\n margin-left: 66.6666666667%;\n}\n\n.row .col.pull-s8 {\n right: 66.6666666667%;\n}\n\n.row .col.push-s8 {\n left: 66.6666666667%;\n}\n\n.row .col.offset-s9 {\n margin-left: 75%;\n}\n\n.row .col.pull-s9 {\n right: 75%;\n}\n\n.row .col.push-s9 {\n left: 75%;\n}\n\n.row .col.offset-s10 {\n margin-left: 83.3333333333%;\n}\n\n.row .col.pull-s10 {\n right: 83.3333333333%;\n}\n\n.row .col.push-s10 {\n left: 83.3333333333%;\n}\n\n.row .col.offset-s11 {\n margin-left: 91.6666666667%;\n}\n\n.row .col.pull-s11 {\n right: 91.6666666667%;\n}\n\n.row .col.push-s11 {\n left: 91.6666666667%;\n}\n\n.row .col.offset-s12 {\n margin-left: 100%;\n}\n\n.row .col.pull-s12 {\n right: 100%;\n}\n\n.row .col.push-s12 {\n left: 100%;\n}\n\n@media only screen and (min-width: 601px) {\n .row .col.m1 {\n width: 8.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m2 {\n width: 16.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m3 {\n width: 25%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m4 {\n width: 33.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m5 {\n width: 41.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m6 {\n width: 50%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m7 {\n width: 58.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m8 {\n width: 66.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m9 {\n width: 75%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m10 {\n width: 83.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m11 {\n width: 91.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.m12 {\n width: 100%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.offset-m1 {\n margin-left: 8.3333333333%;\n }\n .row .col.pull-m1 {\n right: 8.3333333333%;\n }\n .row .col.push-m1 {\n left: 8.3333333333%;\n }\n .row .col.offset-m2 {\n margin-left: 16.6666666667%;\n }\n .row .col.pull-m2 {\n right: 16.6666666667%;\n }\n .row .col.push-m2 {\n left: 16.6666666667%;\n }\n .row .col.offset-m3 {\n margin-left: 25%;\n }\n .row .col.pull-m3 {\n right: 25%;\n }\n .row .col.push-m3 {\n left: 25%;\n }\n .row .col.offset-m4 {\n margin-left: 33.3333333333%;\n }\n .row .col.pull-m4 {\n right: 33.3333333333%;\n }\n .row .col.push-m4 {\n left: 33.3333333333%;\n }\n .row .col.offset-m5 {\n margin-left: 41.6666666667%;\n }\n .row .col.pull-m5 {\n right: 41.6666666667%;\n }\n .row .col.push-m5 {\n left: 41.6666666667%;\n }\n .row .col.offset-m6 {\n margin-left: 50%;\n }\n .row .col.pull-m6 {\n right: 50%;\n }\n .row .col.push-m6 {\n left: 50%;\n }\n .row .col.offset-m7 {\n margin-left: 58.3333333333%;\n }\n .row .col.pull-m7 {\n right: 58.3333333333%;\n }\n .row .col.push-m7 {\n left: 58.3333333333%;\n }\n .row .col.offset-m8 {\n margin-left: 66.6666666667%;\n }\n .row .col.pull-m8 {\n right: 66.6666666667%;\n }\n .row .col.push-m8 {\n left: 66.6666666667%;\n }\n .row .col.offset-m9 {\n margin-left: 75%;\n }\n .row .col.pull-m9 {\n right: 75%;\n }\n .row .col.push-m9 {\n left: 75%;\n }\n .row .col.offset-m10 {\n margin-left: 83.3333333333%;\n }\n .row .col.pull-m10 {\n right: 83.3333333333%;\n }\n .row .col.push-m10 {\n left: 83.3333333333%;\n }\n .row .col.offset-m11 {\n margin-left: 91.6666666667%;\n }\n .row .col.pull-m11 {\n right: 91.6666666667%;\n }\n .row .col.push-m11 {\n left: 91.6666666667%;\n }\n .row .col.offset-m12 {\n margin-left: 100%;\n }\n .row .col.pull-m12 {\n right: 100%;\n }\n .row .col.push-m12 {\n left: 100%;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .row .col.l1 {\n width: 8.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l2 {\n width: 16.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l3 {\n width: 25%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l4 {\n width: 33.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l5 {\n width: 41.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l6 {\n width: 50%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l7 {\n width: 58.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l8 {\n width: 66.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l9 {\n width: 75%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l10 {\n width: 83.3333333333%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l11 {\n width: 91.6666666667%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.l12 {\n width: 100%;\n margin-left: auto;\n left: auto;\n right: auto;\n }\n .row .col.offset-l1 {\n margin-left: 8.3333333333%;\n }\n .row .col.pull-l1 {\n right: 8.3333333333%;\n }\n .row .col.push-l1 {\n left: 8.3333333333%;\n }\n .row .col.offset-l2 {\n margin-left: 16.6666666667%;\n }\n .row .col.pull-l2 {\n right: 16.6666666667%;\n }\n .row .col.push-l2 {\n left: 16.6666666667%;\n }\n .row .col.offset-l3 {\n margin-left: 25%;\n }\n .row .col.pull-l3 {\n right: 25%;\n }\n .row .col.push-l3 {\n left: 25%;\n }\n .row .col.offset-l4 {\n margin-left: 33.3333333333%;\n }\n .row .col.pull-l4 {\n right: 33.3333333333%;\n }\n .row .col.push-l4 {\n left: 33.3333333333%;\n }\n .row .col.offset-l5 {\n margin-left: 41.6666666667%;\n }\n .row .col.pull-l5 {\n right: 41.6666666667%;\n }\n .row .col.push-l5 {\n left: 41.6666666667%;\n }\n .row .col.offset-l6 {\n margin-left: 50%;\n }\n .row .col.pull-l6 {\n right: 50%;\n }\n .row .col.push-l6 {\n left: 50%;\n }\n .row .col.offset-l7 {\n margin-left: 58.3333333333%;\n }\n .row .col.pull-l7 {\n right: 58.3333333333%;\n }\n .row .col.push-l7 {\n left: 58.3333333333%;\n }\n .row .col.offset-l8 {\n margin-left: 66.6666666667%;\n }\n .row .col.pull-l8 {\n right: 66.6666666667%;\n }\n .row .col.push-l8 {\n left: 66.6666666667%;\n }\n .row .col.offset-l9 {\n margin-left: 75%;\n }\n .row .col.pull-l9 {\n right: 75%;\n }\n .row .col.push-l9 {\n left: 75%;\n }\n .row .col.offset-l10 {\n margin-left: 83.3333333333%;\n }\n .row .col.pull-l10 {\n right: 83.3333333333%;\n }\n .row .col.push-l10 {\n left: 83.3333333333%;\n }\n .row .col.offset-l11 {\n margin-left: 91.6666666667%;\n }\n .row .col.pull-l11 {\n right: 91.6666666667%;\n }\n .row .col.push-l11 {\n left: 91.6666666667%;\n }\n .row .col.offset-l12 {\n margin-left: 100%;\n }\n .row .col.pull-l12 {\n right: 100%;\n }\n .row .col.push-l12 {\n left: 100%;\n }\n}\n\nnav {\n color: #fff;\n background-color: #ee6e73;\n width: 100%;\n height: 56px;\n line-height: 56px;\n}\n\nnav a {\n color: #fff;\n}\n\nnav i,\nnav [class^=\"mdi-\"], nav [class*=\"mdi-\"],\nnav i.material-icons {\n display: block;\n font-size: 2rem;\n height: 56px;\n line-height: 56px;\n}\n\nnav .nav-wrapper {\n position: relative;\n height: 100%;\n}\n\n@media only screen and (min-width: 993px) {\n nav a.button-collapse {\n display: none;\n }\n}\n\nnav .button-collapse {\n float: left;\n position: relative;\n z-index: 1;\n height: 56px;\n}\n\nnav .button-collapse i {\n font-size: 2.7rem;\n height: 56px;\n line-height: 56px;\n}\n\nnav .brand-logo {\n position: absolute;\n color: #fff;\n display: inline-block;\n font-size: 2.1rem;\n padding: 0;\n white-space: nowrap;\n}\n\nnav .brand-logo.center {\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n}\n\n@media only screen and (max-width: 992px) {\n nav .brand-logo {\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n }\n nav .brand-logo.left, nav .brand-logo.right {\n padding: 0;\n -webkit-transform: none;\n transform: none;\n }\n nav .brand-logo.left {\n left: 0.5rem;\n }\n nav .brand-logo.right {\n right: 0.5rem;\n left: auto;\n }\n}\n\nnav .brand-logo.right {\n right: 0.5rem;\n padding: 0;\n}\n\nnav ul {\n margin: 0;\n}\n\nnav ul li {\n transition: background-color .3s;\n float: left;\n padding: 0;\n}\n\nnav ul li.active {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\nnav ul a {\n transition: background-color .3s;\n font-size: 1rem;\n color: #fff;\n display: block;\n padding: 0 15px;\n cursor: pointer;\n}\n\nnav ul a.btn, nav ul a.btn-large, nav ul a.btn-large, nav ul a.btn-flat, nav ul a.btn-floating {\n margin-top: -2px;\n margin-left: 15px;\n margin-right: 15px;\n}\n\nnav ul a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\nnav ul.left {\n float: left;\n}\n\nnav .input-field {\n margin: 0;\n}\n\nnav .input-field input {\n height: 100%;\n font-size: 1.2rem;\n border: none;\n padding-left: 2rem;\n}\n\nnav .input-field input:focus, nav .input-field input[type=text]:valid, nav .input-field input[type=password]:valid, nav .input-field input[type=email]:valid, nav .input-field input[type=url]:valid, nav .input-field input[type=date]:valid {\n border: none;\n box-shadow: none;\n}\n\nnav .input-field label {\n top: 0;\n left: 0;\n}\n\nnav .input-field label i {\n color: rgba(255, 255, 255, 0.7);\n transition: color .3s;\n}\n\nnav .input-field label.active i {\n color: #fff;\n}\n\nnav .input-field label.active {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n\n.navbar-fixed {\n position: relative;\n height: 56px;\n z-index: 998;\n}\n\n.navbar-fixed nav {\n position: fixed;\n}\n\n@media only screen and (min-width: 601px) {\n nav, nav .nav-wrapper i, nav a.button-collapse, nav a.button-collapse i {\n height: 64px;\n line-height: 64px;\n }\n .navbar-fixed {\n height: 64px;\n }\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: local(Roboto Thin), url(\"../font/roboto/Roboto-Thin.eot\");\n src: url(\"../font/roboto/Roboto-Thin.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Thin.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Thin.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Thin.ttf\") format(\"truetype\");\n font-weight: 200;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: local(Roboto Light), url(\"../font/roboto/Roboto-Light.eot\");\n src: url(\"../font/roboto/Roboto-Light.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Light.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Light.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Light.ttf\") format(\"truetype\");\n font-weight: 300;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: local(Roboto Regular), url(\"../font/roboto/Roboto-Regular.eot\");\n src: url(\"../font/roboto/Roboto-Regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Regular.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Regular.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Regular.ttf\") format(\"truetype\");\n font-weight: 400;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: url(\"../font/roboto/Roboto-Medium.eot\");\n src: url(\"../font/roboto/Roboto-Medium.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Medium.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Medium.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Medium.ttf\") format(\"truetype\");\n font-weight: 500;\n}\n\n@font-face {\n font-family: \"Roboto\";\n src: url(\"../font/roboto/Roboto-Bold.eot\");\n src: url(\"../font/roboto/Roboto-Bold.eot?#iefix\") format(\"embedded-opentype\"), url(\"../font/roboto/Roboto-Bold.woff2\") format(\"woff2\"), url(\"../font/roboto/Roboto-Bold.woff\") format(\"woff\"), url(\"../font/roboto/Roboto-Bold.ttf\") format(\"truetype\");\n font-weight: 700;\n}\n\na {\n text-decoration: none;\n}\n\nhtml {\n line-height: 1.5;\n font-family: \"Roboto\", sans-serif;\n font-weight: normal;\n color: rgba(0, 0, 0, 0.87);\n}\n\n@media only screen and (min-width: 0) {\n html {\n font-size: 14px;\n }\n}\n\n@media only screen and (min-width: 992px) {\n html {\n font-size: 14.5px;\n }\n}\n\n@media only screen and (min-width: 1200px) {\n html {\n font-size: 15px;\n }\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-weight: 400;\n line-height: 1.1;\n}\n\nh1 a, h2 a, h3 a, h4 a, h5 a, h6 a {\n font-weight: inherit;\n}\n\nh1 {\n font-size: 4.2rem;\n line-height: 110%;\n margin: 2.1rem 0 1.68rem 0;\n}\n\nh2 {\n font-size: 3.56rem;\n line-height: 110%;\n margin: 1.78rem 0 1.424rem 0;\n}\n\nh3 {\n font-size: 2.92rem;\n line-height: 110%;\n margin: 1.46rem 0 1.168rem 0;\n}\n\nh4 {\n font-size: 2.28rem;\n line-height: 110%;\n margin: 1.14rem 0 0.912rem 0;\n}\n\nh5 {\n font-size: 1.64rem;\n line-height: 110%;\n margin: 0.82rem 0 0.656rem 0;\n}\n\nh6 {\n font-size: 1rem;\n line-height: 110%;\n margin: 0.5rem 0 0.4rem 0;\n}\n\nem {\n font-style: italic;\n}\n\nstrong {\n font-weight: 500;\n}\n\nsmall {\n font-size: 75%;\n}\n\n.light, footer.page-footer .footer-copyright {\n font-weight: 300;\n}\n\n.thin {\n font-weight: 200;\n}\n\n.flow-text {\n font-weight: 300;\n}\n\n@media only screen and (min-width: 360px) {\n .flow-text {\n font-size: 1.2rem;\n }\n}\n\n@media only screen and (min-width: 390px) {\n .flow-text {\n font-size: 1.224rem;\n }\n}\n\n@media only screen and (min-width: 420px) {\n .flow-text {\n font-size: 1.248rem;\n }\n}\n\n@media only screen and (min-width: 450px) {\n .flow-text {\n font-size: 1.272rem;\n }\n}\n\n@media only screen and (min-width: 480px) {\n .flow-text {\n font-size: 1.296rem;\n }\n}\n\n@media only screen and (min-width: 510px) {\n .flow-text {\n font-size: 1.32rem;\n }\n}\n\n@media only screen and (min-width: 540px) {\n .flow-text {\n font-size: 1.344rem;\n }\n}\n\n@media only screen and (min-width: 570px) {\n .flow-text {\n font-size: 1.368rem;\n }\n}\n\n@media only screen and (min-width: 600px) {\n .flow-text {\n font-size: 1.392rem;\n }\n}\n\n@media only screen and (min-width: 630px) {\n .flow-text {\n font-size: 1.416rem;\n }\n}\n\n@media only screen and (min-width: 660px) {\n .flow-text {\n font-size: 1.44rem;\n }\n}\n\n@media only screen and (min-width: 690px) {\n .flow-text {\n font-size: 1.464rem;\n }\n}\n\n@media only screen and (min-width: 720px) {\n .flow-text {\n font-size: 1.488rem;\n }\n}\n\n@media only screen and (min-width: 750px) {\n .flow-text {\n font-size: 1.512rem;\n }\n}\n\n@media only screen and (min-width: 780px) {\n .flow-text {\n font-size: 1.536rem;\n }\n}\n\n@media only screen and (min-width: 810px) {\n .flow-text {\n font-size: 1.56rem;\n }\n}\n\n@media only screen and (min-width: 840px) {\n .flow-text {\n font-size: 1.584rem;\n }\n}\n\n@media only screen and (min-width: 870px) {\n .flow-text {\n font-size: 1.608rem;\n }\n}\n\n@media only screen and (min-width: 900px) {\n .flow-text {\n font-size: 1.632rem;\n }\n}\n\n@media only screen and (min-width: 930px) {\n .flow-text {\n font-size: 1.656rem;\n }\n}\n\n@media only screen and (min-width: 960px) {\n .flow-text {\n font-size: 1.68rem;\n }\n}\n\n@media only screen and (max-width: 360px) {\n .flow-text {\n font-size: 1.2rem;\n }\n}\n\n.card-panel {\n transition: box-shadow .25s;\n padding: 20px;\n margin: 0.5rem 0 1rem 0;\n border-radius: 2px;\n background-color: #fff;\n}\n\n.card {\n position: relative;\n margin: 0.5rem 0 1rem 0;\n background-color: #fff;\n transition: box-shadow .25s;\n border-radius: 2px;\n}\n\n.card .card-title {\n font-size: 24px;\n font-weight: 300;\n}\n\n.card .card-title.activator {\n cursor: pointer;\n}\n\n.card.small, .card.medium, .card.large {\n position: relative;\n}\n\n.card.small .card-image, .card.medium .card-image, .card.large .card-image {\n max-height: 60%;\n overflow: hidden;\n}\n\n.card.small .card-content, .card.medium .card-content, .card.large .card-content {\n max-height: 40%;\n overflow: hidden;\n}\n\n.card.small .card-action, .card.medium .card-action, .card.large .card-action {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n background-color: inherit;\n}\n\n.card.small {\n height: 300px;\n}\n\n.card.medium {\n height: 400px;\n}\n\n.card.large {\n height: 500px;\n}\n\n.card .card-image {\n position: relative;\n}\n\n.card .card-image img {\n display: block;\n border-radius: 2px 2px 0 0;\n position: relative;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n}\n\n.card .card-image .card-title {\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 20px;\n}\n\n.card .card-content {\n padding: 20px;\n border-radius: 0 0 2px 2px;\n}\n\n.card .card-content p {\n margin: 0;\n color: inherit;\n}\n\n.card .card-content .card-title {\n line-height: 48px;\n}\n\n.card .card-action {\n border-top: 1px solid rgba(160, 160, 160, 0.2);\n padding: 20px;\n}\n\n.card .card-action a:not(.btn):not(.btn-large):not(.btn-floating) {\n color: #ffab40;\n margin-right: 20px;\n transition: color .3s ease;\n text-transform: uppercase;\n}\n\n.card .card-action a:not(.btn):not(.btn-large):not(.btn-floating):hover {\n color: #ffd8a6;\n}\n\n.card .card-reveal {\n padding: 20px;\n position: absolute;\n background-color: #fff;\n width: 100%;\n overflow-y: auto;\n top: 100%;\n height: 100%;\n z-index: 1;\n display: none;\n}\n\n.card .card-reveal .card-title {\n cursor: pointer;\n display: block;\n}\n\n#toast-container {\n display: block;\n position: fixed;\n z-index: 10000;\n}\n\n@media only screen and (max-width: 600px) {\n #toast-container {\n min-width: 100%;\n bottom: 0%;\n }\n}\n\n@media only screen and (min-width: 601px) and (max-width: 992px) {\n #toast-container {\n left: 5%;\n bottom: 7%;\n max-width: 90%;\n }\n}\n\n@media only screen and (min-width: 993px) {\n #toast-container {\n top: 10%;\n right: 7%;\n max-width: 86%;\n }\n}\n\n.toast {\n border-radius: 2px;\n top: 0;\n width: auto;\n clear: both;\n margin-top: 10px;\n position: relative;\n max-width: 100%;\n height: auto;\n min-height: 48px;\n line-height: 1.5em;\n word-break: break-all;\n background-color: #323232;\n padding: 10px 25px;\n font-size: 1.1rem;\n font-weight: 300;\n color: #fff;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: space-between;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.toast .btn, .toast .btn-large, .toast .btn-flat {\n margin: 0;\n margin-left: 3rem;\n}\n\n.toast.rounded {\n border-radius: 24px;\n}\n\n@media only screen and (max-width: 600px) {\n .toast {\n width: 100%;\n border-radius: 0;\n }\n}\n\n@media only screen and (min-width: 601px) and (max-width: 992px) {\n .toast {\n float: left;\n }\n}\n\n@media only screen and (min-width: 993px) {\n .toast {\n float: right;\n }\n}\n\n.tabs {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n height: 48px;\n background-color: #fff;\n margin: 0 auto;\n width: 100%;\n white-space: nowrap;\n}\n\n.tabs .tab {\n -webkit-box-flex: 1;\n -webkit-flex-grow: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n display: block;\n float: left;\n text-align: center;\n line-height: 48px;\n height: 48px;\n padding: 0;\n margin: 0;\n text-transform: uppercase;\n text-overflow: ellipsis;\n overflow: hidden;\n letter-spacing: .8px;\n width: 15%;\n min-width: 80px;\n}\n\n.tabs .tab a {\n color: #ee6e73;\n display: block;\n width: 100%;\n height: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n transition: color .28s ease;\n}\n\n.tabs .tab a:hover {\n color: #f9c9cb;\n}\n\n.tabs .tab.disabled a {\n color: #f9c9cb;\n cursor: default;\n}\n\n.tabs .indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #f6b2b5;\n will-change: left, right;\n}\n\n.material-tooltip {\n padding: 10px 8px;\n font-size: 1rem;\n z-index: 2000;\n background-color: transparent;\n border-radius: 2px;\n color: #fff;\n min-height: 36px;\n line-height: 120%;\n opacity: 0;\n display: none;\n position: absolute;\n text-align: center;\n max-width: calc(100% - 4px);\n overflow: hidden;\n left: 0;\n top: 0;\n will-change: top, left;\n}\n\n.backdrop {\n position: absolute;\n opacity: 0;\n display: none;\n height: 7px;\n width: 14px;\n border-radius: 0 0 14px 14px;\n background-color: #323232;\n z-index: -1;\n -webkit-transform-origin: 50% 10%;\n transform-origin: 50% 10%;\n will-change: transform, opacity;\n}\n\n.btn, .btn-large, .btn-flat {\n border: none;\n border-radius: 2px;\n display: inline-block;\n height: 36px;\n line-height: 36px;\n outline: 0;\n padding: 0 2rem;\n text-transform: uppercase;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n}\n\n.btn.disabled, .disabled.btn-large, .btn-floating.disabled, .btn-large.disabled, .btn:disabled, .btn-large:disabled, .btn-large:disabled, .btn-floating:disabled {\n background-color: #DFDFDF !important;\n box-shadow: none;\n color: #9F9F9F !important;\n cursor: default;\n}\n\n.btn.disabled *, .disabled.btn-large *, .btn-floating.disabled *, .btn-large.disabled *, .btn:disabled *, .btn-large:disabled *, .btn-large:disabled *, .btn-floating:disabled * {\n pointer-events: none;\n}\n\n.btn.disabled:hover, .disabled.btn-large:hover, .btn-floating.disabled:hover, .btn-large.disabled:hover, .btn:disabled:hover, .btn-large:disabled:hover, .btn-large:disabled:hover, .btn-floating:disabled:hover {\n background-color: #DFDFDF;\n color: #9F9F9F;\n}\n\n.btn i, .btn-large i, .btn-floating i, .btn-large i, .btn-flat i {\n font-size: 1.3rem;\n line-height: inherit;\n}\n\n.btn, .btn-large {\n text-decoration: none;\n color: #fff;\n background-color: #26a69a;\n text-align: center;\n letter-spacing: .5px;\n transition: .2s ease-out;\n cursor: pointer;\n}\n\n.btn:hover, .btn-large:hover {\n background-color: #2bbbad;\n}\n\n.btn-floating {\n display: inline-block;\n color: #fff;\n position: relative;\n overflow: hidden;\n z-index: 1;\n width: 37px;\n height: 37px;\n line-height: 37px;\n padding: 0;\n background-color: #26a69a;\n border-radius: 50%;\n transition: .3s;\n cursor: pointer;\n vertical-align: middle;\n}\n\n.btn-floating i {\n width: inherit;\n display: inline-block;\n text-align: center;\n color: #fff;\n font-size: 1.6rem;\n line-height: 37px;\n}\n\n.btn-floating:hover {\n background-color: #26a69a;\n}\n\n.btn-floating:before {\n border-radius: 0;\n}\n\n.btn-floating.btn-large {\n width: 55.5px;\n height: 55.5px;\n}\n\n.btn-floating.btn-large i {\n line-height: 55.5px;\n}\n\nbutton.btn-floating {\n border: none;\n}\n\n.fixed-action-btn {\n position: fixed;\n right: 23px;\n bottom: 23px;\n padding-top: 15px;\n margin-bottom: 0;\n z-index: 998;\n}\n\n.fixed-action-btn.active ul {\n visibility: visible;\n}\n\n.fixed-action-btn.horizontal {\n padding: 0 0 0 15px;\n}\n\n.fixed-action-btn.horizontal ul {\n text-align: right;\n right: 64px;\n top: 50%;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n height: 100%;\n left: initial;\n width: 500px;\n /*width 100% only goes to width of button container */\n}\n\n.fixed-action-btn.horizontal ul li {\n display: inline-block;\n margin: 15px 15px 0 0;\n}\n\n.fixed-action-btn ul {\n left: 0;\n right: 0;\n text-align: center;\n position: absolute;\n bottom: 64px;\n margin: 0;\n visibility: hidden;\n}\n\n.fixed-action-btn ul li {\n margin-bottom: 15px;\n}\n\n.fixed-action-btn ul a.btn-floating {\n opacity: 0;\n}\n\n.btn-flat {\n box-shadow: none;\n background-color: transparent;\n color: #343434;\n cursor: pointer;\n}\n\n.btn-flat.disabled {\n color: #b3b3b3;\n cursor: default;\n}\n\n.btn-large {\n height: 54px;\n line-height: 56px;\n}\n\n.btn-large i {\n font-size: 1.6rem;\n}\n\n.btn-block {\n display: block;\n}\n\n.dropdown-content {\n background-color: #fff;\n margin: 0;\n display: none;\n min-width: 100px;\n max-height: 650px;\n overflow-y: auto;\n opacity: 0;\n position: absolute;\n z-index: 999;\n will-change: width, height;\n}\n\n.dropdown-content li {\n clear: both;\n color: rgba(0, 0, 0, 0.87);\n cursor: pointer;\n min-height: 50px;\n line-height: 1.5rem;\n width: 100%;\n text-align: left;\n text-transform: none;\n}\n\n.dropdown-content li:hover, .dropdown-content li.active, .dropdown-content li.selected {\n background-color: #eee;\n}\n\n.dropdown-content li.active.selected {\n background-color: #e1e1e1;\n}\n\n.dropdown-content li.divider {\n min-height: 0;\n height: 1px;\n}\n\n.dropdown-content li > a, .dropdown-content li > span {\n font-size: 16px;\n color: #26a69a;\n display: block;\n line-height: 22px;\n padding: 14px 16px;\n}\n\n.dropdown-content li > span > label {\n top: 1px;\n left: 3px;\n height: 18px;\n}\n\n.dropdown-content li > a > i {\n height: inherit;\n line-height: inherit;\n}\n\n/*!\n * Waves v0.6.0\n * http://fian.my.id/Waves\n *\n * Copyright 2014 Alfiana E. Sibuea and other contributors\n * Released under the MIT license\n * https://github.com/fians/Waves/blob/master/LICENSE\n */\n.waves-effect {\n position: relative;\n cursor: pointer;\n display: inline-block;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n vertical-align: middle;\n z-index: 1;\n will-change: opacity, transform;\n transition: all .3s ease-out;\n}\n\n.waves-effect .waves-ripple {\n position: absolute;\n border-radius: 50%;\n width: 20px;\n height: 20px;\n margin-top: -10px;\n margin-left: -10px;\n opacity: 0;\n background: rgba(0, 0, 0, 0.2);\n transition: all 0.7s ease-out;\n transition-property: opacity, -webkit-transform;\n transition-property: transform, opacity;\n transition-property: transform, opacity, -webkit-transform;\n -webkit-transform: scale(0);\n transform: scale(0);\n pointer-events: none;\n}\n\n.waves-effect.waves-light .waves-ripple {\n background-color: rgba(255, 255, 255, 0.45);\n}\n\n.waves-effect.waves-red .waves-ripple {\n background-color: rgba(244, 67, 54, 0.7);\n}\n\n.waves-effect.waves-yellow .waves-ripple {\n background-color: rgba(255, 235, 59, 0.7);\n}\n\n.waves-effect.waves-orange .waves-ripple {\n background-color: rgba(255, 152, 0, 0.7);\n}\n\n.waves-effect.waves-purple .waves-ripple {\n background-color: rgba(156, 39, 176, 0.7);\n}\n\n.waves-effect.waves-green .waves-ripple {\n background-color: rgba(76, 175, 80, 0.7);\n}\n\n.waves-effect.waves-teal .waves-ripple {\n background-color: rgba(0, 150, 136, 0.7);\n}\n\n.waves-effect input[type=\"button\"], .waves-effect input[type=\"reset\"], .waves-effect input[type=\"submit\"] {\n border: 0;\n font-style: normal;\n font-size: inherit;\n text-transform: inherit;\n background: none;\n}\n\n.waves-notransition {\n transition: none !important;\n}\n\n.waves-circle {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);\n}\n\n.waves-input-wrapper {\n border-radius: 0.2em;\n vertical-align: bottom;\n}\n\n.waves-input-wrapper .waves-button-input {\n position: relative;\n top: 0;\n left: 0;\n z-index: 1;\n}\n\n.waves-circle {\n text-align: center;\n width: 2.5em;\n height: 2.5em;\n line-height: 2.5em;\n border-radius: 50%;\n -webkit-mask-image: none;\n}\n\n.waves-block {\n display: block;\n}\n\n/* Firefox Bug: link not triggered */\na.waves-effect .waves-ripple {\n z-index: -1;\n}\n\n.modal {\n display: none;\n position: fixed;\n left: 0;\n right: 0;\n background-color: #fafafa;\n padding: 0;\n max-height: 70%;\n width: 55%;\n margin: auto;\n overflow-y: auto;\n border-radius: 2px;\n will-change: top, opacity;\n}\n\n@media only screen and (max-width: 992px) {\n .modal {\n width: 80%;\n }\n}\n\n.modal h1, .modal h2, .modal h3, .modal h4 {\n margin-top: 0;\n}\n\n.modal .modal-content {\n padding: 24px;\n}\n\n.modal .modal-close {\n cursor: pointer;\n}\n\n.modal .modal-footer {\n border-radius: 0 0 2px 2px;\n background-color: #fafafa;\n padding: 4px 6px;\n height: 56px;\n width: 100%;\n}\n\n.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-flat {\n float: right;\n margin: 6px 0;\n}\n\n.lean-overlay {\n position: fixed;\n z-index: 999;\n top: -100px;\n left: 0;\n bottom: 0;\n right: 0;\n height: 125%;\n width: 100%;\n background: #000;\n display: none;\n will-change: opacity;\n}\n\n.modal.modal-fixed-footer {\n padding: 0;\n height: 70%;\n}\n\n.modal.modal-fixed-footer .modal-content {\n position: absolute;\n height: calc(100% - 56px);\n max-height: 100%;\n width: 100%;\n overflow-y: auto;\n}\n\n.modal.modal-fixed-footer .modal-footer {\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n position: absolute;\n bottom: 0;\n}\n\n.modal.bottom-sheet {\n top: auto;\n bottom: -100%;\n margin: 0;\n width: 100%;\n max-height: 45%;\n border-radius: 0;\n will-change: bottom, opacity;\n}\n\n.collapsible {\n border-top: 1px solid #ddd;\n border-right: 1px solid #ddd;\n border-left: 1px solid #ddd;\n margin: 0.5rem 0 1rem 0;\n}\n\n.collapsible-header {\n display: block;\n cursor: pointer;\n min-height: 3rem;\n line-height: 3rem;\n padding: 0 1rem;\n background-color: #fff;\n border-bottom: 1px solid #ddd;\n}\n\n.collapsible-header i {\n width: 2rem;\n font-size: 1.6rem;\n line-height: 3rem;\n display: block;\n float: left;\n text-align: center;\n margin-right: 1rem;\n}\n\n.collapsible-body {\n display: none;\n border-bottom: 1px solid #ddd;\n box-sizing: border-box;\n}\n\n.collapsible-body p {\n margin: 0;\n padding: 2rem;\n}\n\n.side-nav .collapsible {\n border: none;\n box-shadow: none;\n}\n\n.side-nav .collapsible li {\n padding: 0;\n}\n\n.side-nav .collapsible-header {\n background-color: transparent;\n border: none;\n line-height: inherit;\n height: inherit;\n margin: 0 1rem;\n}\n\n.side-nav .collapsible-header i {\n line-height: inherit;\n}\n\n.side-nav .collapsible-body {\n border: 0;\n background-color: #fff;\n}\n\n.side-nav .collapsible-body li a {\n margin: 0 1rem 0 2rem;\n}\n\n.collapsible.popout {\n border: none;\n box-shadow: none;\n}\n\n.collapsible.popout > li {\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n margin: 0 24px;\n transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n}\n\n.collapsible.popout > li.active {\n box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\n margin: 16px 0;\n}\n\n.chip {\n display: inline-block;\n height: 32px;\n font-size: 13px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.6);\n line-height: 32px;\n padding: 0 12px;\n border-radius: 16px;\n background-color: #e4e4e4;\n}\n\n.chip img {\n float: left;\n margin: 0 8px 0 -12px;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n}\n\n.chip i.material-icons {\n cursor: pointer;\n float: right;\n font-size: 16px;\n line-height: 32px;\n padding-left: 8px;\n}\n\n.materialboxed {\n display: block;\n cursor: -webkit-zoom-in;\n cursor: zoom-in;\n position: relative;\n transition: opacity .4s;\n}\n\n.materialboxed:hover {\n will-change: left, top, width, height;\n}\n\n.materialboxed:hover:not(.active) {\n opacity: .8;\n}\n\n.materialboxed.active {\n cursor: -webkit-zoom-out;\n cursor: zoom-out;\n}\n\n#materialbox-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #292929;\n z-index: 999;\n will-change: opacity;\n}\n\n.materialbox-caption {\n position: fixed;\n display: none;\n color: #fff;\n line-height: 50px;\n bottom: 0;\n width: 100%;\n text-align: center;\n padding: 0% 15%;\n height: 50px;\n z-index: 1000;\n -webkit-font-smoothing: antialiased;\n}\n\n/* Remove Focus Boxes */\nselect:focus {\n outline: 1px solid #c9f3ef;\n}\n\nbutton:focus {\n outline: none;\n background-color: #2ab7a9;\n}\n\nlabel {\n font-size: 0.8rem;\n color: #9e9e9e;\n}\n\n/***************************\n Text Inputs + Textarea\n****************************/\n::-webkit-input-placeholder {\n color: #d1d1d1;\n}\n\n:-moz-placeholder {\n /* Firefox 18- */\n color: #d1d1d1;\n}\n\n::-moz-placeholder {\n /* Firefox 19+ */\n color: #d1d1d1;\n}\n\n:-ms-input-placeholder {\n color: #d1d1d1;\n}\n\ninput:not([type]),\ninput[type=text],\ninput[type=password],\ninput[type=email],\ninput[type=url],\ninput[type=time],\ninput[type=date],\ninput[type=datetime-local],\ninput[type=tel],\ninput[type=number],\ninput[type=search],\ntextarea.materialize-textarea {\n background-color: transparent;\n border: none;\n border-bottom: 1px solid #9e9e9e;\n border-radius: 0;\n outline: none;\n height: 3rem;\n width: 100%;\n font-size: 1rem;\n margin: 0 0 15px 0;\n padding: 0;\n box-shadow: none;\n box-sizing: content-box;\n transition: all .3s;\n}\n\ninput:not([type]):disabled, input:not([type])[readonly=\"readonly\"],\ninput[type=text]:disabled,\ninput[type=text][readonly=\"readonly\"],\ninput[type=password]:disabled,\ninput[type=password][readonly=\"readonly\"],\ninput[type=email]:disabled,\ninput[type=email][readonly=\"readonly\"],\ninput[type=url]:disabled,\ninput[type=url][readonly=\"readonly\"],\ninput[type=time]:disabled,\ninput[type=time][readonly=\"readonly\"],\ninput[type=date]:disabled,\ninput[type=date][readonly=\"readonly\"],\ninput[type=datetime-local]:disabled,\ninput[type=datetime-local][readonly=\"readonly\"],\ninput[type=tel]:disabled,\ninput[type=tel][readonly=\"readonly\"],\ninput[type=number]:disabled,\ninput[type=number][readonly=\"readonly\"],\ninput[type=search]:disabled,\ninput[type=search][readonly=\"readonly\"],\ntextarea.materialize-textarea:disabled,\ntextarea.materialize-textarea[readonly=\"readonly\"] {\n color: rgba(0, 0, 0, 0.26);\n border-bottom: 1px dotted rgba(0, 0, 0, 0.26);\n}\n\ninput:not([type]):disabled + label, input:not([type])[readonly=\"readonly\"] + label,\ninput[type=text]:disabled + label,\ninput[type=text][readonly=\"readonly\"] + label,\ninput[type=password]:disabled + label,\ninput[type=password][readonly=\"readonly\"] + label,\ninput[type=email]:disabled + label,\ninput[type=email][readonly=\"readonly\"] + label,\ninput[type=url]:disabled + label,\ninput[type=url][readonly=\"readonly\"] + label,\ninput[type=time]:disabled + label,\ninput[type=time][readonly=\"readonly\"] + label,\ninput[type=date]:disabled + label,\ninput[type=date][readonly=\"readonly\"] + label,\ninput[type=datetime-local]:disabled + label,\ninput[type=datetime-local][readonly=\"readonly\"] + label,\ninput[type=tel]:disabled + label,\ninput[type=tel][readonly=\"readonly\"] + label,\ninput[type=number]:disabled + label,\ninput[type=number][readonly=\"readonly\"] + label,\ninput[type=search]:disabled + label,\ninput[type=search][readonly=\"readonly\"] + label,\ntextarea.materialize-textarea:disabled + label,\ntextarea.materialize-textarea[readonly=\"readonly\"] + label {\n color: rgba(0, 0, 0, 0.26);\n}\n\ninput:not([type]):focus:not([readonly]),\ninput[type=text]:focus:not([readonly]),\ninput[type=password]:focus:not([readonly]),\ninput[type=email]:focus:not([readonly]),\ninput[type=url]:focus:not([readonly]),\ninput[type=time]:focus:not([readonly]),\ninput[type=date]:focus:not([readonly]),\ninput[type=datetime-local]:focus:not([readonly]),\ninput[type=tel]:focus:not([readonly]),\ninput[type=number]:focus:not([readonly]),\ninput[type=search]:focus:not([readonly]),\ntextarea.materialize-textarea:focus:not([readonly]) {\n border-bottom: 1px solid #26a69a;\n box-shadow: 0 1px 0 0 #26a69a;\n}\n\ninput:not([type]):focus:not([readonly]) + label,\ninput[type=text]:focus:not([readonly]) + label,\ninput[type=password]:focus:not([readonly]) + label,\ninput[type=email]:focus:not([readonly]) + label,\ninput[type=url]:focus:not([readonly]) + label,\ninput[type=time]:focus:not([readonly]) + label,\ninput[type=date]:focus:not([readonly]) + label,\ninput[type=datetime-local]:focus:not([readonly]) + label,\ninput[type=tel]:focus:not([readonly]) + label,\ninput[type=number]:focus:not([readonly]) + label,\ninput[type=search]:focus:not([readonly]) + label,\ntextarea.materialize-textarea:focus:not([readonly]) + label {\n color: #26a69a;\n}\n\ninput:not([type]).valid, input:not([type]):focus.valid,\ninput[type=text].valid,\ninput[type=text]:focus.valid,\ninput[type=password].valid,\ninput[type=password]:focus.valid,\ninput[type=email].valid,\ninput[type=email]:focus.valid,\ninput[type=url].valid,\ninput[type=url]:focus.valid,\ninput[type=time].valid,\ninput[type=time]:focus.valid,\ninput[type=date].valid,\ninput[type=date]:focus.valid,\ninput[type=datetime-local].valid,\ninput[type=datetime-local]:focus.valid,\ninput[type=tel].valid,\ninput[type=tel]:focus.valid,\ninput[type=number].valid,\ninput[type=number]:focus.valid,\ninput[type=search].valid,\ninput[type=search]:focus.valid,\ntextarea.materialize-textarea.valid,\ntextarea.materialize-textarea:focus.valid {\n border-bottom: 1px solid #4CAF50;\n box-shadow: 0 1px 0 0 #4CAF50;\n}\n\ninput:not([type]).valid + label:after,\ninput:not([type]):focus.valid + label:after,\ninput[type=text].valid + label:after,\ninput[type=text]:focus.valid + label:after,\ninput[type=password].valid + label:after,\ninput[type=password]:focus.valid + label:after,\ninput[type=email].valid + label:after,\ninput[type=email]:focus.valid + label:after,\ninput[type=url].valid + label:after,\ninput[type=url]:focus.valid + label:after,\ninput[type=time].valid + label:after,\ninput[type=time]:focus.valid + label:after,\ninput[type=date].valid + label:after,\ninput[type=date]:focus.valid + label:after,\ninput[type=datetime-local].valid + label:after,\ninput[type=datetime-local]:focus.valid + label:after,\ninput[type=tel].valid + label:after,\ninput[type=tel]:focus.valid + label:after,\ninput[type=number].valid + label:after,\ninput[type=number]:focus.valid + label:after,\ninput[type=search].valid + label:after,\ninput[type=search]:focus.valid + label:after,\ntextarea.materialize-textarea.valid + label:after,\ntextarea.materialize-textarea:focus.valid + label:after {\n content: attr(data-success);\n color: #4CAF50;\n opacity: 1;\n}\n\ninput:not([type]).invalid, input:not([type]):focus.invalid,\ninput[type=text].invalid,\ninput[type=text]:focus.invalid,\ninput[type=password].invalid,\ninput[type=password]:focus.invalid,\ninput[type=email].invalid,\ninput[type=email]:focus.invalid,\ninput[type=url].invalid,\ninput[type=url]:focus.invalid,\ninput[type=time].invalid,\ninput[type=time]:focus.invalid,\ninput[type=date].invalid,\ninput[type=date]:focus.invalid,\ninput[type=datetime-local].invalid,\ninput[type=datetime-local]:focus.invalid,\ninput[type=tel].invalid,\ninput[type=tel]:focus.invalid,\ninput[type=number].invalid,\ninput[type=number]:focus.invalid,\ninput[type=search].invalid,\ninput[type=search]:focus.invalid,\ntextarea.materialize-textarea.invalid,\ntextarea.materialize-textarea:focus.invalid {\n border-bottom: 1px solid #F44336;\n box-shadow: 0 1px 0 0 #F44336;\n}\n\ninput:not([type]).invalid + label:after,\ninput:not([type]):focus.invalid + label:after,\ninput[type=text].invalid + label:after,\ninput[type=text]:focus.invalid + label:after,\ninput[type=password].invalid + label:after,\ninput[type=password]:focus.invalid + label:after,\ninput[type=email].invalid + label:after,\ninput[type=email]:focus.invalid + label:after,\ninput[type=url].invalid + label:after,\ninput[type=url]:focus.invalid + label:after,\ninput[type=time].invalid + label:after,\ninput[type=time]:focus.invalid + label:after,\ninput[type=date].invalid + label:after,\ninput[type=date]:focus.invalid + label:after,\ninput[type=datetime-local].invalid + label:after,\ninput[type=datetime-local]:focus.invalid + label:after,\ninput[type=tel].invalid + label:after,\ninput[type=tel]:focus.invalid + label:after,\ninput[type=number].invalid + label:after,\ninput[type=number]:focus.invalid + label:after,\ninput[type=search].invalid + label:after,\ninput[type=search]:focus.invalid + label:after,\ntextarea.materialize-textarea.invalid + label:after,\ntextarea.materialize-textarea:focus.invalid + label:after {\n content: attr(data-error);\n color: #F44336;\n opacity: 1;\n}\n\ninput:not([type]) + label:after,\ninput[type=text] + label:after,\ninput[type=password] + label:after,\ninput[type=email] + label:after,\ninput[type=url] + label:after,\ninput[type=time] + label:after,\ninput[type=date] + label:after,\ninput[type=datetime-local] + label:after,\ninput[type=tel] + label:after,\ninput[type=number] + label:after,\ninput[type=search] + label:after,\ntextarea.materialize-textarea + label:after {\n display: block;\n content: \"\";\n position: absolute;\n top: 65px;\n opacity: 0;\n transition: .2s opacity ease-out, .2s color ease-out;\n}\n\n.input-field {\n position: relative;\n margin-top: 1rem;\n}\n\n.input-field label {\n color: #9e9e9e;\n position: absolute;\n top: 0.8rem;\n left: 0.75rem;\n font-size: 1rem;\n cursor: text;\n transition: .2s ease-out;\n}\n\n.input-field label.active {\n font-size: 0.8rem;\n -webkit-transform: translateY(-140%);\n transform: translateY(-140%);\n}\n\n.input-field .prefix {\n position: absolute;\n width: 3rem;\n font-size: 2rem;\n transition: color .2s;\n}\n\n.input-field .prefix.active {\n color: #26a69a;\n}\n\n.input-field .prefix ~ input,\n.input-field .prefix ~ textarea {\n margin-left: 3rem;\n width: 92%;\n width: calc(100% - 3rem);\n}\n\n.input-field .prefix ~ textarea {\n padding-top: .8rem;\n}\n\n.input-field .prefix ~ label {\n margin-left: 3rem;\n}\n\n@media only screen and (max-width: 992px) {\n .input-field .prefix ~ input {\n width: 86%;\n width: calc(100% - 3rem);\n }\n}\n\n@media only screen and (max-width: 600px) {\n .input-field .prefix ~ input {\n width: 80%;\n width: calc(100% - 3rem);\n }\n}\n\n.input-field input[type=search] {\n display: block;\n line-height: inherit;\n padding-left: 4rem;\n width: calc(100% - 4rem);\n}\n\n.input-field input[type=search]:focus {\n background-color: #fff;\n border: 0;\n box-shadow: none;\n color: #444;\n}\n\n.input-field input[type=search]:focus + label i,\n.input-field input[type=search]:focus ~ .mdi-navigation-close,\n.input-field input[type=search]:focus ~ .material-icons {\n color: #444;\n}\n\n.input-field input[type=search] + label {\n left: 1rem;\n}\n\n.input-field input[type=search] ~ .mdi-navigation-close,\n.input-field input[type=search] ~ .material-icons {\n position: absolute;\n top: 0;\n right: 1rem;\n color: transparent;\n cursor: pointer;\n font-size: 2rem;\n transition: .3s color;\n}\n\ntextarea {\n width: 100%;\n height: 3rem;\n background-color: transparent;\n}\n\ntextarea.materialize-textarea {\n overflow-y: hidden;\n /* prevents scroll bar flash */\n padding: 1.6rem 0;\n /* prevents text jump on Enter keypress */\n resize: none;\n min-height: 3rem;\n}\n\n.hiddendiv {\n display: none;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: break-word;\n /* future version of deprecated 'word-wrap' */\n padding-top: 1.2rem;\n /* prevents text jump on Enter keypress */\n}\n\n/***************\n Radio Buttons\n***************/\n/* Remove default Radio Buttons */\n[type=\"radio\"]:not(:checked),\n[type=\"radio\"]:checked {\n position: absolute;\n left: -9999px;\n visibility: hidden;\n}\n\n[type=\"radio\"]:not(:checked) + label,\n[type=\"radio\"]:checked + label {\n position: relative;\n padding-left: 35px;\n cursor: pointer;\n display: inline-block;\n height: 25px;\n line-height: 25px;\n font-size: 1rem;\n transition: .28s ease;\n /* webkit (konqueror) browsers */\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n[type=\"radio\"] + label:before,\n[type=\"radio\"] + label:after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n margin: 4px;\n width: 16px;\n height: 16px;\n z-index: 0;\n transition: .28s ease;\n}\n\n/* Unchecked styles */\n[type=\"radio\"]:not(:checked) + label:before {\n border-radius: 50%;\n border: 2px solid #5a5a5a;\n}\n\n[type=\"radio\"]:not(:checked) + label:after {\n border-radius: 50%;\n border: 2px solid #5a5a5a;\n z-index: -1;\n -webkit-transform: scale(0);\n transform: scale(0);\n}\n\n/* Checked styles */\n[type=\"radio\"]:checked + label:before {\n border-radius: 50%;\n border: 2px solid transparent;\n}\n\n[type=\"radio\"]:checked + label:after {\n border-radius: 50%;\n border: 2px solid #26a69a;\n background-color: #26a69a;\n z-index: 0;\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n\n/* Radio With gap */\n[type=\"radio\"].with-gap:checked + label:before {\n border-radius: 50%;\n border: 2px solid #26a69a;\n}\n\n[type=\"radio\"].with-gap:checked + label:after {\n border-radius: 50%;\n border: 2px solid #26a69a;\n background-color: #26a69a;\n z-index: 0;\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n}\n\n/* Disabled Radio With gap */\n[type=\"radio\"].with-gap:disabled:checked + label:before {\n border: 2px solid rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"].with-gap:disabled:checked + label:after {\n border: none;\n background-color: rgba(0, 0, 0, 0.26);\n}\n\n/* Disabled style */\n[type=\"radio\"]:disabled:not(:checked) + label:before,\n[type=\"radio\"]:disabled:checked + label:before {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"]:disabled + label {\n color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"]:disabled:not(:checked) + label:before {\n border-color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"radio\"]:disabled:checked + label:after {\n background-color: rgba(0, 0, 0, 0.26);\n border-color: #BDBDBD;\n}\n\n/***************\n Checkboxes\n***************/\n/* CUSTOM CSS CHECKBOXES */\nform p {\n margin-bottom: 10px;\n text-align: left;\n}\n\nform p:last-child {\n margin-bottom: 0;\n}\n\n/* Remove default checkbox */\n[type=\"checkbox\"]:not(:checked),\n[type=\"checkbox\"]:checked {\n position: absolute;\n left: -9999px;\n visibility: hidden;\n}\n\n[type=\"checkbox\"] {\n /* checkbox aspect */\n}\n\n[type=\"checkbox\"] + label {\n position: relative;\n padding-left: 35px;\n cursor: pointer;\n display: inline-block;\n height: 25px;\n line-height: 25px;\n font-size: 1rem;\n -webkit-user-select: none;\n /* webkit (safari, chrome) browsers */\n -moz-user-select: none;\n /* mozilla browsers */\n -khtml-user-select: none;\n /* webkit (konqueror) browsers */\n -ms-user-select: none;\n /* IE10+ */\n}\n\n[type=\"checkbox\"] + label:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 18px;\n height: 18px;\n z-index: 0;\n border: 2px solid #5a5a5a;\n border-radius: 1px;\n margin-top: 2px;\n transition: .2s;\n}\n\n[type=\"checkbox\"]:not(:checked):disabled + label:before {\n border: none;\n background-color: rgba(0, 0, 0, 0.26);\n}\n\n[type=\"checkbox\"]:checked + label:before {\n top: -4px;\n left: -3px;\n width: 12px;\n height: 22px;\n border-top: 2px solid transparent;\n border-left: 2px solid transparent;\n border-right: 2px solid #26a69a;\n border-bottom: 2px solid #26a69a;\n -webkit-transform: rotate(40deg);\n transform: rotate(40deg);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-origin: 100% 100%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"]:checked:disabled + label:before {\n border-right: 2px solid rgba(0, 0, 0, 0.26);\n border-bottom: 2px solid rgba(0, 0, 0, 0.26);\n}\n\n/* Indeterminate checkbox */\n[type=\"checkbox\"]:indeterminate + label:before {\n left: -10px;\n top: -11px;\n width: 10px;\n height: 22px;\n border-top: none;\n border-left: none;\n border-right: 2px solid #26a69a;\n border-bottom: none;\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-origin: 100% 100%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"]:indeterminate:disabled + label:before {\n border-right: 2px solid rgba(0, 0, 0, 0.26);\n background-color: transparent;\n}\n\n[type=\"checkbox\"].filled-in + label:after {\n border-radius: 2px;\n}\n\n[type=\"checkbox\"].filled-in + label:before,\n[type=\"checkbox\"].filled-in + label:after {\n content: '';\n left: 0;\n position: absolute;\n /* .1s delay is for check animation */\n transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;\n z-index: 1;\n}\n\n[type=\"checkbox\"].filled-in:not(:checked) + label:before {\n width: 0;\n height: 0;\n border: 3px solid transparent;\n left: 6px;\n top: 10px;\n -webkit-transform: rotateZ(37deg);\n transform: rotateZ(37deg);\n -webkit-transform-origin: 20% 40%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"].filled-in:not(:checked) + label:after {\n height: 20px;\n width: 20px;\n background-color: transparent;\n border: 2px solid #5a5a5a;\n top: 0px;\n z-index: 0;\n}\n\n[type=\"checkbox\"].filled-in:checked + label:before {\n top: 0;\n left: 1px;\n width: 8px;\n height: 13px;\n border-top: 2px solid transparent;\n border-left: 2px solid transparent;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n -webkit-transform: rotateZ(37deg);\n transform: rotateZ(37deg);\n -webkit-transform-origin: 100% 100%;\n transform-origin: 100% 100%;\n}\n\n[type=\"checkbox\"].filled-in:checked + label:after {\n top: 0px;\n width: 20px;\n height: 20px;\n border: 2px solid #26a69a;\n background-color: #26a69a;\n z-index: 0;\n}\n\n[type=\"checkbox\"].filled-in:disabled:not(:checked) + label:before {\n background-color: transparent;\n border: 2px solid transparent;\n}\n\n[type=\"checkbox\"].filled-in:disabled:not(:checked) + label:after {\n border-color: transparent;\n background-color: #BDBDBD;\n}\n\n[type=\"checkbox\"].filled-in:disabled:checked + label:before {\n background-color: transparent;\n}\n\n[type=\"checkbox\"].filled-in:disabled:checked + label:after {\n background-color: #BDBDBD;\n border-color: #BDBDBD;\n}\n\n/***************\n Switch\n***************/\n.switch,\n.switch * {\n -webkit-user-select: none;\n -moz-user-select: none;\n -khtml-user-select: none;\n -ms-user-select: none;\n}\n\n.switch label {\n cursor: pointer;\n}\n\n.switch label input[type=checkbox] {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.switch label input[type=checkbox]:checked + .lever {\n background-color: #84c7c1;\n}\n\n.switch label input[type=checkbox]:checked + .lever:after {\n background-color: #26a69a;\n}\n\n.switch label .lever {\n content: \"\";\n display: inline-block;\n position: relative;\n width: 40px;\n height: 15px;\n background-color: #818181;\n border-radius: 15px;\n margin-right: 10px;\n transition: background 0.3s ease;\n vertical-align: middle;\n margin: 0 16px;\n}\n\n.switch label .lever:after {\n content: \"\";\n position: absolute;\n display: inline-block;\n width: 21px;\n height: 21px;\n background-color: #F1F1F1;\n border-radius: 21px;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);\n left: -5px;\n top: -3px;\n transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease;\n}\n\ninput[type=checkbox]:checked:not(:disabled) ~ .lever:active:after {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(38, 166, 154, 0.1);\n}\n\ninput[type=checkbox]:not(:disabled) ~ .lever:active:after {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.08);\n}\n\n.switch label input[type=checkbox]:checked + .lever:after {\n left: 24px;\n}\n\n.switch input[type=checkbox][disabled] + .lever {\n cursor: default;\n}\n\n.switch label input[type=checkbox][disabled] + .lever:after,\n.switch label input[type=checkbox][disabled]:checked + .lever:after {\n background-color: #BDBDBD;\n}\n\n/***************\n Select Field\n***************/\n.select-label {\n position: absolute;\n}\n\n.select-wrapper {\n position: relative;\n}\n\n.select-wrapper input.select-dropdown {\n position: relative;\n cursor: pointer;\n background-color: transparent;\n border: none;\n border-bottom: 1px solid #9e9e9e;\n outline: none;\n height: 3rem;\n line-height: 3rem;\n width: 100%;\n font-size: 1rem;\n margin: 0 0 15px 0;\n padding: 0;\n display: block;\n}\n\n.select-wrapper span.caret {\n color: initial;\n position: absolute;\n right: 0;\n top: 16px;\n font-size: 10px;\n}\n\n.select-wrapper span.caret.disabled {\n color: rgba(0, 0, 0, 0.26);\n}\n\n.select-wrapper + label {\n position: absolute;\n top: -14px;\n font-size: 0.8rem;\n}\n\nselect {\n display: none;\n}\n\nselect.browser-default {\n display: block;\n}\n\nselect:disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.select-wrapper input.select-dropdown:disabled {\n color: rgba(0, 0, 0, 0.3);\n cursor: default;\n -webkit-user-select: none;\n /* webkit (safari, chrome) browsers */\n -moz-user-select: none;\n /* mozilla browsers */\n -ms-user-select: none;\n /* IE10+ */\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\n\n.select-wrapper i {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.select-dropdown li.disabled,\n.select-dropdown li.disabled > span,\n.select-dropdown li.optgroup {\n color: rgba(0, 0, 0, 0.3);\n background-color: transparent;\n}\n\n.select-dropdown li img {\n height: 40px;\n width: 40px;\n margin: 5px 15px;\n float: right;\n}\n\n.select-dropdown li.optgroup {\n border-top: 1px solid #eee;\n}\n\n.select-dropdown li.optgroup.selected > span {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.select-dropdown li.optgroup > span {\n color: rgba(0, 0, 0, 0.4);\n}\n\n.select-dropdown li.optgroup ~ li:not(.optgroup) {\n padding-left: 1rem;\n}\n\n/*********************\n File Input\n**********************/\n.file-field {\n position: relative;\n}\n\n.file-field .file-path-wrapper {\n overflow: hidden;\n padding-left: 10px;\n}\n\n.file-field input.file-path {\n width: 100%;\n}\n\n.file-field .btn, .file-field .btn-large {\n float: left;\n height: 3rem;\n line-height: 3rem;\n}\n\n.file-field span {\n cursor: pointer;\n}\n\n.file-field input[type=file] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n font-size: 20px;\n cursor: pointer;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n\n/***************\n Range\n***************/\n.range-field {\n position: relative;\n}\n\ninput[type=range], input[type=range] + .thumb {\n cursor: pointer;\n}\n\ninput[type=range] {\n position: relative;\n background-color: transparent;\n border: none;\n outline: none;\n width: 100%;\n margin: 15px 0px;\n padding: 0;\n}\n\ninput[type=range] + .thumb {\n position: absolute;\n border: none;\n height: 0;\n width: 0;\n border-radius: 50%;\n background-color: #26a69a;\n top: 10px;\n margin-left: -6px;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\ninput[type=range] + .thumb .value {\n display: block;\n width: 30px;\n text-align: center;\n color: #26a69a;\n font-size: 0;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\ninput[type=range] + .thumb.active {\n border-radius: 50% 50% 50% 0;\n}\n\ninput[type=range] + .thumb.active .value {\n color: #fff;\n margin-left: -1px;\n margin-top: 8px;\n font-size: 10px;\n}\n\ninput[type=range]:focus {\n outline: none;\n}\n\ninput[type=range] {\n -webkit-appearance: none;\n}\n\ninput[type=range]::-webkit-slider-runnable-track {\n height: 3px;\n background: #c2c0c2;\n border: none;\n}\n\ninput[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: 14px;\n width: 14px;\n border-radius: 50%;\n background-color: #26a69a;\n -webkit-transform-origin: 50% 50%;\n transform-origin: 50% 50%;\n margin: -5px 0 0 0;\n transition: .3s;\n}\n\ninput[type=range]:focus::-webkit-slider-runnable-track {\n background: #ccc;\n}\n\ninput[type=range] {\n /* fix for FF unable to apply focus style bug */\n border: 1px solid white;\n /*required for proper track sizing in FF*/\n}\n\ninput[type=range]::-moz-range-track {\n height: 3px;\n background: #ddd;\n border: none;\n}\n\ninput[type=range]::-moz-range-thumb {\n border: none;\n height: 14px;\n width: 14px;\n border-radius: 50%;\n background: #26a69a;\n margin-top: -5px;\n}\n\n/*hide the outline behind the border*/\ninput[type=range]:-moz-focusring {\n outline: 1px solid white;\n outline-offset: -1px;\n}\n\ninput[type=range]:focus::-moz-range-track {\n background: #ccc;\n}\n\ninput[type=range]::-ms-track {\n height: 3px;\n /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n background: transparent;\n /*leave room for the larger thumb to overflow with a transparent border */\n border-color: transparent;\n border-width: 6px 0;\n /*remove default tick marks*/\n color: transparent;\n}\n\ninput[type=range]::-ms-fill-lower {\n background: #777;\n}\n\ninput[type=range]::-ms-fill-upper {\n background: #ddd;\n}\n\ninput[type=range]::-ms-thumb {\n border: none;\n height: 14px;\n width: 14px;\n border-radius: 50%;\n background: #26a69a;\n}\n\ninput[type=range]:focus::-ms-fill-lower {\n background: #888;\n}\n\ninput[type=range]:focus::-ms-fill-upper {\n background: #ccc;\n}\n\n/***************************\n Text Inputs + Textarea\n****************************/\nselect {\n background-color: rgba(255, 255, 255, 0.9);\n width: 100%;\n padding: 5px;\n border: 1px solid #f2f2f2;\n border-radius: 2px;\n height: 3rem;\n}\n\n/***************\n Nav List\n***************/\n.table-of-contents.fixed {\n position: fixed;\n}\n\n.table-of-contents li {\n padding: 2px 0;\n}\n\n.table-of-contents a {\n display: inline-block;\n font-weight: 300;\n color: #757575;\n padding-left: 20px;\n height: 1.5rem;\n line-height: 1.5rem;\n letter-spacing: .4;\n display: inline-block;\n}\n\n.table-of-contents a:hover {\n color: #a8a8a8;\n padding-left: 19px;\n border-left: 1px solid #ea4a4f;\n}\n\n.table-of-contents a.active {\n font-weight: 500;\n padding-left: 18px;\n border-left: 2px solid #ea4a4f;\n}\n\n.side-nav {\n position: fixed;\n width: 240px;\n left: -105%;\n top: 0;\n margin: 0;\n height: 100%;\n height: calc(100% + 60px);\n height: -moz-calc(100%);\n padding-bottom: 60px;\n background-color: #fff;\n z-index: 999;\n overflow-y: auto;\n will-change: left;\n}\n\n.side-nav.right-aligned {\n will-change: right;\n right: -105%;\n left: auto;\n}\n\n.side-nav .collapsible {\n margin: 0;\n}\n\n.side-nav li {\n float: none;\n padding: 0 15px;\n line-height: 64px;\n}\n\n.side-nav li:hover, .side-nav li.active {\n background-color: #ddd;\n}\n\n.side-nav a {\n color: #444;\n display: block;\n font-size: 1rem;\n height: 64px;\n line-height: 64px;\n padding: 0 15px;\n}\n\n.drag-target {\n height: 100%;\n width: 10px;\n position: fixed;\n top: 0;\n z-index: 998;\n}\n\n.side-nav.fixed a {\n display: block;\n padding: 0 15px;\n color: #444;\n}\n\n.side-nav.fixed {\n left: 0;\n position: fixed;\n}\n\n.side-nav.fixed.right-aligned {\n right: 0;\n left: auto;\n}\n\n@media only screen and (max-width: 992px) {\n .side-nav.fixed {\n left: -105%;\n }\n .side-nav.fixed.right-aligned {\n right: -105%;\n left: auto;\n }\n}\n\n.side-nav .collapsible-body li.active,\n.side-nav.fixed .collapsible-body li.active {\n background-color: #ee6e73;\n}\n\n.side-nav .collapsible-body li.active a,\n.side-nav.fixed .collapsible-body li.active a {\n color: #fff;\n}\n\n#sidenav-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 120vh;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 997;\n will-change: opacity;\n}\n\n/*\n @license\n Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n Code distributed by Google as part of the polymer project is also\n subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n/**************************/\n/* STYLES FOR THE SPINNER */\n/**************************/\n/*\n * Constants:\n * STROKEWIDTH = 3px\n * ARCSIZE = 270 degrees (amount of circle the arc takes up)\n * ARCTIME = 1333ms (time it takes to expand and contract arc)\n * ARCSTARTROT = 216 degrees (how much the start location of the arc\n * should rotate each time, 216 gives us a\n * 5 pointed star shape (it's 360/5 * 3).\n * For a 7 pointed star, we might do\n * 360/7 * 3 = 154.286)\n * CONTAINERWIDTH = 28px\n * SHRINK_TIME = 400ms\n */\n.preloader-wrapper {\n display: inline-block;\n position: relative;\n width: 48px;\n height: 48px;\n}\n\n.preloader-wrapper.small {\n width: 36px;\n height: 36px;\n}\n\n.preloader-wrapper.big {\n width: 64px;\n height: 64px;\n}\n\n.preloader-wrapper.active {\n /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */\n -webkit-animation: container-rotate 1568ms linear infinite;\n animation: container-rotate 1568ms linear infinite;\n}\n\n@-webkit-keyframes container-rotate {\n to {\n -webkit-transform: rotate(360deg);\n }\n}\n\n@keyframes container-rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n border-color: #26a69a;\n}\n\n.spinner-blue,\n.spinner-blue-only {\n border-color: #4285f4;\n}\n\n.spinner-red,\n.spinner-red-only {\n border-color: #db4437;\n}\n\n.spinner-yellow,\n.spinner-yellow-only {\n border-color: #f4b400;\n}\n\n.spinner-green,\n.spinner-green-only {\n border-color: #0f9d58;\n}\n\n/**\n * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):\n *\n * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't\n * guarantee that the animation will start _exactly_ after that value. So we avoid using\n * animation-delay and instead set custom keyframes for each color (as redundant as it\n * seems).\n *\n * We write out each animation in full (instead of separating animation-name,\n * animation-duration, etc.) because under the polyfill, Safari does not recognize those\n * specific properties properly, treats them as -webkit-animation, and overrides the\n * other animation rules. See https://github.com/Polymer/platform/issues/53.\n */\n.active .spinner-layer.spinner-blue {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer.spinner-red {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer.spinner-yellow {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer.spinner-green {\n /* durations: 4 * ARCTIME */\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .spinner-layer,\n.active .spinner-layer.spinner-blue-only,\n.active .spinner-layer.spinner-red-only,\n.active .spinner-layer.spinner-yellow-only,\n.active .spinner-layer.spinner-green-only {\n /* durations: 4 * ARCTIME */\n opacity: 1;\n -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n@-webkit-keyframes fill-unfill-rotate {\n 12.5% {\n -webkit-transform: rotate(135deg);\n }\n /* 0.5 * ARCSIZE */\n 25% {\n -webkit-transform: rotate(270deg);\n }\n /* 1 * ARCSIZE */\n 37.5% {\n -webkit-transform: rotate(405deg);\n }\n /* 1.5 * ARCSIZE */\n 50% {\n -webkit-transform: rotate(540deg);\n }\n /* 2 * ARCSIZE */\n 62.5% {\n -webkit-transform: rotate(675deg);\n }\n /* 2.5 * ARCSIZE */\n 75% {\n -webkit-transform: rotate(810deg);\n }\n /* 3 * ARCSIZE */\n 87.5% {\n -webkit-transform: rotate(945deg);\n }\n /* 3.5 * ARCSIZE */\n to {\n -webkit-transform: rotate(1080deg);\n }\n /* 4 * ARCSIZE */\n}\n\n@keyframes fill-unfill-rotate {\n 12.5% {\n -webkit-transform: rotate(135deg);\n transform: rotate(135deg);\n }\n /* 0.5 * ARCSIZE */\n 25% {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n }\n /* 1 * ARCSIZE */\n 37.5% {\n -webkit-transform: rotate(405deg);\n transform: rotate(405deg);\n }\n /* 1.5 * ARCSIZE */\n 50% {\n -webkit-transform: rotate(540deg);\n transform: rotate(540deg);\n }\n /* 2 * ARCSIZE */\n 62.5% {\n -webkit-transform: rotate(675deg);\n transform: rotate(675deg);\n }\n /* 2.5 * ARCSIZE */\n 75% {\n -webkit-transform: rotate(810deg);\n transform: rotate(810deg);\n }\n /* 3 * ARCSIZE */\n 87.5% {\n -webkit-transform: rotate(945deg);\n transform: rotate(945deg);\n }\n /* 3.5 * ARCSIZE */\n to {\n -webkit-transform: rotate(1080deg);\n transform: rotate(1080deg);\n }\n /* 4 * ARCSIZE */\n}\n\n@-webkit-keyframes blue-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes blue-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n\n@-webkit-keyframes red-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n\n@keyframes red-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n\n@-webkit-keyframes yellow-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n\n@keyframes yellow-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n\n@-webkit-keyframes green-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n@keyframes green-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/**\n * Patch the gap that appear between the two adjacent div.circle-clipper while the\n * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).\n */\n.gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n\n.gap-patch .circle {\n width: 1000%;\n left: -450%;\n}\n\n.circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n\n.circle-clipper .circle {\n width: 200%;\n height: 100%;\n border-width: 3px;\n /* STROKEWIDTH */\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n -webkit-animation: none;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n}\n\n.circle-clipper.left .circle {\n left: 0;\n border-right-color: transparent !important;\n -webkit-transform: rotate(129deg);\n transform: rotate(129deg);\n}\n\n.circle-clipper.right .circle {\n left: -100%;\n border-left-color: transparent !important;\n -webkit-transform: rotate(-129deg);\n transform: rotate(-129deg);\n}\n\n.active .circle-clipper.left .circle {\n /* duration: ARCTIME */\n -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n.active .circle-clipper.right .circle {\n /* duration: ARCTIME */\n -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n\n@-webkit-keyframes left-spin {\n from {\n -webkit-transform: rotate(130deg);\n }\n 50% {\n -webkit-transform: rotate(-5deg);\n }\n to {\n -webkit-transform: rotate(130deg);\n }\n}\n\n@keyframes left-spin {\n from {\n -webkit-transform: rotate(130deg);\n transform: rotate(130deg);\n }\n 50% {\n -webkit-transform: rotate(-5deg);\n transform: rotate(-5deg);\n }\n to {\n -webkit-transform: rotate(130deg);\n transform: rotate(130deg);\n }\n}\n\n@-webkit-keyframes right-spin {\n from {\n -webkit-transform: rotate(-130deg);\n }\n 50% {\n -webkit-transform: rotate(5deg);\n }\n to {\n -webkit-transform: rotate(-130deg);\n }\n}\n\n@keyframes right-spin {\n from {\n -webkit-transform: rotate(-130deg);\n transform: rotate(-130deg);\n }\n 50% {\n -webkit-transform: rotate(5deg);\n transform: rotate(5deg);\n }\n to {\n -webkit-transform: rotate(-130deg);\n transform: rotate(-130deg);\n }\n}\n\n#spinnerContainer.cooldown {\n /* duration: SHRINK_TIME */\n -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);\n animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@-webkit-keyframes fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@keyframes fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n.slider {\n position: relative;\n height: 400px;\n width: 100%;\n}\n\n.slider.fullscreen {\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.slider.fullscreen ul.slides {\n height: 100%;\n}\n\n.slider.fullscreen ul.indicators {\n z-index: 2;\n bottom: 30px;\n}\n\n.slider .slides {\n background-color: #9e9e9e;\n margin: 0;\n height: 400px;\n}\n\n.slider .slides li {\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: inherit;\n overflow: hidden;\n}\n\n.slider .slides li img {\n height: 100%;\n width: 100%;\n background-size: cover;\n background-position: center;\n}\n\n.slider .slides li .caption {\n color: #fff;\n position: absolute;\n top: 15%;\n left: 15%;\n width: 70%;\n opacity: 0;\n}\n\n.slider .slides li .caption p {\n color: #e0e0e0;\n}\n\n.slider .slides li.active {\n z-index: 2;\n}\n\n.slider .indicators {\n position: absolute;\n text-align: center;\n left: 0;\n right: 0;\n bottom: 0;\n margin: 0;\n}\n\n.slider .indicators .indicator-item {\n display: inline-block;\n position: relative;\n cursor: pointer;\n height: 16px;\n width: 16px;\n margin: 0 12px;\n background-color: #e0e0e0;\n transition: background-color .3s;\n border-radius: 50%;\n}\n\n.slider .indicators .indicator-item.active {\n background-color: #4CAF50;\n}\n\n.carousel {\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 400px;\n -webkit-perspective: 500px;\n perspective: 500px;\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n -webkit-transform-origin: 0% 50%;\n transform-origin: 0% 50%;\n}\n\n.carousel .carousel-item {\n width: 200px;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.carousel .carousel-item img {\n width: 100%;\n}\n\n.carousel.carousel-slider {\n top: 0;\n left: 0;\n height: 0;\n}\n\n.carousel.carousel-slider .carousel-item {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n/* ==========================================================================\n $BASE-PICKER\n ========================================================================== */\n/**\n * Note: the root picker element should *NOT* be styled more than what's here.\n */\n.picker {\n font-size: 16px;\n text-align: left;\n line-height: 1.2;\n color: #000000;\n position: absolute;\n z-index: 10000;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/**\n * The picker input element.\n */\n.picker__input {\n cursor: default;\n}\n\n/**\n * When the picker is opened, the input element is \"activated\".\n */\n.picker__input.picker__input--active {\n border-color: #0089ec;\n}\n\n/**\n * The holder is the only \"scrollable\" top-level container element.\n */\n.picker__holder {\n width: 100%;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n/*!\n * Default mobile-first, responsive styling for pickadate.js\n * Demo: http://amsul.github.io/pickadate.js\n */\n/**\n * Note: the root picker element should *NOT* be styled more than what's here.\n */\n/**\n * Make the holder and frame fullscreen.\n */\n.picker__holder,\n.picker__frame {\n bottom: 0;\n left: 0;\n right: 0;\n top: 100%;\n}\n\n/**\n * The holder should overlay the entire screen.\n */\n.picker__holder {\n position: fixed;\n transition: background 0.15s ease-out, top 0s 0.15s;\n -webkit-backface-visibility: hidden;\n}\n\n/**\n * The frame that bounds the box contents of the picker.\n */\n.picker__frame {\n position: absolute;\n margin: 0 auto;\n min-width: 256px;\n width: 300px;\n max-height: 350px;\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n filter: alpha(opacity=0);\n -moz-opacity: 0;\n opacity: 0;\n transition: all 0.15s ease-out;\n}\n\n@media (min-height: 28.875em) {\n .picker__frame {\n overflow: visible;\n top: auto;\n bottom: -100%;\n max-height: 80%;\n }\n}\n\n@media (min-height: 40.125em) {\n .picker__frame {\n margin-bottom: 7.5%;\n }\n}\n\n/**\n * The wrapper sets the stage to vertically align the box contents.\n */\n.picker__wrap {\n display: table;\n width: 100%;\n height: 100%;\n}\n\n@media (min-height: 28.875em) {\n .picker__wrap {\n display: block;\n }\n}\n\n/**\n * The box contains all the picker contents.\n */\n.picker__box {\n background: #ffffff;\n display: table-cell;\n vertical-align: middle;\n}\n\n@media (min-height: 28.875em) {\n .picker__box {\n display: block;\n border: 1px solid #777777;\n border-top-color: #898989;\n border-bottom-width: 0;\n border-radius: 5px 5px 0 0;\n box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);\n }\n}\n\n/**\n * When the picker opens...\n */\n.picker--opened .picker__holder {\n top: 0;\n background: transparent;\n -ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)\";\n zoom: 1;\n background: rgba(0, 0, 0, 0.32);\n transition: background 0.15s ease-out;\n}\n\n.picker--opened .picker__frame {\n top: 0;\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n filter: alpha(opacity=100);\n -moz-opacity: 1;\n opacity: 1;\n}\n\n@media (min-height: 35.875em) {\n .picker--opened .picker__frame {\n top: 10%;\n bottom: 20%auto;\n }\n}\n\n/**\n * For `large` screens, transform into an inline picker.\n */\n/* ==========================================================================\n CUSTOM MATERIALIZE STYLES\n ========================================================================== */\n.picker__input.picker__input--active {\n border-color: #E3F2FD;\n}\n\n.picker__frame {\n margin: 0 auto;\n max-width: 325px;\n}\n\n@media (min-height: 38.875em) {\n .picker--opened .picker__frame {\n top: 10%;\n bottom: auto;\n }\n}\n\n/* ==========================================================================\n $BASE-DATE-PICKER\n ========================================================================== */\n/**\n * The picker box.\n */\n.picker__box {\n padding: 0 1em;\n}\n\n/**\n * The header containing the month and year stuff.\n */\n.picker__header {\n text-align: center;\n position: relative;\n margin-top: .75em;\n}\n\n/**\n * The month and year labels.\n */\n.picker__month,\n.picker__year {\n display: inline-block;\n margin-left: .25em;\n margin-right: .25em;\n}\n\n/**\n * The month and year selectors.\n */\n.picker__select--month,\n.picker__select--year {\n height: 2em;\n padding: 0;\n margin-left: .25em;\n margin-right: .25em;\n}\n\n.picker__select--month.browser-default {\n display: inline;\n background-color: #FFFFFF;\n width: 40%;\n}\n\n.picker__select--year.browser-default {\n display: inline;\n background-color: #FFFFFF;\n width: 25%;\n}\n\n.picker__select--month:focus,\n.picker__select--year:focus {\n border-color: rgba(0, 0, 0, 0.05);\n}\n\n/**\n * The month navigation buttons.\n */\n.picker__nav--prev,\n.picker__nav--next {\n position: absolute;\n padding: .5em 1.25em;\n width: 1em;\n height: 1em;\n box-sizing: content-box;\n top: -0.25em;\n}\n\n.picker__nav--prev {\n left: -1em;\n padding-right: 1.25em;\n}\n\n.picker__nav--next {\n right: -1em;\n padding-left: 1.25em;\n}\n\n.picker__nav--disabled,\n.picker__nav--disabled:hover,\n.picker__nav--disabled:before,\n.picker__nav--disabled:before:hover {\n cursor: default;\n background: none;\n border-right-color: #f5f5f5;\n border-left-color: #f5f5f5;\n}\n\n/**\n * The calendar table of dates\n */\n.picker__table {\n text-align: center;\n border-collapse: collapse;\n border-spacing: 0;\n table-layout: fixed;\n font-size: 1rem;\n width: 100%;\n margin-top: .75em;\n margin-bottom: .5em;\n}\n\n.picker__table th, .picker__table td {\n text-align: center;\n}\n\n.picker__table td {\n margin: 0;\n padding: 0;\n}\n\n/**\n * The weekday labels\n */\n.picker__weekday {\n width: 14.285714286%;\n font-size: .75em;\n padding-bottom: .25em;\n color: #999999;\n font-weight: 500;\n /* Increase the spacing a tad */\n}\n\n@media (min-height: 33.875em) {\n .picker__weekday {\n padding-bottom: .5em;\n }\n}\n\n/**\n * The days on the calendar\n */\n.picker__day--today {\n position: relative;\n color: #595959;\n letter-spacing: -.3;\n padding: .75rem 0;\n font-weight: 400;\n border: 1px solid transparent;\n}\n\n.picker__day--disabled:before {\n border-top-color: #aaaaaa;\n}\n\n.picker__day--infocus:hover {\n cursor: pointer;\n color: #000;\n font-weight: 500;\n}\n\n.picker__day--outfocus {\n display: none;\n padding: .75rem 0;\n color: #fff;\n}\n\n.picker__day--outfocus:hover {\n cursor: pointer;\n color: #dddddd;\n font-weight: 500;\n}\n\n.picker__day--highlighted:hover,\n.picker--focused .picker__day--highlighted {\n cursor: pointer;\n}\n\n.picker__day--selected,\n.picker__day--selected:hover,\n.picker--focused .picker__day--selected {\n border-radius: 50%;\n -webkit-transform: scale(0.75);\n transform: scale(0.75);\n background: #0089ec;\n color: #ffffff;\n}\n\n.picker__day--disabled,\n.picker__day--disabled:hover,\n.picker--focused .picker__day--disabled {\n background: #f5f5f5;\n border-color: #f5f5f5;\n color: #dddddd;\n cursor: default;\n}\n\n.picker__day--highlighted.picker__day--disabled,\n.picker__day--highlighted.picker__day--disabled:hover {\n background: #bbbbbb;\n}\n\n/**\n * The footer containing the \"today\", \"clear\", and \"close\" buttons.\n */\n.picker__footer {\n text-align: center;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: space-between;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.picker__button--today,\n.picker__button--clear,\n.picker__button--close {\n border: 1px solid #ffffff;\n background: #ffffff;\n font-size: .8em;\n padding: .66em 0;\n font-weight: bold;\n width: 33%;\n display: inline-block;\n vertical-align: bottom;\n}\n\n.picker__button--today:hover,\n.picker__button--clear:hover,\n.picker__button--close:hover {\n cursor: pointer;\n color: #000000;\n background: #b1dcfb;\n border-bottom-color: #b1dcfb;\n}\n\n.picker__button--today:focus,\n.picker__button--clear:focus,\n.picker__button--close:focus {\n background: #b1dcfb;\n border-color: rgba(0, 0, 0, 0.05);\n outline: none;\n}\n\n.picker__button--today:before,\n.picker__button--clear:before,\n.picker__button--close:before {\n position: relative;\n display: inline-block;\n height: 0;\n}\n\n.picker__button--today:before,\n.picker__button--clear:before {\n content: \" \";\n margin-right: .45em;\n}\n\n.picker__button--today:before {\n top: -0.05em;\n width: 0;\n border-top: 0.66em solid #0059bc;\n border-left: .66em solid transparent;\n}\n\n.picker__button--clear:before {\n top: -0.25em;\n width: .66em;\n border-top: 3px solid #ee2200;\n}\n\n.picker__button--close:before {\n content: \"\\D7\";\n top: -0.1em;\n vertical-align: top;\n font-size: 1.1em;\n margin-right: .35em;\n color: #777777;\n}\n\n.picker__button--today[disabled],\n.picker__button--today[disabled]:hover {\n background: #f5f5f5;\n border-color: #f5f5f5;\n color: #dddddd;\n cursor: default;\n}\n\n.picker__button--today[disabled]:before {\n border-top-color: #aaaaaa;\n}\n\n/* ==========================================================================\n CUSTOM MATERIALIZE STYLES\n ========================================================================== */\n.picker__box {\n border-radius: 2px;\n overflow: hidden;\n}\n\n.picker__date-display {\n text-align: center;\n background-color: #26a69a;\n color: #fff;\n padding-bottom: 15px;\n font-weight: 300;\n}\n\n.picker__nav--prev:hover,\n.picker__nav--next:hover {\n cursor: pointer;\n color: #000000;\n background: #a1ded8;\n}\n\n.picker__weekday-display {\n background-color: #1f897f;\n padding: 10px;\n font-weight: 200;\n letter-spacing: .5;\n font-size: 1rem;\n margin-bottom: 15px;\n}\n\n.picker__month-display {\n text-transform: uppercase;\n font-size: 2rem;\n}\n\n.picker__day-display {\n font-size: 4.5rem;\n font-weight: 400;\n}\n\n.picker__year-display {\n font-size: 1.8rem;\n color: rgba(255, 255, 255, 0.4);\n}\n\n.picker__box {\n padding: 0;\n}\n\n.picker__calendar-container {\n padding: 0 1rem;\n}\n\n.picker__calendar-container thead {\n border: none;\n}\n\n.picker__table {\n margin-top: 0;\n margin-bottom: .5em;\n}\n\n.picker__day--infocus {\n color: #595959;\n letter-spacing: -.3;\n padding: .75rem 0;\n font-weight: 400;\n border: 1px solid transparent;\n}\n\n.picker__day.picker__day--today {\n color: #26a69a;\n}\n\n.picker__day.picker__day--today.picker__day--selected {\n color: #fff;\n}\n\n.picker__weekday {\n font-size: .9rem;\n}\n\n.picker__day--selected,\n.picker__day--selected:hover,\n.picker--focused .picker__day--selected {\n border-radius: 50%;\n -webkit-transform: scale(0.9);\n transform: scale(0.9);\n background-color: #26a69a;\n color: #ffffff;\n}\n\n.picker__day--selected.picker__day--outfocus,\n.picker__day--selected:hover.picker__day--outfocus,\n.picker--focused .picker__day--selected.picker__day--outfocus {\n background-color: #a1ded8;\n}\n\n.picker__footer {\n text-align: right;\n padding: 5px 10px;\n}\n\n.picker__close, .picker__today {\n font-size: 1.1rem;\n padding: 0 1rem;\n color: #26a69a;\n}\n\n.picker__nav--prev:before,\n.picker__nav--next:before {\n content: \" \";\n border-top: .5em solid transparent;\n border-bottom: .5em solid transparent;\n border-right: 0.75em solid #676767;\n width: 0;\n height: 0;\n display: block;\n margin: 0 auto;\n}\n\n.picker__nav--next:before {\n border-right: 0;\n border-left: 0.75em solid #676767;\n}\n\nbutton.picker__today:focus, button.picker__clear:focus, button.picker__close:focus {\n background-color: #a1ded8;\n}\n\n/* ==========================================================================\n $BASE-TIME-PICKER\n ========================================================================== */\n/**\n * The list of times.\n */\n.picker__list {\n list-style: none;\n padding: 0.75em 0 4.2em;\n margin: 0;\n}\n\n/**\n * The times on the clock.\n */\n.picker__list-item {\n border-bottom: 1px solid #dddddd;\n border-top: 1px solid #dddddd;\n margin-bottom: -1px;\n position: relative;\n background: #ffffff;\n padding: .75em 1.25em;\n}\n\n@media (min-height: 46.75em) {\n .picker__list-item {\n padding: .5em 1em;\n }\n}\n\n/* Hovered time */\n.picker__list-item:hover {\n cursor: pointer;\n color: #000000;\n background: #b1dcfb;\n border-color: #0089ec;\n z-index: 10;\n}\n\n/* Highlighted and hovered/focused time */\n.picker__list-item--highlighted {\n border-color: #0089ec;\n z-index: 10;\n}\n\n.picker__list-item--highlighted:hover,\n.picker--focused .picker__list-item--highlighted {\n cursor: pointer;\n color: #000000;\n background: #b1dcfb;\n}\n\n/* Selected and hovered/focused time */\n.picker__list-item--selected,\n.picker__list-item--selected:hover,\n.picker--focused .picker__list-item--selected {\n background: #0089ec;\n color: #ffffff;\n z-index: 10;\n}\n\n/* Disabled time */\n.picker__list-item--disabled,\n.picker__list-item--disabled:hover,\n.picker--focused .picker__list-item--disabled {\n background: #f5f5f5;\n border-color: #f5f5f5;\n color: #dddddd;\n cursor: default;\n border-color: #dddddd;\n z-index: auto;\n}\n\n/**\n * The clear button\n */\n.picker--time .picker__button--clear {\n display: block;\n width: 80%;\n margin: 1em auto 0;\n padding: 1em 1.25em;\n background: none;\n border: 0;\n font-weight: 500;\n font-size: .67em;\n text-align: center;\n text-transform: uppercase;\n color: #666;\n}\n\n.picker--time .picker__button--clear:hover,\n.picker--time .picker__button--clear:focus {\n color: #000000;\n background: #b1dcfb;\n background: #ee2200;\n border-color: #ee2200;\n cursor: pointer;\n color: #ffffff;\n outline: none;\n}\n\n.picker--time .picker__button--clear:before {\n top: -0.25em;\n color: #666;\n font-size: 1.25em;\n font-weight: bold;\n}\n\n.picker--time .picker__button--clear:hover:before,\n.picker--time .picker__button--clear:focus:before {\n color: #ffffff;\n}\n\n/* ==========================================================================\n $DEFAULT-TIME-PICKER\n ========================================================================== */\n/**\n * The frame the bounds the time picker.\n */\n.picker--time .picker__frame {\n min-width: 256px;\n max-width: 320px;\n}\n\n/**\n * The picker box.\n */\n.picker--time .picker__box {\n font-size: 1em;\n background: #f2f2f2;\n padding: 0;\n}\n\n@media (min-height: 40.125em) {\n .picker--time .picker__box {\n margin-bottom: 5em;\n }\n}\n","[data-badge^=\"1\"]:after,\n[data-badge^=\"2\"]:after,\n[data-badge^=\"3\"]:after,\n[data-badge^=\"4\"]:after,\n[data-badge^=\"5\"]:after,\n[data-badge^=\"6\"]:after,\n[data-badge^=\"7\"]:after,\n[data-badge^=\"8\"]:after,\n[data-badge^=\"9\"]:after {\n content: attr(data-badge);\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-align-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 3px;\n right: 3px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-weight: 600;\n font-size: 12px;\n width: 19px;\n height: 19px;\n border-radius: 50%;\n background: #ff8532;\n color: #fff;\n}\n#about [data-badge^=\"1\"]:after,\n#about [data-badge^=\"2\"]:after,\n#about [data-badge^=\"3\"]:after,\n#about [data-badge^=\"4\"]:after,\n#about [data-badge^=\"5\"]:after,\n#about [data-badge^=\"6\"]:after,\n#about [data-badge^=\"7\"]:after,\n#about [data-badge^=\"8\"]:after,\n#about [data-badge^=\"9\"]:after {\n content: attr(data-badge);\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-align-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 15px;\n right: 20px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-weight: 600;\n font-size: 12px;\n width: 19px;\n height: 19px;\n border-radius: 50%;\n background: #ff8532;\n color: #fff;\n}\n","nav li .fa {\n display: block;\n}\n#slide-out .fa {\n padding-left: 0.5rem;\n line-height: 64px;\n}\n@media screen and (max-width: 400px) {\n nav li .fa {\n line-height: 56px;\n }\n}\n",".mdi-navigation-menu {\n padding-left: 0.5rem;\n}\n#slide-out .card {\n margin: 0;\n}\n#slide-out .card img {\n height: 140px;\n}\n#slide-out .card-title {\n left: 0;\n top: -25px;\n width: 100%;\n height: 100%;\n}\n#slide-out .card-title span {\n display: block;\n line-height: 30px;\n}\n#slide-out .card-title .menu-title {\n font-weight: bold;\n}\n#slide-out .card-title .menu-speach {\n font-size: 1rem;\n line-height: 20px;\n}\n#slide-out .card-title .menu-footer {\n font-size: 1rem;\n line-height: 20px;\n position: relative;\n bottom: -45px;\n left: 145px;\n}\n#slide-out i {\n color: #1a687f;\n width: 5rem;\n float: left;\n}\n#slide-out a {\n padding-left: 7px;\n font-size: 1.5rem;\n}\n.side-nav.side-nav-icons {\n width: 5rem;\n z-index: 1000;\n box-shadow: none;\n}\n#slide-out li {\n padding: 0;\n}\nul#slide-out li:hover {\n background-color: #f0f0f0;\n}\n@media screen and (max-width: 400px) {\n #slide-out {\n width: 20rem;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n@media screen and (min-width: 400px) {\n #slide-out {\n left: 0;\n width: 0;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n #slide-out:before {\n/*background-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent)*/\n pointer-events: none;\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n width: 1rem;\n height: 100%;\n }\n #slide-out li {\n width: 20rem;\n padding: 0;\n }\n}\n.nav-wrapper a {\n padding-left: 10px;\n}\nhtml {\n background-color: #fff;\n}\nbody {\n overflow: hidden;\n}\nbody,\nmain {\n height: 100%;\n width: 100%;\n position: absolute;\n}\nhead,\nmain {\n background-color: #fff !important;\n -webkit-transition: opacity 0.3s ease-in-out;\n transition: opacity 0.3s ease-in-out;\n transform: translateZ(0);\n}\nmain {\n overflow: hidden;\n}\n.home-main {\n padding-top: 64px;\n padding-bottom: 64px;\n}\nnav {\n background-color: #1a687f;\n position: fixed;\n top: 0;\n z-index: 10;\n}\n.ui-scrollable {\n overflow: auto;\n height: 100%;\n}\n.modal .modal-footer .btn,\n.idty_card button {\n margin-right: 5px;\n}\n.small {\n font-size: 0.8rem;\n}\n.home .card.graph {\n height: inherit;\n}\n.home .card {\n text-align: center;\n height: 166px;\n}\n.home .card .fa {\n z-index: 1;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n position: absolute;\n margin-top: -5px;\n margin-left: -50%;\n color: rgba(187,234,249,0.51);\n}\n.home .card-title span {\n z-index: 2;\n position: relative;\n font-size: 3rem;\n width: 350px;\n}\n.home .card-title p {\n z-index: 2;\n position: relative;\n font-size: 1.4rem;\n line-height: 27px;\n}\n.home .card-action {\n padding: 1px;\n}\n.home .card-time .card-content {\n padding-top: 15px;\n padding-bottom: 15px;\n}\n.home .card-time .card-content .card-title p:first-child {\n margin-bottom: 9px;\n}\n#serveractions {\n width: 170px !important;\n}\n#serveractions button {\n height: 50px;\n width: 100%;\n padding-right: 0px;\n padding-left: 5px;\n}\n#serveractions i,\n#serveractions span {\n line-height: 50px;\n height: 50px;\n}\n#about {\n width: 280px !important;\n}\n#about button {\n height: 50px;\n width: 100%;\n padding-right: 0px;\n padding-left: 12px;\n text-transform: none;\n overflow: visible;\n}\n#about li {\n position: relative;\n}\n#about i,\n#about span {\n line-height: 50px;\n height: 50px;\n}\n#server_state .card-title {\n height: 53px;\n}\n#server_state i {\n font-size: 4.5rem;\n}\n.card-content {\n width: 100%;\n}\n.tabs {\n overflow: hidden;\n}\n.tabs .indicator {\n background-color: #82b6c1;\n}\n.tabs .tab a {\n color: #1a687f;\n}\n.tabs .tab a:hover {\n color: #82b6c1;\n}\n.pubkey {\n background-color: #d7edf5;\n line-height: 60px;\n}\n.pre,\n.host_listening {\n background-color: #d7edf5;\n line-height: 21px;\n padding-top: 20px;\n padding-bottom: 20px;\n}\nblockquote {\n padding-top: 10px;\n padding-bottom: 10px;\n}\nblockquote.blue {\n border-left: 5px solid #1b76bf;\n}\nblockquote.info {\n border-left: 5px solid #1b76bf;\n background-color: #fbfbff !important;\n}\n.tabs .tab.disabled a {\n color: #9ea8ac;\n}\n#card-logs {\n position: fixed;\n margin: 0;\n width: 90%;\n}\n#card-logs label {\n margin-right: 30px;\n}\n#logs {\n font-size: 12px;\n padding: 10px;\n padding-top: 200px;\n margin: 0;\n overflow: auto;\n height: 100%;\n}\n#logs p {\n line-height: 21px;\n margin-top: 0;\n margin-bottom: 0;\n}\n#follow-logs {\n float: right;\n}\n.log-level.info {\n color: #00f;\n}\n.log-level.warn {\n color: #c9c826;\n}\n.log-level.error {\n color: #f00;\n}\n.log-level.debug {\n color: #0ff;\n}\n.log-level.trace {\n color: #d0f;\n}\n.log-msg.info {\n background-color: none;\n}\n.log-msg.warn {\n background-color: #fffe99;\n}\n.log-msg.error {\n background-color: #f8d5d2;\n}\n.log-msg.debug {\n background-color: rgba(29,255,255,0.23);\n}\n.log-msg.trace {\n background-color: rgba(217,0,255,0.14);\n}\n.log-time {\n color: #888;\n}\n.network-alert .card-content p {\n margin-top: 10px;\n margin-bottom: 20px;\n}\n#about_card {\n border: 0;\n box-shadow: none;\n padding-top: 30px;\n}\n#about_card .card-image {\n width: 170px;\n margin-left: auto;\n margin-right: auto;\n}\n#about_card a {\n margin-right: 25px;\n}\n#about_card a span {\n position: relative;\n top: -4px;\n left: 5px;\n}\n.currency {\n background-color: #699cab;\n margin: 0;\n padding: 5px;\n}\n.currency h1 {\n text-align: center;\n font-size: 18px;\n margin: 0;\n color: #fff;\n}\n.card.sync .iconic.card-title {\n padding-top: 15px;\n height: 83px;\n}\n.card.sync .iconic.card-title i {\n font-size: 4.5rem;\n}\n.card.sync .card-content {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.card.sync .card-content p {\n font-size: 16px;\n}\n.card.sync .card-content .progress {\n margin-bottom: 10px;\n}\n.file-field.input-field {\n margin-top: 0;\n}\n.file-field .btn-large,\n.btn-large input {\n height: 54px !important;\n line-height: 56px !important;\n}\n.pre a {\n color: #039be5 !important;\n text-transform: none !important;\n}\n.proof-card .card-content {\n padding-top: 18px !important;\n padding-bottom: 10px !important;\n}\n.proof-card .card-content .proof-mesure {\n font-size: 1.5em;\n line-height: 30px;\n}\n.proof-card .card-content .proof-unit {\n text-align: center;\n width: 100%;\n display: block;\n font-size: 0.7em;\n line-height: 20px;\n}\n.proof-card .card-action p.hash {\n height: 10px;\n}\n.proof-card .card-action .progress {\n width: 70px !important;\n margin-left: auto;\n margin-right: auto;\n}\n.button-cancel {\n float: left;\n}\n.button-next {\n float: right;\n}\n.common-network {\n border-left: 9px solid rgba(0,0,0,0.12);\n}\n.common-network h1 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.upnp {\n line-height: 76px;\n}\n.modules blockquote {\n margin-bottom: 5px;\n}\n.modules span.badge {\n margin-right: 120px;\n}\n.modules span.badge:after {\n content: \"\" !important;\n}\n.modules blockquote a {\n font-weight: bold !important;\n text-transform: none !important;\n color: #dc6f1d !important;\n}\n.modules blockquote a.close {\n padding-top: 10px;\n}\n.modules li.collection-item {\n padding: 20px 20px;\n}\n.modules li .installing {\n margin-top: 30px !important;\n margin-bottom: 0 !important;\n}\n.modules li .installing h5 {\n margin-left: 50px;\n margin-top: 0;\n}\n.install_package .input-field {\n margin-top: 0;\n}\n",".mdi-navigation-menu {\n padding-left: 0.5rem;\n}\n#slide-out .card {\n margin: 0;\n}\n#slide-out .card img {\n height: 140px;\n}\n#slide-out .card-title {\n left: 0;\n top: -25px;\n width: 100%;\n height: 100%;\n}\n#slide-out .card-title span {\n display: block;\n line-height: 30px;\n}\n#slide-out .card-title .menu-title {\n font-weight: bold;\n}\n#slide-out .card-title .menu-speach {\n font-size: 1rem;\n line-height: 20px;\n}\n#slide-out .card-title .menu-footer {\n font-size: 1rem;\n line-height: 20px;\n position: relative;\n bottom: -45px;\n left: 145px;\n}\n#slide-out i {\n color: #1a687f;\n width: 5rem;\n float: left;\n}\n#slide-out a {\n padding-left: 7px;\n font-size: 1.5rem;\n}\n.side-nav.side-nav-icons {\n width: 5rem;\n z-index: 1000;\n box-shadow: none;\n}\n#slide-out li {\n padding: 0;\n}\nul#slide-out li:hover {\n background-color: #f0f0f0;\n}\n@media screen and (max-width: 400px) {\n #slide-out {\n width: 20rem;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n@media screen and (min-width: 400px) {\n #slide-out {\n left: 0;\n width: 0;\n background-color: #fff;\n max-width: 95%;\n -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n #slide-out:before {\n/*background-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent)*/\n pointer-events: none;\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n width: 1rem;\n height: 100%;\n }\n #slide-out li {\n width: 20rem;\n padding: 0;\n }\n}\n.nav-wrapper a {\n padding-left: 10px;\n}\n",""]} \ No newline at end of file diff --git a/public/app.js b/public/app.js index 082eb1bd12678a93a1a1ab4491b6749d344212a7..176e426d20625c54a8dd3bf6f1350a4a67a46442 100644 --- a/public/app.js +++ b/public/app.js @@ -1745,7 +1745,7 @@ module.exports = function ($scope, $http, $state, $interval, $timeout, UIUtils, var interval = void 0; $scope.hasAccess = hasAccess; - $scope.module_to_install = 'file:../duniter-ui-cesium'; + $scope.module_to_install = ''; $scope.installing = false; $scope.showWarning = function () { @@ -1884,7 +1884,8 @@ module.exports = function ($scope, $http, $state, $interval, $timeout, UIUtils, return { name: m.name, fullName: [m.name, m.version].join('@'), - disabled: !$scope.hasAccess, + locked: m.locked, + disabled: !$scope.hasAccess || m.locked, installing: false, installed: true }; diff --git a/public/app.js.map b/public/app.js.map index ff8b3f635bb42fb89c633e4eeaaa5ddafe73aaf7..4f722de9c980fa599fba84cb05755e3cd2f3f906 100644 --- a/public/app.js.map +++ b/public/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["app/js/controllers/AboutController.js","app/js/controllers/IndexController.js","app/js/controllers/init/create/IdentityController.js","app/js/controllers/init/create/ParametersController.js","app/js/controllers/init/create/RootBlockController.js","app/js/controllers/init/sync/SyncController.js","app/js/controllers/main/MainController.js","app/js/controllers/main/graphs/GraphsBlockchainController.js","app/js/controllers/main/graphs/GraphsController.js","app/js/controllers/main/home/HomeController.js","app/js/controllers/main/home/tabs/HomeNetworkController.js","app/js/controllers/main/home/tabs/OverviewController.js","app/js/controllers/main/settings/SettingsController.js","app/js/controllers/main/settings/tabs/BackupController.js","app/js/controllers/main/settings/tabs/CPUController.js","app/js/controllers/main/settings/tabs/CurrencyController.js","app/js/controllers/main/settings/tabs/DataController.js","app/js/controllers/main/settings/tabs/KeyController.js","app/js/controllers/main/settings/tabs/LogsController.js","app/js/controllers/main/settings/tabs/LogsSettingsController.js","app/js/controllers/main/settings/tabs/ModulesController.js","app/js/controllers/main/settings/tabs/NetworkController.js","app/js/app.config.js","app/js/application.js","app/js/lib/conf/conf.js","app/js/lib/conf/i18n/en.json","app/js/lib/conf/routes.js","app/js/lib/conf/translate.js","app/js/lib/entity/peer.js","app/js/lib/mobileDetector.js","app/js/services/base58.js","app/js/services/datetime.js","app/js/services/graphs.js","app/js/services/importer.js","app/js/services/pubkeyGenerator.js","app/js/services/ui_utils.js","app/js/services/webmin.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1DA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1BA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzNA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzLA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3MA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9JA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7PA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnDA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAxCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzFA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AArDA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3JA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlFA;AAAA;CCAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtFA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3NA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1aA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnHA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAxFA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1BA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlPA;AAAA;CCAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7DA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7CA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlPA;AAAA","file":"public/app.js","sourcesContent":["\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, version, UIUtils) {\n\n $scope.version = version;\n\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return UIUtils.translate('help.about_duniter.title');\n\n case 2:\n $scope.$parent.title = _context.sent;\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, Webmin, summary, UIUtils) {\n\n UIUtils.changeTitle(summary.version);\n\n $scope.message = 'index.message.loading';\n co(regeneratorRuntime.mark(function _callee() {\n var connected, _summary;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n connected = false;\n _context.prev = 1;\n _context.next = 4;\n return Webmin.summary();\n\n case 4:\n _summary = _context.sent;\n\n if (!_summary.current) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt('return', $state.go('main.home.overview'));\n\n case 7:\n return _context.abrupt('return', $state.go('configure.choose'));\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context['catch'](1);\n\n console.error(connected, _context.t0);\n\n if (connected) {\n _context.next = 15;\n break;\n }\n\n return _context.abrupt('return', $state.go('error', { err: 'err.connection' }));\n\n case 15:\n return _context.abrupt('return', $state.go('error', { err: _context.t0 }));\n\n case 16:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 10]]);\n }));\n};\n","\"use strict\";\n\nvar conf = require('js/lib/conf/conf');\n\nmodule.exports = function ($scope, $state, PubkeyGenerator) {\n\n setTimeout(function () {\n $('select').material_select();\n }, 500);\n\n $scope.accept = function () {\n var modal = $('#modal1');\n if (modal.css('display') == 'none') {\n $('#modal1').openModal();\n }\n };\n\n PubkeyGenerator($scope);\n\n if (conf.dev_autoconf) {\n $scope.$parent.conf.idty_uid = 'dev_' + ~~(Math.random() * 2147483647);\n $scope.$parent.conf.idty_entropy = ~~(Math.random() * 2147483647) + \"\";\n $scope.$parent.conf.idty_password = ~~(Math.random() * 2147483647) + \"\";\n $state.go('configure.create.network');\n }\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, UIUtils) {\n\n UIUtils.enableInputs();\n};\n","\"use strict\";\n\nvar co = require('co');\nvar conf = require('js/lib/conf/conf');\n\nmodule.exports = function ($scope, $http, $state, Webmin) {\n\n $scope.generated = '';\n $scope.started = false;\n $scope.message = 'configuration.create_root.need_a_try';\n\n $scope.start = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var hosts;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n hosts = [];\n\n if ($scope.$parent.conf.remote_ipv4) {\n hosts.push([$scope.$parent.conf.remote_ipv4, $scope.$parent.conf.rport].join(':'));\n }\n if ($scope.$parent.conf.remote_ipv6) {\n hosts.push([\"[\" + $scope.$parent.conf.remote_ipv6 + \"]\", $scope.$parent.conf.rport].join(':'));\n }\n $scope.host_listening = hosts.join('\\n');\n $scope.started = true;\n _context.next = 8;\n return Webmin.server.sendConf({\n conf: $scope.$parent.conf\n });\n\n case 8:\n _context.next = 10;\n return $scope.try();\n\n case 10:\n _context.next = 15;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context['catch'](0);\n\n $scope.message = _context.t0.message;\n\n case 15:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[0, 12]]);\n }));\n };\n\n $scope.stop = function () {\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n $scope.started = false;\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n $scope.try = function () {\n return co(regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return Webmin.server.previewNext();\n\n case 3:\n $scope.block = _context3.sent;\n\n $scope.generated = $scope.block.raw;\n $scope.message = '';\n _context3.next = 11;\n break;\n\n case 8:\n _context3.prev = 8;\n _context3.t0 = _context3['catch'](0);\n\n $scope.message = _context3.t0.message;\n\n case 11:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 8]]);\n }));\n };\n\n $scope.accept = function () {\n return co(regeneratorRuntime.mark(function _callee4() {\n var res;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return Webmin.blockchain.block_add({\n block: $scope.generated\n });\n\n case 2:\n res = _context4.sent;\n\n if (!(res.number == 0)) {\n _context4.next = 6;\n break;\n }\n\n _context4.next = 6;\n return $scope.startServices();\n\n case 6:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n };\n\n $scope.startServices = function () {\n return co(regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return Webmin.server.services.startAll();\n\n case 2:\n $state.go('index');\n\n case 3:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n };\n\n $scope.cancelAndReset = function () {\n return co(regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n _context6.next = 4;\n return Webmin.server.resetData();\n\n case 4:\n $state.go('index');\n\n case 5:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n };\n\n return co(regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.prev = 0;\n _context7.next = 3;\n return $scope.start();\n\n case 3:\n _context7.next = 5;\n return $scope.try();\n\n case 5:\n $scope.started = true;\n _context7.next = 11;\n break;\n\n case 8:\n _context7.prev = 8;\n _context7.t0 = _context7['catch'](0);\n\n $scope.started = false;\n\n case 11:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this, [[0, 8]]);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, $timeout, $stateParams, $translate, UIUtils, Webmin) {\n\n var syncWS = Webmin.ws();\n\n UIUtils.enableInputs();\n $scope.sync_mode = 'simplified';\n $scope.simplified_host = '';\n $scope.synchronizing = false;\n $scope.sync_failed = false;\n $scope.host = $stateParams.host || localStorage.getItem('sync_host') || '';\n $scope.port = parseInt($stateParams.port) || parseInt(localStorage.getItem('sync_port')) || 10901;\n $scope.to = parseInt($stateParams.to);\n $scope.wrong_host = false;\n $scope.remote_current = null;\n\n $scope.checkNode = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var current, targetHost;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.checked_host = '';\n $scope.sync_error = '';\n $scope.sync_message = '';\n if ($scope.sync_mode == 'simplified') {\n $scope.host = $scope.simplified_host.split(':')[0];\n $scope.port = parseInt($scope.simplified_host.split(':')[1]);\n }\n $scope.checking = true;\n _context.prev = 5;\n _context.next = 8;\n return Webmin.server.testSync({\n host: $scope.host,\n port: $scope.port\n });\n\n case 8:\n current = _context.sent;\n targetHost = [$scope.host, $scope.port].join(':');\n\n if (current) {\n $scope.remote_current = current;\n $scope.checked_host = targetHost;\n }\n UIUtils.toast('sync.ready.node.part1');\n $timeout(function () {\n if (!$scope.synchronizing) {\n UIUtils.toast('sync.ready.node.part2');\n }\n }, 6000);\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context['catch'](5);\n\n $scope.sync_error = 'sync.error.unreachable.try.another.node';\n\n case 18:\n $scope.checking = false;\n return _context.abrupt('return', $scope.checked_host ? true : false);\n\n case 20:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[5, 15]]);\n }));\n };\n\n $scope.startSync = function () {\n $scope.down_percent = 0;\n $scope.apply_percent = 0;\n $scope.sync_failed = false;\n $scope.synchronizing = true;\n return co(regeneratorRuntime.mark(function _callee2() {\n var sp, translatedErr;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return $translate('sync.started.node');\n\n case 2:\n _context2.t0 = _context2.sent;\n _context2.t1 = _context2.t0 + ' ';\n _context2.t2 = $scope.checked_host;\n $scope.sync_message = _context2.t1 + _context2.t2;\n sp = $scope.checked_host.split(':');\n _context2.next = 9;\n return $translate('err.sync.interrupted');\n\n case 9:\n translatedErr = _context2.sent;\n\n syncWS.on(undefined, function (data) {\n if (data.type == 'sync') {\n $scope.down_percent = 100;\n $scope.apply_percent = 100;\n $scope.sync_failed = data.value;\n var errorMessage = data.msg && (data.msg.message || data.msg);\n errorMessage = translatedErr + ' « ' + errorMessage + ' »';\n Webmin.server.republishNewSelfPeer().then(function () {\n return console.log('Peer republished');\n });\n if (data.value === true) {\n $state.go('index');\n } else {\n $state.go('error', { err: errorMessage });\n }\n } else {\n var changed = true;\n if (data.type == 'download' && $scope.down_percent != data.value) {\n $scope.down_percent = data.value;\n changed = true;\n }\n if (data.type == 'applied' && $scope.apply_percent != data.value) {\n $scope.apply_percent = data.value;\n changed = true;\n }\n if (changed) {\n $scope.$apply();\n }\n }\n });\n _context2.next = 13;\n return Webmin.server.autoConfNetwork();\n\n case 13:\n localStorage.setItem(\"sync_host\", sp[0]);\n localStorage.setItem(\"sync_port\", sp[1]);\n Webmin.server.startSync({\n host: sp[0],\n port: sp[1],\n to: $scope.to,\n chunkLen: Math.max(500, Math.min(25, $scope.remote_current ? $scope.remote_current.number / 100 : 0))\n });\n\n case 16:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n // Autostart\n if ($scope.host && $scope.port && $stateParams.sync) {\n return co(regeneratorRuntime.mark(function _callee3() {\n var nodeOK;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return $scope.checkNode();\n\n case 2:\n nodeOK = _context3.sent;\n\n if (!nodeOK) {\n _context3.next = 5;\n break;\n }\n\n return _context3.abrupt('return', $scope.startSync());\n\n case 5:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n }\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $state, $http, $timeout, $interval, Webmin, uiModules, summary, UIUtils) {\n\n $scope.externalMenus = [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n var _loop = function _loop() {\n var moduleName = _step.value;\n\n var module = window.uiModules[moduleName];\n if (module) {\n $scope.externalMenus.push({\n menuOpen: function menuOpen() {\n return module.menuOpen(summary);\n },\n menuIconClass: module.menuIconClass,\n menuLabel: module.menuLabel\n });\n }\n };\n\n for (var _iterator = uiModules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n $scope.notifications = {\n help: []\n };\n\n Waves.displayEffect();\n\n var isMobile = require('js/lib/mobileDetector');\n if (isMobile()) {\n $(\".button-collapse\").sideNav({\n menuWidth: 280\n });\n }\n\n UIUtils.changeTitle(summary.version);\n\n var aboutWin = void 0;\n\n $scope.showAbout = function () {\n if (aboutWin) {\n aboutWin.focus();\n } else {\n openWindow(window.location.origin + '/#/about', {\n position: 'center',\n height: 380,\n width: 510\n }, function (subwin) {\n subwin.window.gui = window.gui;\n subwin.on('closed', function () {\n aboutWin = null;\n mainWindow.focus();\n });\n aboutWin = subwin;\n });\n }\n };\n\n $scope.startServer = function () {\n $scope.server_stopped = false;\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.services.startAll();\n\n case 2:\n $scope.server_started = true;\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n $scope.stopServer = function () {\n $scope.server_started = false;\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n $scope.server_stopped = true;\n\n case 3:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n $scope.restartServer = function () {\n return co(regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return $scope.stopServer();\n\n case 2:\n _context3.next = 4;\n return $scope.startServer();\n\n case 4:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n };\n\n function checkUpdates() {\n var LATEST_RELEASE_URL = 'https://api.github.com/repos/duniter/duniter/releases/latest';\n co(regeneratorRuntime.mark(function _callee4() {\n var latest, local_string_version, m, localVersion, localSuffix, isLocalAPreRelease, remoteVersion;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n _context4.next = 3;\n return $http.get(LATEST_RELEASE_URL);\n\n case 3:\n latest = _context4.sent;\n local_string_version = 'v' + summary.version;\n m = local_string_version.match(/^v([\\d.]+)([ab]?\\d*)/);\n localVersion = m && m[1] || \"\";\n localSuffix = m && m[2];\n isLocalAPreRelease = !!localSuffix;\n remoteVersion = latest.data.tag_name.substr(1);\n\n if (localVersion < remoteVersion || localVersion == remoteVersion && isLocalAPreRelease) {\n if ($scope.notifications.help.filter(function (entry) {\n return entry.message == 'help.new_version_available';\n }).length == 0) {\n $scope.notifications.help.push({\n icon: 'play_for_work',\n message: 'help.new_version_available',\n onclick: function onclick() {\n return openExternal('https://github.com/duniter/duniter/releases/latest');\n }\n });\n }\n }\n _context4.next = 16;\n break;\n\n case 13:\n _context4.prev = 13;\n _context4.t0 = _context4['catch'](0);\n\n console.error(_context4.t0);\n\n case 16:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this, [[0, 13]]);\n }));\n }\n\n $interval(checkUpdates, 1000 * 3600);\n $timeout(checkUpdates, 1000);\n};\n","\"use strict\";\n\nvar BLOCKS_COUNT = 40;\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $state, $timeout, Webmin, UIUtils, Graph) {\n\n var data = {};\n\n $scope.loading = true;\n $scope.blocksCount = $scope.blocksCount || BLOCKS_COUNT;\n\n $scope.$watch('withTime', function (newValue) {\n if (newValue) {\n timeGraph();\n }\n });\n\n $scope.$watch('withSpeed', function (newValue) {\n if (newValue) {\n speedGraph();\n }\n });\n\n $scope.$watch('withDifficulty', function (newValue) {\n if (newValue) {\n diffGraph();\n }\n });\n\n $scope.updateGraphs = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var summary, parameters, blocks, speeds, accelerations, medianTimeIncrements, actualDurations, BY_HOUR, i, len, block, acc, previousPos, j, availPreviousBlocks, localAvgSpeed, realDuration, graphs, _i, _len;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.summary();\n\n case 2:\n summary = _context.sent;\n _context.next = 5;\n return Webmin.currency.parameters();\n\n case 5:\n parameters = _context.sent;\n _context.next = 8;\n return Webmin.blockchain.blocks({\n count: $scope.blocksCount,\n from: Math.max(0, summary.current.number - $scope.blocksCount)\n });\n\n case 8:\n blocks = _context.sent;\n speeds = [], accelerations = [], medianTimeIncrements = [], actualDurations = [];\n BY_HOUR = 3600;\n\n for (i = 0, len = blocks.length; i < len; i++) {\n block = blocks[i];\n acc = 0;\n previousPos = Math.max(0, i - parameters.dtDiffEval);\n\n for (j = previousPos; j < i; j++) {\n acc += blocks[j + 1].medianTime - blocks[j].medianTime;\n }\n availPreviousBlocks = i - 1 - previousPos;\n localAvgSpeed = acc / (availPreviousBlocks || 1);\n realDuration = !isNaN(localAvgSpeed) && localAvgSpeed != 0 ? localAvgSpeed : parameters.avgGenTime;\n\n actualDurations.push(parseFloat(realDuration.toFixed(2)));\n speeds.push(parseFloat((BY_HOUR / realDuration).toFixed(2)));\n accelerations.push(block.time - block.medianTime);\n medianTimeIncrements.push(block.medianTime - (i ? blocks[i - 1].medianTime : block.medianTime));\n }\n data.summary = summary;\n data.speeds = speeds;\n data.accelerations = accelerations;\n data.medianTimeIncrements = medianTimeIncrements;\n data.actualDurations = actualDurations;\n data.minSpeeds = speeds.map(function () {\n return parseFloat((BY_HOUR / Math.ceil(parameters.avgGenTime * Math.sqrt(1.066))).toFixed(2));\n });\n data.maxSpeeds = speeds.map(function () {\n return parseFloat((BY_HOUR / Math.floor(parameters.avgGenTime / Math.sqrt(1.066))).toFixed(2));\n });\n data.minDurations = speeds.map(function () {\n return parseFloat((parameters.avgGenTime / 1.066).toFixed(2));\n });\n data.maxDurations = speeds.map(function () {\n return parseFloat((parameters.avgGenTime * 1.066).toFixed(2));\n });\n data.difficulties = blocks.map(function (b) {\n return b.powMin;\n });\n\n graphs = [];\n\n if ($scope.withTime) graphs.push(timeGraph);\n if ($scope.withSpeed) graphs.push(speedGraph);\n if ($scope.withDifficulty) graphs.push(diffGraph);\n for (_i = 0, _len = graphs.length; _i < _len; _i++) {\n graphs[_i]();\n }\n $scope.loading = false;\n\n case 28:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n function timeGraph() {\n if ($scope.withTime) {\n Graph.timeGraphs('#timeGraph', Math.max(0, data.summary.current.number - $scope.blocksCount + 1), data.accelerations, data.medianTimeIncrements, data.actualDurations, data.minDurations, data.maxDurations);\n }\n }\n\n function speedGraph() {\n if ($scope.withSpeed) {\n Graph.speedGraph('#speedGraph', Math.max(0, data.summary.current.number - $scope.blocksCount), data.speeds, data.minSpeeds, data.maxSpeeds, function (series) {\n $scope.series = series;\n });\n }\n }\n\n function diffGraph() {\n if ($scope.withDifficulty) {\n Graph.difficultyGraph('#difficultyGraph', Math.max(0, data.summary.current.number - $scope.blocksCount), data.difficulties);\n }\n }\n\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return $scope.updateGraphs();\n\n case 2:\n $scope.withTime = true;\n $scope.withDifficulty = true;\n $scope.$apply();\n\n case 5:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, UIUtils) {\n\n UIUtils.enableTabs();\n\n $scope.$parent.menu = 'graphs';\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, UIUtils) {\n\n UIUtils.enableTabs();\n\n $scope.$parent.menu = 'home';\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, Webmin, peers) {\n\n $scope.peers = peers.peers;\n\n var co = require('co');\n\n $scope.update = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var delayP;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.searching = true;\n delayP = Q.delay(500);\n _context.next = 4;\n return Webmin.network.peers();\n\n case 4:\n $scope.peers = _context.sent.peers;\n _context.next = 7;\n return delayP;\n\n case 7:\n $scope.searching = false;\n $scope.$apply();\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, $interval, Webmin, UIUtils, summary, ws) {\n\n var co = require('co');\n var moment = require('moment');\n\n bindBlockWS(function () {\n $scope.loadPowData();\n });\n var M = summary.current.monetaryMass || 0;\n // const nbUDperYear = Math.ceil(365.25 * 3600 * 24 / summary.parameters.dt);\n // const globalC = Math.round(Math.pow(1 + summary.parameters.c, nbUDperYear) * 100) / 100 - 1;\n var UD = summary.parameters.ud0;\n if (summary.lastUDBlock) {\n var N = summary.current.membersCount;\n UD = parseInt((summary.lastUDBlock.dividend * Math.pow(10, summary.lastUDBlock.unitbase) + Math.pow(summary.parameters.c, 2) * M / N).toFixed(0));\n }\n $scope.current = summary.current;\n $scope.current_currency = summary.current.currency;\n $scope.current_number = summary.current.number;\n $scope.current_membersCount = summary.current.membersCount;\n $scope.current_medianTime = summary.current.medianTime;\n $scope.current_powMin = summary.current.powMin;\n $scope.monetaryMass = parseInt(M / UD) || 0;\n $scope.server_started = true;\n $scope.server_stopped = false;\n $scope.phones = [];\n $scope.abc = 'abcdef';\n $scope.newIdentities = 2;\n\n $(\".dropdown-button\").dropdown({ constrainwidth: false });\n\n $scope.lastNearPoW = '';\n $scope.totalPoW = '...';\n $scope.sync_state = 'home.pulling.state.unkown';\n $scope.network_percent = 0;\n $scope.peer_percent = 0;\n $scope.has_pulled = false;\n $scope.is_pulling = false;\n $scope.last_pulling = 0;\n var start_block = 0;\n\n $interval(function () {\n if ($scope.last_pulling) {\n $scope.sync_state = $scope.is_pulling ? 'home.pulling.state.syncing' : 'home.pulling.state.synced';\n $scope.sync_time = moment($scope.last_pulling).fromNow();\n }\n }, 1000);\n\n $scope.loadPowData = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.powSummary();\n\n case 2:\n res = _context.sent;\n\n $scope.pow_total = res.total;\n $scope.pow_mirror = res.mirror;\n $scope.pow_waiting = res.waiting;\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n ws.on(undefined, function (data) {\n if (data.type === 'started') {\n $scope.server_started = true;\n $scope.server_stopped = false;\n bindBlockWS(function () {\n $scope.loadPowData();\n });\n UIUtils.toast('general.server.started');\n $scope.$apply();\n }\n if (data.type === 'stopped') {\n $scope.server_stopped = true;\n $scope.server_started = false;\n UIUtils.toast('general.server.stopped');\n $scope.$apply();\n }\n if (data.type === 'pulling') {\n $scope.is_pulling = true;\n $scope.has_pulled = true;\n var event = data.value;\n if ($scope.last_pulling && event.type === 'start' || !$scope.last_pulling && event.type !== 'end') {\n $scope.last_pulling = moment();\n }\n if (event.type === 'peer') {\n $scope.network_percent = parseInt((event.data.number + 1) / event.data.length * 100);\n $scope.peer_percent = 100;\n start_block = 0;\n }\n if (event.type === 'applying') {\n if (!start_block) {\n start_block = event.data.number;\n }\n var total = event.data.last - start_block;\n var doneCount = event.data.number - start_block;\n $scope.peer_percent = parseInt(doneCount / total * 100);\n }\n if (event.type === 'end') {\n $scope.is_pulling = false;\n $scope.network_percent = 0;\n $scope.peer_percent = 0;\n start_block = 0;\n }\n }\n if (data.type === 'pow') {\n var pow = data.value;\n if (pow.found) {\n $scope.pow_waiting = true;\n $scope.lastNearPoW = '#' + pow.hash;\n $scope.$apply();\n } else {\n $scope.pow_waiting = false;\n $scope.lastNearPoW = '#' + pow.hash;\n $scope.$apply();\n }\n }\n });\n\n function bindBlockWS(cb) {\n Webmin.wsBlock().on(undefined, function (block) {\n $scope.current_currency = block.currency;\n $scope.current_number = block.number;\n $scope.current_membersCount = block.membersCount;\n $scope.current_medianTime = block.medianTime;\n $scope.current_powMin = block.powMin;\n var M = summary.current.monetaryMass || 0;\n var UD = summary.parameters.ud0;\n if (summary.lastUDBlock) {\n var _N = summary.current.membersCount;\n UD = parseInt(Math.round(summary.lastUDBlock.dividend * Math.pow(10, summary.lastUDBlock.unitbase) + Math.pow(summary.parameters.c, 2) * M / _N).toFixed(0));\n }\n $scope.monetaryMass = parseInt(M / UD) || 0;\n $scope.$apply();\n cb && cb();\n });\n }\n\n $scope.reconfigure_network = function () {\n return co(regeneratorRuntime.mark(function _callee2() {\n var delay, netinferfaces, conf;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n $scope.reconfiguring = true;\n delay = Q.delay(1000);\n _context2.prev = 2;\n _context2.next = 5;\n return Webmin.network.interfaces();\n\n case 5:\n netinferfaces = _context2.sent;\n conf = {};\n\n conf.local_ipv4 = netinferfaces.auto.local.ipv4 || '';\n conf.local_ipv6 = netinferfaces.auto.local.ipv6 || '';\n conf.remote_ipv4 = netinferfaces.auto.remote.ipv4 || '';\n conf.remote_ipv6 = netinferfaces.auto.remote.ipv6 || '';\n conf.lport = netinferfaces.auto.local.port || 9330;\n conf.rport = netinferfaces.auto.remote.port || 9330;\n conf.upnp = netinferfaces.auto.remote.upnp || false;\n conf.dns = netinferfaces.auto.remote.dns || '';\n _context2.next = 17;\n return Webmin.server.netConf({\n conf: conf\n });\n\n case 17:\n _context2.next = 19;\n return delay;\n\n case 19:\n $scope.should_reconfigure = false;\n UIUtils.toast('general.network.reconf_ok');\n $scope.$apply();\n _context2.next = 30;\n break;\n\n case 24:\n _context2.prev = 24;\n _context2.t0 = _context2['catch'](2);\n _context2.next = 28;\n return delay;\n\n case 28:\n $scope.reconfiguring = false;\n $scope.$apply();\n\n case 30:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[2, 24]]);\n }));\n };\n\n return co(regeneratorRuntime.mark(function _callee3() {\n var reachable;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return $scope.startServer();\n\n case 2:\n _context3.prev = 2;\n _context3.next = 5;\n return $scope.loadPowData();\n\n case 5:\n _context3.next = 7;\n return Webmin.isNodePubliclyReachable();\n\n case 7:\n reachable = _context3.sent;\n\n if (!reachable || !reachable.success) {\n $scope.should_reconfigure = true;\n }\n _context3.next = 14;\n break;\n\n case 11:\n _context3.prev = 11;\n _context3.t0 = _context3['catch'](2);\n\n console.log(_context3.t0);\n\n case 14:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[2, 11]]);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, $location, Webmin, UIUtils) {\n\n UIUtils.enableTabs();\n\n $scope.$parent.conf = $scope.$parent.conf || {};\n $scope.$parent.menu = 'settings';\n\n $(\".dropdown-button\").dropdown({ constrainwidth: false });\n\n $scope.fullReset = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n _context.next = 4;\n return Webmin.server.resetData();\n\n case 4:\n $state.go('index');\n\n case 5:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, Importer, Webmin) {\n\n $scope.export_link = Webmin.getExportURL();\n\n Importer($scope);\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, $timeout, UIUtils, summary, Webmin) {\n\n $scope.cpuPower = parseInt(summary.conf.cpu * 100);\n\n $scope.updateCPUpower = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.savingCPU = true;\n _context.next = 3;\n return Webmin.server.cpuConf({\n cpu: parseFloat(($scope.cpuPower / 100).toFixed(2))\n });\n\n case 3:\n UIUtils.toast('settings.cpu.saved');\n $scope.savingCPU = false;\n\n case 5:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, conf, UIUtils) {\n\n $scope.$parent.conf = conf;\n\n UIUtils.enableInputs();\n $('input').attr('disabled', 'disabled');\n};\n","\"use strict\";\n\nvar co = require('co');\nvar Peer = require('js/lib/entity/peer');\n\nmodule.exports = function ($scope, $http, $state, Webmin, peers) {\n\n $scope.peers = peers.map(function (peer) {\n var p = new Peer(peer);\n return {\n name: [p.getURL(), \"(\" + p.pubkey.slice(0, 6) + \")\"].join(' '),\n host_port: [p.getHost(), p.getPort()].join('|')\n };\n });\n\n $scope.resetNode = function () {\n $('#modalReset').openModal();\n };\n\n $scope.resetNodeAndSync = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var sp;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n _context.next = 4;\n return Webmin.server.resetData();\n\n case 4:\n sp = $scope.remote_host.split('|');\n\n $state.go('sync', {\n host: sp[0],\n port: sp[1],\n sync: true\n });\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $state, Webmin, summary, PubkeyGenerator) {\n\n $scope.pubkey = summary.pubkey;\n\n setTimeout(function () {\n $('select').material_select();\n }, 500);\n\n $scope.accept = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.keyConf({\n conf: $scope.$parent.conf\n });\n\n case 2:\n $scope.$parent.conf.idty_entropy = '';\n $scope.$parent.conf.idty_password = '';\n $state.reload();\n $scope.restartServer();\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n PubkeyGenerator($scope);\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, ws, UIUtils) {\n\n UIUtils.enableTabs();\n\n var co = require('co');\n var _ = require('underscore');\n\n // Default values\n if (!localStorage.getItem('log_error')) localStorage.setItem('log_error', true);\n if (!localStorage.getItem('log_warn')) localStorage.setItem('log_warn', true);\n if (!localStorage.getItem('log_info')) localStorage.setItem('log_info', true);\n\n $scope.logsSize = parseInt(localStorage.getItem('log_size')) || 100;\n $scope.logs = _.range(0, $scope.logsSize).map(function () {\n return \"\";\n });\n $scope.logsString = \"\";\n $scope.follow = true;\n $scope.levels = {\n error: localStorage.getItem('log_error') == \"true\",\n warn: localStorage.getItem('log_warn') == \"true\",\n info: localStorage.getItem('log_info') == \"true\",\n debug: localStorage.getItem('log_debug') == \"true\",\n trace: localStorage.getItem('log_trace') == \"true\"\n };\n\n _.keys($scope.levels).map(function (level) {\n $scope.$watch('levels.' + level, function (newValue) {\n localStorage.setItem('log_' + level, newValue);\n $scope.logs.splice(0, $scope.logs.length);\n ws.send();\n });\n });\n\n $scope.$watch('logsSize', function (newValue) {\n localStorage.setItem('log_size', newValue);\n addLogs({ value: [] }, true);\n });\n\n ws.on('log', addLogs);\n\n function addLogs(res, autoDigest) {\n\n if (!$scope.pause) {\n var newlogs = _.filter(res.value, function (log) {\n return $scope.levels[log.level];\n });\n // Add at max LOGS_FLOW_SIZE new lines\n newlogs.splice(0, Math.max(0, newlogs.length - $scope.logsSize));\n // Add just enough space for incoming logs\n $scope.logs.splice(0, Math.max(0, $scope.logs.length + newlogs.length - $scope.logsSize));\n for (var i = 0, len = newlogs.length; i < len; i++) {\n var log = newlogs[i];\n $scope.logs.push(log);\n }\n if (!autoDigest) {\n $scope.$apply();\n }\n }\n\n if ($scope.follow) {\n var elem = document.getElementById('logs');\n if (elem) {\n elem.scrollTop = elem.scrollHeight;\n }\n }\n }\n\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ws.whenOpened();\n\n case 2:\n ws.send();\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, Webmin) {\n\n $scope.generating = false;\n $scope.error = '';\n\n $scope.shareLogs = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if ($scope.generating) {\n _context.next = 14;\n break;\n }\n\n _context.prev = 1;\n\n $scope.error = '';\n $scope.generating = true;\n _context.next = 6;\n return Webmin.logsExport(2000);\n\n case 6:\n res = _context.sent;\n\n $scope.link = res.link;\n _context.next = 13;\n break;\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context['catch'](1);\n\n $scope.error = _context.t0 && _context.t0.message || _context.t0 || 'Unknown error';\n\n case 13:\n $scope.generating = false;\n\n case 14:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 10]]);\n }));\n };\n};\n","\"use strict\";\n\nvar co = require('co');\nvar _ = require('underscore');\n\nmodule.exports = function ($scope, $http, $state, $interval, $timeout, UIUtils, summary, Webmin, allModules, hasAccess) {\n\n var interval = void 0;\n $scope.hasAccess = hasAccess;\n $scope.module_to_install = 'file:../duniter-ui-cesium';\n $scope.installing = false;\n\n $scope.showWarning = function () {\n return $scope.warningShown = true;\n };\n $scope.hideWarning = function () {\n return $scope.warningShown = false;\n };\n\n $scope.modules = modulesTransform(allModules);\n\n $scope.switchModule = function (mod) {\n $scope.modules.map(function (m) {\n return m.disabled = true;\n });\n mod.installing = !mod.installing;\n Webmin.plugin.removePackage(mod.name);\n $scope.checkModulesInstallation();\n };\n\n $scope.installModule = function () {\n $scope.modules.map(function (m) {\n return m.disabled = true;\n });\n co(regeneratorRuntime.mark(function _callee() {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.plugin.addPackage($scope.module_to_install);\n\n case 2:\n res = _context.sent;\n\n if (res.success) {\n $scope.modules.push({\n fullName: $scope.module_to_install,\n disabled: true,\n installing: true,\n installed: true\n });\n $scope.installing = true;\n $scope.checkModulesInstallation();\n } else {\n $scope.modules = modulesTransform(allModules);\n UIUtils.toast('settings.modules.already_install');\n }\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n $scope.checkModulesInstallation = function () {\n interval = $interval(function () {\n Webmin.plugin.allModules().then(function (modules) {\n var initialModulesNames = _.pluck(allModules, 'name');\n var newModulesNames = _.pluck(modules, 'name');\n var added = _.difference(newModulesNames, initialModulesNames);\n var removed = _.difference(initialModulesNames, newModulesNames);\n if (added.length || removed.length) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = added[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var addedName = _step.value;\n\n UIUtils.toastRaw('Installed module \\'' + addedName + '\\'');\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = removed[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var removedName = _step2.value;\n\n UIUtils.toastRaw('Removed module \\'' + removedName + '\\'');\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n allModules = modules;\n $scope.modules = modulesTransform(modules);\n $scope.installing = false;\n $interval.cancel(interval);\n $scope.notifications.help.push({\n icon: 'loop',\n message: 'help.restart_required',\n onclick: function onclick() {\n return UIUtils.toast('help.restart_required.message');\n }\n });\n }\n });\n }, 1500);\n };\n\n function modulesTransform(modules) {\n return modules.map(function (m) {\n return {\n name: m.name,\n fullName: [m.name, m.version].join('@'),\n disabled: !$scope.hasAccess,\n installing: false,\n installed: true\n };\n });\n }\n};\n","\"use strict\";\n\nvar co = require('co');\nvar conf = require('js/lib/conf/conf');\n\nmodule.exports = function ($scope, $http, $state, Webmin, UIUtils, netinterfaces, firstConf) {\n\n var autoconf = netinterfaces.auto;\n\n $scope.autoconfig = function () {\n $scope.$parent.conf.local_ipv4 = autoconf.local.ipv4 || '';\n $scope.$parent.conf.local_ipv6 = autoconf.local.ipv6 || '';\n $scope.$parent.conf.remote_ipv4 = autoconf.remote.ipv4 || '';\n $scope.$parent.conf.remote_ipv6 = autoconf.remote.ipv6 || '';\n $scope.$parent.conf.lport = autoconf.local.port || $scope.$parent.conf.lport;\n $scope.$parent.conf.rport = autoconf.remote.port || $scope.$parent.conf.rport;\n $scope.$parent.conf.upnp = autoconf.remote.upnp || $scope.$parent.conf.upnp;\n $scope.$parent.conf.dns = autoconf.remote.dns || $scope.$parent.conf.dns;\n\n if (conf.dev_autoconf && firstConf) {\n $state.go('configure.create.root');\n }\n };\n\n $scope.local_neti = toArrayOfAddresses(netinterfaces.local);\n $scope.remote_neti = toArrayOfAddresses(netinterfaces.remote);\n\n $scope.$parent.conf = $scope.$parent.conf || {};\n $scope.$parent.conf.local_ipv4 = netinterfaces.conf.local.ipv4;\n $scope.$parent.conf.local_ipv6 = netinterfaces.conf.local.ipv6;\n $scope.$parent.conf.remote_ipv4 = netinterfaces.conf.remote.ipv4;\n $scope.$parent.conf.remote_ipv6 = netinterfaces.conf.remote.ipv6;\n $scope.$parent.conf.lport = netinterfaces.conf.local.port;\n $scope.$parent.conf.rport = netinterfaces.conf.remote.port;\n $scope.$parent.conf.upnp = netinterfaces.conf.remote.upnp;\n $scope.$parent.conf.dns = netinterfaces.conf.remote.dns;\n\n UIUtils.enableInputs();\n\n if (firstConf) {\n $scope.$parent.conf.lport = conf.default_port;\n $scope.$parent.conf.rport = conf.default_port;\n // Trigger autoconfig\n $scope.autoconfig();\n }\n\n $scope.saveConf = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.$parent.conf.remote_ipv6 = $scope.$parent.conf.local_ipv6;\n _context.next = 3;\n return Webmin.server.netConf({\n conf: $scope.$parent.conf\n });\n\n case 3:\n UIUtils.toast('settings.network.saved');\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n\nfunction toArrayOfAddresses(netiScope) {\n return netiScope.reduce(function (arr, neti) {\n return arr.concat(neti.addresses.map(function (addr) {\n return {\n name: [neti.name, addr.address].join(' '),\n addr: addr.address,\n family: addr.family\n };\n }));\n }, []);\n}\n","'use strict';\n\nmodule.exports = function () {\n\n window.uiModules = {};\n\n require('./services/webmin')(angular);\n\n var duniterApp = angular.module('duniterUIApp', ['ui.router', 'homeControllers', 'pascalprecht.translate']);\n\n duniterApp.config(['$compileProvider', function ($compileProvider) {\n return $compileProvider.aHrefSanitizationWhitelist(/^\\s*(https?|data):/);\n }]);\n\n require('./lib/conf/translate')(duniterApp);\n require('./lib/conf/routes')(duniterApp);\n require('js/services/datetime')(duniterApp);\n require('js/services/ui_utils')(duniterApp);\n require('js/services/graphs')(duniterApp);\n require('js/services/pubkeyGenerator')(duniterApp);\n require('js/services/importer')(duniterApp);\n require('js/services/base58')(duniterApp);\n\n window.duniterChildCallback = function (gui) {\n window.gui = gui;\n };\n\n window.onresize = function () {\n window.onResize && window.onResize(window);\n };\n\n window.openWindow = function openWindow(url, options, callback) {\n if (window.gui) {\n // Duniter Desktop\n window.gui.Window.open(url, options, callback);\n } else {\n // Browser\n var innerHeight = options.height || 375;\n var innerWidth = options.width || 500;\n window.open(url, '_blank ', ['top=' + (window.screenTop + (options.top || 200)), 'left=' + (window.screenLeft + (options.left || 200)), 'height=' + (innerHeight + 8), 'width=' + (innerWidth + 16), 'menubar=no', 'status=no'].join(','));\n }\n };\n\n window.openNewTab = function openWindow(url, options, callback) {\n if (window.gui) {\n // Duniter Desktop\n window.gui.Window.open(url, options, callback);\n } else {\n // Browser\n window.open(url, '_blank ');\n }\n };\n\n window.openExternal = function openExternal(url) {\n if (window.gui) {\n window.gui.Shell.openExternal(url);\n } else {\n window.open(url, '_blank');\n }\n };\n\n var homeControllers = angular.module('homeControllers', ['duniter.services.webmin', 'ngFileUpload']);\n\n homeControllers.controller('IndexController', require('./controllers/IndexController'));\n homeControllers.controller('AboutController', require('./controllers/AboutController'));\n homeControllers.controller('IdentityController', require('./controllers/init/create/IdentityController'));\n homeControllers.controller('ParametersController', require('./controllers/init/create/ParametersController'));\n homeControllers.controller('RootBlockController', require('./controllers/init/create/RootBlockController'));\n homeControllers.controller('SyncController', require('./controllers/init/sync/SyncController'));\n homeControllers.controller('MainController', require('./controllers/main/MainController'));\n homeControllers.controller('HomeController', require('./controllers/main/home/HomeController'));\n homeControllers.controller('OverviewController', require('./controllers/main/home/tabs/OverviewController'));\n homeControllers.controller('HomeNetworkController', require('./controllers/main/home/tabs/HomeNetworkController'));\n homeControllers.controller('LogsController', require('./controllers/main/settings/tabs/LogsController'));\n homeControllers.controller('LogsSettingsController', require('./controllers/main/settings/tabs/LogsSettingsController'));\n homeControllers.controller('NetworkController', require('./controllers/main/settings/tabs/NetworkController'));\n homeControllers.controller('SettingsController', require('./controllers/main/settings/SettingsController'));\n homeControllers.controller('DataController', require('./controllers/main/settings/tabs/DataController'));\n homeControllers.controller('BackupController', require('./controllers/main/settings/tabs/BackupController'));\n homeControllers.controller('CPUController', require('./controllers/main/settings/tabs/CPUController'));\n homeControllers.controller('CurrencyController', require('./controllers/main/settings/tabs/CurrencyController'));\n homeControllers.controller('KeyController', require('./controllers/main/settings/tabs/KeyController'));\n homeControllers.controller('ModulesController', require('./controllers/main/settings/tabs/ModulesController'));\n homeControllers.controller('GraphsController', require('./controllers/main/graphs/GraphsController'));\n homeControllers.controller('GraphsBlockchainController', require('./controllers/main/graphs/GraphsBlockchainController'));\n};\n","\"use strict\";\n\nmodule.exports = {\n\n init: function init() {\n\n // Hack since Node v5\n try {\n window.jade = require('jade' + '/' + 'runtime');\n } catch (e) {}\n\n console.log('Configuring Angular app...');\n\n require('./app.config')();\n\n console.log('App initialized.');\n }\n};\n","\"use strict\";\n\nmodule.exports = {\n server: \"\", // Empty server will use the browser current host\n port: \"\", // Empty port will use the browser current port\n default_port: 9220,\n dev_autoconf: false,\n api_timeout: 10000 // 10 sec timeout\n};\n","module.exports = {\n \"top.menu.overview\": \"Home\",\n \"top.menu.data\": \"Explore\",\n \"top.menu.settings\": \"Settings\",\n \"top.menu.wallet\": \"Wallet\",\n \"general.server.started\": \"Server started\",\n \"general.server.stopped\": \"Server stopped\",\n \"general.choose_option\": \"Choose your option\",\n \"general.network.reconf_ok\": \"Reconfiguration success\",\n \"global.button.validate\": \"Validate\",\n \"global.button.start\": \"Start\",\n \"err.unknown\": \"Unknown error\",\n \"err.connection\": \"Could not connect to node\",\n \"err.back_index\": \"Get back to previous screen\",\n \"err.sync.interrupted\": \"Sync interrupted because the following error occured:\",\n \"index.message.loading\": \"Loading...\",\n \"crypto.secret_key\": \"Secret key\",\n \"index.message.current_block\": \"Current block {{ number }}\",\n \"configuration.init.choose.title\": \"Initialization\",\n \"configuration.init.choose.message\": \"Your software has to be initialized. You may either connect to an existing one or restore a backup file.\",\n \"configuration.init.choose.create\": \"Create a new currency\",\n \"configuration.init.choose.connect\": \"Connect to an existing currency\",\n \"configuration.init.choose.import\": \"Import from a backup file\",\n \"configuration.create_currency.cancel\": \"Cancel & go home\",\n \"configuration.create_uid.title\": \"Your identity\",\n \"configuration.create_uid.message\": \"As a first step, you need to define your personal, unique identity.<br/>The following informations will be <strong>definitive</strong> for this currency: please choose them carefully.\",\n \"configuration.create_uid.uid.tooltip\": \"The name you will be known as.\",\n \"configuration.create_uid.entropy.tooltip\": \"An entropy source to make your key unique: an e-mail, a phone n°, ...\",\n \"configuration.create_uid.password.tooltip\": \"A secret password to protect your key.\",\n \"configuration.create_uid.create_button\": \"Continue\",\n \"configuration.create_uid.preview_button\": \"Preview pubkey\",\n \"configuration.create_uid.nrp_algo_choose\": \"NRP algorithm\",\n \"configuration.create_uid.nrp_algo_choose_1\": \"N = 4096 ; r = 16 ; p = 1\",\n \"configuration.create_uid.modal_title\": \"Identity confirmation\",\n \"configuration.create_uid.modal_message\": \"This identity will be definitive for this currency: you will be known by your User ID and will be able to access your account using your Secret Key and Password values.\",\n \"configuration.create_uid.modal_agree\": \"Agree\",\n \"configuration.create_uid.modal_disagree\": \"Disagree\",\n \"configuration.create_uid.modal_preview_title\": \"Preview of pubkey\",\n \"configuration.create_uid.modal_preview_ok\": \"OK\",\n \"configuration.create_network.title\": \"Network\",\n \"configuration.create_network.message\": \"uCoin is a P2P software and needs bidirectionnal access to the network. Please chose carefully the following parameters.\",\n \"configuration.create_network.none\": \"None\",\n \"configuration.create_network.ipv4.title\": \"IPv4\",\n \"configuration.create_network.ipv6.title\": \"IPv6\",\n \"configuration.create_network.ipv4.message\": \"For compatibilty reasons, you may prefer to use classic IPv4 interfaces. The configuration is more complicated.\",\n \"configuration.create_network.local_ipv4\": \"Private (computer)\",\n \"configuration.create_network.remote_ipv4\": \"Public (box/router)\",\n \"configuration.create_network.local_ipv6\": \"IPv6\",\n \"configuration.create_network.lport\": \"Local port\",\n \"configuration.create_network.rport\": \"Remote port\",\n \"configuration.create_network.port.title\": \"Ports\",\n \"configuration.create_network.ipv6.message\": \"IPv6 gives your computer a unique, direct address to your node over the Internet. This is the <b>recommended way</b> to connect your node to the network.\",\n \"configuration.create_network.port.message\": \"Wether you use IPv6 or IPv4, Duniter node will use this port number for connection to the network. If you use IPv6, local and remote port should equal each other.\",\n \"configuration.create_network.dns.title\": \"Domain name\",\n \"configuration.create_network.dns\": \"Domain name\",\n \"configuration.create_network.dns.message\": \"IPv6 (AAAA) and IPv4 (A) DNS records will be used.\",\n \"configuration.create_network.upnp\": \"Use UPnP\",\n \"configuration.create_network.button.validate\": \"Continue\",\n \"configuration.create_network.button.autoconf\": \"Automatic configuration\",\n \"configuration.create_parameters.title\": \"Currency\",\n \"configuration.create_parameters.message\": \"Initial parameters of the currency. It should be carefully chosen, as these parameters never change once the currency is started.\",\n \"configuration.create_parameters.currency.title\": \"Money units\",\n \"configuration.create_parameters.currency.message\": \"Give a name to your currency. The 3 following parameters configure the way new money units are created.\",\n \"configuration.create_parameters.currency\": \"Currency name\",\n \"configuration.create_parameters.c\": \"c\",\n \"configuration.create_parameters.dt\": \"UD period\",\n \"configuration.create_parameters.ud0\": \"UD(0)\",\n \"configuration.create_parameters.button.validate\": \"Continue\",\n \"configuration.create_parameters.wot.title\": \"Web of Trust\",\n \"configuration.create_parameters.wot.message\": \"The following parameters deal with identities and their links gathered in the Web of Trust concept.\",\n \"configuration.create_parameters.sigStock\": \"Max cert stock\",\n \"configuration.create_parameters.sigPeriod\": \"Delay between 2 certs\",\n \"configuration.create_parameters.sigValidity\": \"Cert expiry delay\",\n \"configuration.create_parameters.msValidity\": \"Membership expiry delay\",\n \"configuration.create_parameters.sigQty\": \"Min required certs\",\n \"configuration.create_parameters.sigWindow\": \"Cert time window\",\n \"configuration.create_parameters.stepMax\": \"Max distance\",\n \"configuration.create_parameters.xpercent\": \"Percent of distance\",\n \"configuration.create_parameters.blockchain.title\": \"Blockchain\",\n \"configuration.create_parameters.blockchain.message\": \"The technical support of money and identities is the blockchain. It also has some parameters driving its behavior.\",\n \"configuration.create_parameters.medianTimeBlocks\": \"Blocks count\",\n \"configuration.create_parameters.avgGenTime\": \"Block gen. duration\",\n \"configuration.create_parameters.dtDiffEval\": \"Blocks count for diff.\",\n \"configuration.create_parameters.blocksRot\": \"Personal diff. blocks\",\n \"configuration.create_parameters.percentRot\": \"Personal diff. rotation\",\n \"configuration.create_root.title\": \"Root block creation\",\n \"configuration.create_root.message\": \"This is the final step to create the new currency! The root block or <i>genesis</i> will include the first members and define the currency parameters. Once generated and submitted, the blockchain will be started.\",\n \"configuration.create_root.button.start\": \"Start HTTP\",\n \"configuration.create_root.button.stop\": \"Stop HTTP\",\n \"configuration.create_root.button.generate\": \"Give a try\",\n \"configuration.create_root.need_a_try\": \"You need to generate a first block with the « Give a try » button. Start HTTP server to do so.\",\n \"configuration.create_root.button.accept_and_send\": \"Accept this block and start currency\",\n \"configuration.create_root.button.cancel\": \"Cancel creation and go to home screen\",\n \"configuration.create_root.host_listening\": \"Host listening at:\",\n \"configuration.create_uid.pubkey_preview\": \"Public key preview\",\n \"home.current.number\": \"Current block #\",\n \"home.current.membersCount\": \"Members count\",\n \"home.current.medianTime\": \"Median time\",\n \"home.current.powMin\": \"Common difficulty level\",\n \"home.current.mmass\": \"Monetary mass\",\n \"home.pulling.network\": \"Network\",\n \"home.pulling.peer\": \"Peer\",\n \"home.pulling.state.unkown\": \"Next sync in few minutes\",\n \"home.pulling.state.synced\": \"Synced\",\n \"home.pulling.state.syncing\": \"Syncing...\",\n \"home.pow.unit\": \"blocks made by this key\",\n \"home.pow.is_mirror\": \"This node is a mirror\",\n \"home.pow.is_waiting\": \"Waiting for better proof conditions\",\n \"home.tabs.overview\": \"Overview\",\n \"home.tabs.overview.should_reconfigure\": \"Your configuration has changed and your node is no more reachable from the network. You should reconfigure it to have a functional node. If this message appears again, you should manually configure the network settings. Often, selecting only IPv6 interface (disabling IPv4) solves the problem.\",\n \"home.tabs.network\": \"Peers\",\n \"home.tabs.network.button.update\": \"Check peers again\",\n \"home.tabs.logs\": \"Logs\",\n \"home.tabs.logs.follow.logs\": \"Follow logs\",\n \"home.tabs.logs.pause.logs\": \"Pause logs\",\n \"home.tabs.logs.level.error\": \"Error\",\n \"home.tabs.logs.level.warn\": \"Warning\",\n \"home.tabs.logs.level.info\": \"Info\",\n \"home.tabs.logs.level.debug\": \"Debug\",\n \"home.tabs.logs.level.trace\": \"Trace\",\n \"sync.title\": \"Synchronize\",\n \"sync.message\": \"Your node will be synchronized with an existing currency: just enter technical details about a node to sync with it.\",\n \"sync.host\": \"Host\",\n \"sync.port\": \"Port\",\n \"sync.check\": \"Check node\",\n \"sync.start\": \"Synchronize with this node\",\n \"sync.failed\": \"Synchronization failed.\",\n \"sync.mode.simplified\": \"Simplified mode\",\n \"sync.mode.manual\": \"Manual mode\",\n \"sync.simplified.choose\": \"Node to connect to\",\n \"sync.simplified.default_option\": \"Please select a node to continue\",\n \"sync.simplified.currency\": \"Currency\",\n \"sync.simplified.main_mirror\": \"(main mirror)\",\n \"sync.simplified.official_mirror\": \"(other official mirror)\",\n \"sync.ready.node.part1\": \"This node is available!\",\n \"sync.ready.node.part2\": \"Click on the green button to proceed.\",\n \"sync.started.node\": \"Synchronization started on node:\",\n \"sync.error.unreachable.try.another.node\": \"This node is not available. Please select another one.\",\n \"home.menu.server.stop\": \"Stop server\",\n \"home.menu.server.start\": \"Start server\",\n \"home.menu.server.restart\": \"Restart server\",\n \"home.state\": \"Server:\",\n \"home.state.started\": \"STARTED\",\n \"home.state.stopped\": \"STOPPED\",\n \"settings.tabs.logs\": \"Logs\",\n \"settings.tabs.data\": \"Data\",\n \"settings.tabs.backup\": \"Backup\",\n \"settings.tabs.identity\": \"Crypto\",\n \"settings.tabs.network\": \"Network\",\n \"settings.tabs.currency\": \"Currency\",\n \"settings.tabs.cpu\": \"CPU\",\n \"settings.tabs.modules\": \"Modules\",\n \"settings.data.reset.title\": \"Reset this node\",\n \"settings.data.reset.message\": \"If you desire to reset this node's data and sync it again with the network, please select a node to sync against and validate.\",\n \"settings.data.reset.warning\": \"This process <strong>will not</strong> reset the node identity and network settings, which will be reused.\",\n \"settings.data.reset.peer.none_option\": \"Select a node\",\n \"settings.data.reset.peer.label\": \"Synchronization peer\",\n \"settings.data.reset.button\": \"Full reset of the node\",\n \"settings.data.reset_sync.button\": \"Reset data and start sync\",\n \"settings.logs.title\": \"Logs\",\n \"settings.logs.consult.message\": \"Your node continually generates information messages in a log file. This information may help you understand what your node <i>is doing</i> or what it <i>has done</i> few times ago.\",\n \"settings.logs.consult.button\": \"View real-time logs\",\n \"settings.logs.share.message\": \"You may want to <b>share your logs</b> with other people, sometimes to get help or to add informations in a bug tracker. Clicking on below button will extract the last 2000 lines of your logs and push it on the web, returning you a link to be shared with whoever you want.\",\n \"settings.logs.share.button\": \"Create a web link to your logs\",\n \"settings.logs.share.generating\": \"Generating your link...\",\n \"settings.logs.share.error\": \"An error occurred during the generation of your link:\",\n \"settings.data.backup.title\": \"Backup\",\n \"settings.data.backup.message\": \"You can create backups of your node's data and restore them using the buttons below.\",\n \"settings.data.backup.warning\": \"<b>Export</b> will only backup your node's data, which <i>excludes your secret key and configuration details</i>.<br><b>Import</b> will reset your node's data by applying the backup. Your secret keys and configuration remains untouched.\",\n \"settings.data.backup.button.export\": \"Create a data backup\",\n \"settings.data.backup.button.import\": \"Import a data backup\",\n \"settings.data.backup.importing\": \"Importing data...\",\n \"settings.data.backup.imported\": \"Import successfull!\",\n \"settings.network.button.validate\": \"Save and apply network settings\",\n \"settings.network.saved\": \"Configuration saved and applied successfully\",\n \"settings.key.title\": \"Public key of this node:\",\n \"settings.key.button.validate\": \"Save and use this key\",\n \"settings.key.button.change\": \"Change keyring\",\n \"settings.key.pubkey.description\": \"This public key is the public part of your keyring, which is composed of a public key and a private key. This public key is shared with all the peers of the network and users of the currency, while your private key is secretely kept and used by this node to process operations on the network.\",\n \"settings.data.modal_title\": \"Confirm full reset\",\n \"settings.data.modal_message\": \"This action will completely reset the data of your node and redirect you to initial configuration screen. Do you confirm?\",\n \"settings.data.modal_disagree\": \"No, cancel this\",\n \"settings.data.modal_agree\": \"Yes, process the reset\",\n \"settings.data.reset.experimental\": \"This functionality is still considered experimental. If you encounters strange behaviors, please stop the software and reset manually your node by removing all the files BUT conf.json under ~/.config/ucoin/ucoin_default, and restart the software.\",\n \"settings.cpu.title\": \"CPU settings\",\n \"settings.cpu.message\": \"You can adjust the CPU power dedicated to proof-of-work computation. The higher the value, the faster is your node, the higher the chances you have to compute a block early.\",\n \"settings.cpu.warning\": \"<b>Up to 8 cores</b> of your machine are dedicated to proof-of-work computation currently. Also, setting CPU to 100% does not mean Duniter will use 100% of each core, but will use as much as possible each of them, as a core is also shared with other programs.\",\n \"settings.cpu.range\": \"% of CPU power core dedicated to proof-of-work :\",\n \"settings.cpu.power\": \"Core power:\",\n \"settings.cpu.saved\": \"CPU settings saved.\",\n \"settings.modules.title\": \"Modules\",\n \"settings.modules.message\": \"You can install extensions to your Duniter node to provide new features. These extensions are called <b>Duniter modules</b>.\",\n \"settings.modules.no_access\": \"This instance does not have enough system rights to install new modules on disk.\",\n \"settings.modules.install\": \"Install this module\",\n \"settings.modules.already_install\": \"Module already installed\",\n \"settings.modules.warning\": \"Please be <b>VERY CAREFUL</b> when choosing to install a module: you should have checked that this module is not a virus, nor wants to steal your informations.<br>A module has <i>a lot of power</i> and can likely access to any part of your computer in the limit of the user's access rights:<ul><li>- your node's keyring (in the computer's memory)</li><li>- your personal files (photos, unencrypted passwords, browser favorites, ...)</li><li>- your internet access</li><li>- your local network</li></ul>You could get informations about a module by looking on the Internet.\",\n \"settings.modules.warning_light\": \"Please read this warning before installing a module!\",\n \"settings.modules.warning_close\": \"Close this message\",\n \"settings.modules.on\": \"On\",\n \"settings.modules.off\": \"Off\",\n \"settings.modules.installing\": \"Installation...\",\n \"settings.modules.installing_warn\": \"Please <b>do not close Duniter</b> during this process!\",\n \"settings.modules.uninstalling\": \"Removal...\",\n \"graphs.tabs.blockchain\": \"Blockchain\",\n \"graphs.tabs.currency\": \"Currency\",\n \"graphs.blockchain.range\": \"Graphs for the last X blocks: (please choose X value)\",\n \"graphs.blockchain.with.time\": \"Time variations graph\",\n \"graphs.blockchain.with.speed\": \"Writing speed graph\",\n \"graphs.blockchain.with.difficulty\": \"Difficulty graph\",\n \"help.about_duniter\": \"About Duniter\",\n \"help.about_duniter.title\": \"About\",\n \"help.about_duniter.subtitle\": \"Duniter Desktop\",\n \"help.about_duniter.version\": \"Version: \",\n \"help.about_duniter.forum\": \"Forum\",\n \"help.about_duniter.chat\": \"Chat\",\n \"help.new_version_available\": \"New version available\",\n \"help.restart_required\": \"Restart to apply changes\",\n \"help.restart_required.message\": \"Please close Duniter and restart it.\"\n}\n;","'use strict';\n\nvar co = require('co');\nvar _ = require('underscore');\n\nmodule.exports = function (app) {\n\n app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {\n\n // States\n $stateProvider.state('index', {\n url: '/',\n template: require('views/index'),\n resolve: {\n ws: function ws(Webmin) {\n return Webmin.ws();\n },\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'IndexController'\n }).state('about', {\n url: '/about',\n template: require('views/about'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n },\n version: function version(summary) {\n return summary && 'v' + summary.version || 'unknown version';\n }\n },\n controller: 'AboutController'\n }).state('configure', {\n abstract: true,\n url: '/configure',\n template: require('views/init/layout'),\n controller: function controller($scope) {\n $scope.conf = {\n currency: 'super_currency',\n c: 0.007376575,\n dt: 30.4375 * 24 * 3600,\n ud0: 100,\n stepMax: 3,\n sigDelay: 3600 * 24 * 365 * 5,\n sigPeriod: 0, // Instant\n sigStock: 40,\n sigWindow: 3600 * 24 * 14, // 2 weeks\n sigValidity: 3600 * 24 * 365,\n msValidity: 3600 * 24 * 365,\n sigQty: 0,\n xpercent: 0.9,\n percentRot: 0.66,\n blocksRot: 20,\n avgGenTime: 16 * 60,\n dtDiffEval: 10,\n medianTimeBlocks: 20\n };\n }\n }).state('configure.choose', {\n url: '/choose',\n template: require('views/init/choose'),\n controller: function controller($scope, Importer) {\n Importer($scope);\n }\n }).state('configure.create', {\n url: '/create',\n template: '<div class=\"ui-scrollable\" ui-view=\"\"></div>'\n }).state('configure.create.uid', {\n url: '/create/uid',\n template: require('views/init/create/create_uid'),\n controller: 'IdentityController'\n }).state('configure.create.network', {\n url: '/create/network',\n template: require('views/init/create/create_network'),\n resolve: {\n netinterfaces: function netinterfaces(Webmin) {\n return resolveNetworkAutoConf(Webmin);\n },\n firstConf: function firstConf() {\n return true;\n }\n },\n controller: 'NetworkController'\n }).state('configure.create.parameters', {\n url: '/create/parameters',\n template: require('views/init/create/create_parameters'),\n controller: 'ParametersController'\n }).state('configure.create.root', {\n url: '/create/root',\n template: require('views/init/create/create_root'),\n controller: 'RootBlockController'\n }).state('sync', {\n url: '/sync?host=&port=&sync=&to=',\n template: require('views/init/sync/sync'),\n controller: 'SyncController'\n }).state('main', {\n abstract: true,\n url: '/main',\n template: require('views/main/main'),\n resolve: {\n ws: function ws(Webmin) {\n return Webmin.ws();\n },\n summary: function summary(Webmin) {\n return Webmin.summary();\n },\n uiModules: function uiModules(Webmin) {\n return co(regeneratorRuntime.mark(function _callee() {\n var modules, i, _module, injection, script;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.plugin.uiModules();\n\n case 2:\n modules = _context.sent;\n i = 0;\n\n case 4:\n if (!(i < modules.length)) {\n _context.next = 16;\n break;\n }\n\n _module = modules[i];\n _context.next = 8;\n return Webmin.plugin.uiGetMenuInjection(_module);\n\n case 8:\n injection = _context.sent;\n script = document.createElement(\"script\");\n\n script.type = \"text/javascript\";\n script.text = \";\" + injection.menu;\n document.body.appendChild(script);\n\n case 13:\n i++;\n _context.next = 4;\n break;\n\n case 16:\n return _context.abrupt('return', modules);\n\n case 17:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n }\n },\n controller: 'MainController'\n }).state('main.home', {\n abstract: true,\n url: '/home',\n template: require('views/main/home/home'),\n controller: 'HomeController'\n }).state('main.home.overview', {\n url: '/overview',\n template: require('views/main/home/tabs/overview'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'OverviewController'\n }).state('main.home.network', {\n url: '/network',\n template: require('views/main/home/tabs/network'),\n resolve: {\n peers: function peers(Webmin) {\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', Webmin.network.peers());\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n }\n },\n controller: 'HomeNetworkController'\n }).state('main.settings', {\n abstract: true,\n url: '/settings',\n template: require('views/main/settings/settings'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'SettingsController'\n }).state('main.settings.data', {\n url: '/data',\n template: require('views/main/settings/tabs/data'),\n resolve: {\n peers: function peers(Webmin) {\n return co(regeneratorRuntime.mark(function _callee3() {\n var self, res;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return Webmin.network.selfPeer();\n\n case 3:\n self = _context3.sent;\n _context3.next = 6;\n return Webmin.network.peers();\n\n case 6:\n res = _context3.sent;\n return _context3.abrupt('return', _.filter(res.peers, function (p) {\n return p.pubkey != self.pubkey && p.status == 'UP';\n }));\n\n case 10:\n _context3.prev = 10;\n _context3.t0 = _context3['catch'](0);\n\n console.error(_context3.t0);\n return _context3.abrupt('return', []);\n\n case 14:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 10]]);\n }));\n }\n },\n controller: 'DataController'\n }).state('main.settings.logs', {\n url: '/logs',\n template: require('views/main/settings/tabs/logs'),\n controller: 'LogsSettingsController'\n }).state('main.settings.backup', {\n url: '/backup',\n template: require('views/main/settings/tabs/backup'),\n controller: 'BackupController'\n }).state('main.settings.cpu', {\n url: '/cpu',\n template: require('views/main/settings/tabs/cpu'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'CPUController'\n }).state('main.settings.modules', {\n url: '/modules',\n template: require('views/main/settings/tabs/modules'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n },\n hasAccess: function hasAccess(Webmin) {\n return Webmin.plugin.checkAccess();\n },\n allModules: function allModules(Webmin) {\n return co(regeneratorRuntime.mark(function _callee4() {\n var modules;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return Webmin.plugin.allModules();\n\n case 2:\n modules = _context4.sent;\n return _context4.abrupt('return', modules);\n\n case 4:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n }\n },\n controller: 'ModulesController'\n }).state('main.settings.crypto', {\n url: '/crypto',\n template: require('views/main/settings/tabs/crypto'),\n controller: 'KeyController'\n }).state('main.settings.network', {\n url: '/network',\n resolve: {\n netinterfaces: function netinterfaces(Webmin) {\n return resolveNetworkAutoConf(Webmin);\n },\n firstConf: function firstConf() {\n return false;\n }\n },\n template: require('views/main/settings/tabs/network'),\n controller: 'NetworkController'\n }).state('main.settings.currency', {\n url: '/currency',\n resolve: {\n conf: function conf(summary) {\n return co(regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt('return', summary.parameters);\n\n case 1:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n }\n },\n template: require('views/main/settings/tabs/currency'),\n controller: 'CurrencyController'\n }).state('main.graphs', {\n abstract: true,\n url: '/graphs',\n template: require('views/main/graphs/graphs'),\n controller: 'GraphsController'\n }).state('main.graphs.blockchain', {\n url: '/blockchain',\n template: require('views/main/graphs/blockchain'),\n controller: 'GraphsBlockchainController'\n }).\n\n //state('graphs.crypto', {\n // url: '/crypto',\n // template: require('views/graphs/crypto'),\n // controller: 'KeyController'\n //}).\n //\n //state('graphs.network', {\n // url: '/network',\n // resolve: {\n // netinterfaces: (Webmin) => resolveNetworkAutoConf(Webmin),\n // firstConf: () => false\n // },\n // template: require('views/graphs/network'),\n // controller: 'NetworkController'\n //}).\n //\n //state('graphs.currency', {\n // url: '/currency',\n // resolve: {\n // conf: (bmapi) => co(function *() {\n // return bmapi.currency.parameters();\n // })\n // },\n // template: require('views/graphs/currency'),\n // controller: 'CurrencyController'\n //}).\n\n state('logs', {\n url: '/logs',\n template: require('views/logs'),\n resolve: {\n ws: function ws(Webmin) {\n return Webmin.ws();\n }\n },\n controller: 'LogsController'\n }).state('error', {\n url: '/error\\?err',\n template: require('views/error'),\n controller: function controller($scope, $stateParams) {\n return $scope.errorMsg = $stateParams.err || 'err.unknown';\n }\n });\n\n // Default route\n $urlRouterProvider.otherwise('/');\n }]);\n\n app.run(function ($rootScope, $state) {\n $rootScope.$on('$stateChangeError', function (event, toState, toParams, fromState, fromParams, error) {\n console.error(error);\n $state.go('error', { err: error.message });\n });\n });\n\n function resolveNetworkAutoConf(Webmin) {\n return co(regeneratorRuntime.mark(function _callee6() {\n var netinterfaces;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Webmin.network.interfaces();\n\n case 2:\n netinterfaces = _context6.sent;\n return _context6.abrupt('return', netinterfaces || { local: {}, remote: {} });\n\n case 4:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n }\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.config(['$translateProvider', function ($translateProvider) {\n\n $translateProvider.translations('en', require('./i18n/en'));\n\n // Default language\n $translateProvider.preferredLanguage('en');\n\n // Other parameters\n $translateProvider.useSanitizeValueStrategy('');\n }]);\n};\n","\"use strict\";\n\nmodule.exports = function Peer(json) {\n\n var that = this;\n\n var BMA_REGEXP = /^BASIC_MERKLED_API( ([a-z_][a-z0-9-_.]*))?( ([0-9.]+))?( ([0-9a-f:]+))?( ([0-9]+))$/;\n\n Object.keys(json).forEach(function (key) {\n that[key] = json[key];\n });\n\n that.endpoints = that.endpoints || [];\n that.statusTS = that.statusTS || 0;\n\n that.keyID = function () {\n return that.pubkey && that.pubkey.length > 10 ? that.pubkey.substring(0, 10) : \"Unknown\";\n };\n\n that.copyValues = function (to) {\n var obj = that;\n [\"version\", \"currency\", \"pub\", \"endpoints\", \"hash\", \"status\", \"statusTS\", \"block\", \"signature\"].forEach(function (key) {\n to[key] = obj[key];\n });\n };\n\n that.copyValuesFrom = function (from) {\n var obj = that;\n [\"version\", \"currency\", \"pub\", \"endpoints\", \"block\", \"signature\"].forEach(function (key) {\n obj[key] = from[key];\n });\n };\n\n that.json = function () {\n var obj = that;\n var json = {};\n [\"version\", \"currency\", \"endpoints\", \"status\", \"block\", \"signature\"].forEach(function (key) {\n json[key] = obj[key];\n });\n json.raw = that.getRaw();\n json.pubkey = that.pubkey;\n return json;\n };\n\n that.getBMA = function () {\n var bma = null;\n that.endpoints.forEach(function (ep) {\n var matches = !bma && ep.match(BMA_REGEXP);\n if (matches) {\n bma = {\n \"dns\": matches[2] || '',\n \"ipv4\": matches[4] || '',\n \"ipv6\": matches[6] || '',\n \"port\": matches[8] || 9101\n };\n }\n });\n return bma || {};\n };\n\n that.getDns = function () {\n var bma = that.getBMA();\n return bma.dns ? bma.dns : null;\n };\n\n that.getIPv4 = function () {\n var bma = that.getBMA();\n return bma.ipv4 ? bma.ipv4 : null;\n };\n\n that.getIPv6 = function () {\n var bma = that.getBMA();\n return bma.ipv6 ? bma.ipv6 : null;\n };\n\n that.getPort = function () {\n var bma = that.getBMA();\n return bma.port ? bma.port : null;\n };\n\n that.getHost = function () {\n var bma = that.getBMA();\n var host = that.hasValid4(bma) ? bma.ipv4 : bma.dns ? bma.dns : bma.ipv6 ? '[' + bma.ipv6 + ']' : '';\n return host;\n };\n\n that.getURL = function () {\n var bma = that.getBMA();\n var base = '';\n if (bma.dns) {\n base = bma.dns;\n } else if (that.hasValid4(bma)) {\n base = bma.ipv4;\n } else if (bma.ipv6) {\n base = '[' + bma.ipv6 + ']';\n }\n if (bma.port) base += ':' + bma.port;\n return base;\n };\n\n that.hasValid4 = function (bma) {\n return bma.ipv4 && !bma.ipv4.match(/^127.0/) && !bma.ipv4.match(/^192.168/) ? true : false;\n };\n\n that.getNamedURL = function () {\n var bma = that.getBMA();\n var base = that.hasValid4(bma) ? bma.ipv4 : bma.dns ? bma.dns : bma.ipv6 ? '[' + bma.ipv6 + ']' : '';\n if (bma.port) base += ':' + bma.port;\n return base;\n };\n\n that.isReachable = function () {\n return that.getURL() ? true : false;\n };\n};\n","\"use strict\";\n\nmodule.exports = function mobilecheck() {\n var check = false;\n (function (a) {\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true;\n })(navigator.userAgent || navigator.vendor || window.opera);\n return check;\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n var Base58 = {};\n\n Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\n Base58.alphabetMap = {};\n\n for (var i = 0; i < Base58.alphabet.length; i++) {\n Base58.alphabetMap[Base58.alphabet.charAt(i)] = i;\n }\n\n Base58.encode = function (buffer) {\n if (buffer.length === 0) return '';\n\n var i = void 0,\n j = void 0,\n digits = [0];\n for (i = 0; i < buffer.length; i++) {\n for (j = 0; j < digits.length; j++) {\n digits[j] <<= 8;\n }digits[digits.length - 1] += buffer[i];\n\n var carry = 0;\n for (j = digits.length - 1; j >= 0; j--) {\n digits[j] += carry;\n carry = digits[j] / 58 | 0;\n digits[j] %= 58;\n }\n\n while (carry) {\n digits.unshift(carry);\n carry = digits[0] / 58 | 0;\n digits[0] %= 58;\n }\n }\n\n // deal with leading zeros\n for (i = 0; i < buffer.length - 1 && buffer[i] == 0; i++) {\n digits.unshift(0);\n }return digits.map(function (digit) {\n return Base58.alphabet[digit];\n }).join('');\n };\n\n Base58.decode = function (string) {\n if (string.length === 0) return new Uint8Array();\n\n var input = string.split('').map(function (c) {\n return Base58.alphabetMap[c];\n });\n\n var i = void 0,\n j = void 0,\n bytes = [0];\n for (i = 0; i < input.length; i++) {\n for (j = 0; j < bytes.length; j++) {\n bytes[j] *= 58;\n }bytes[bytes.length - 1] += input[i];\n\n var carry = 0;\n for (j = bytes.length - 1; j >= 0; j--) {\n bytes[j] += carry;\n carry = bytes[j] >> 8;\n bytes[j] &= 0xff;\n }\n\n while (carry) {\n bytes.unshift(carry);\n carry = bytes[0] >> 8;\n bytes[0] &= 0xff;\n }\n }\n\n // deal with leading zeros\n for (i = 0; i < input.length - 1 && input[i] == 0; i++) {\n bytes.unshift(0);\n }return new Uint8Array(bytes);\n };\n\n app.factory('Base58', function () {\n return {\n encode: Base58.encode,\n decode: Base58.decode\n };\n });\n};\n","'use strict';\n\nvar _ = require('underscore');\nvar conf = require('../lib/conf/conf');\nvar moment = require('moment');\n\nmodule.exports = function (app) {\n\n app.filter('mt_date', function () {\n return function (input) {\n if (input == null) {\n return \"\";\n }\n return moment(input * 1000).format('YYYY MM DD');\n };\n });\n\n app.filter('mt_time', function () {\n return function (input) {\n if (input == null) {\n return \"\";\n }\n return moment(input * 1000).format('HH:mm:ss');\n };\n });\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('Graph', function () {\n return {\n\n speedGraph: function speedGraphs(id, offset, speeds, minSpeeds, maxSpeeds, getSeries) {\n var xValuex = [];\n for (var i = 0, len = speeds.length; i < len; i++) {\n xValuex.push(i + offset);\n }\n $(id).highcharts({\n chart: {\n type: \"area\",\n zoomType: 'x',\n events: {\n load: function load() {\n getSeries(this.series);\n }\n }\n },\n title: {\n text: 'Blocks writing speed'\n },\n subtitle: {\n text: document.ontouchstart === undefined ? 'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'\n },\n xAxis: {\n //categories: xValuex,\n minRange: 3, // 10 blocks,\n labels: {\n formatter: function formatter() {\n return this.value + offset;\n }\n }\n },\n yAxis: {\n //type: 'logarithmic',\n minorTickInterval: 1,\n title: {\n text: 'Blocks per hour (logarithmic scale)'\n },\n floor: 0,\n min: 0\n },\n colors: ['#ff0000', '#7cb5ec', '#000000'],\n legend: {\n enabled: true\n },\n tooltip: {\n shared: true,\n crosshairs: true,\n formatter: blockFormatter(offset)\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [[0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]]\n },\n marker: {\n radius: 2\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1\n }\n },\n threshold: null\n }\n },\n\n series: [{\n type: 'line',\n name: \"Upper limit\",\n data: maxSpeeds\n }, {\n type: 'area',\n name: \"Actual speed\",\n data: speeds\n }, {\n type: 'line',\n name: \"Lower limit\",\n data: minSpeeds\n }]\n });\n },\n\n difficultyGraph: function difficultyGraph(id, offset, difficulties) {\n $(id).highcharts({\n chart: {\n type: \"area\",\n zoomType: 'x'\n },\n title: {\n text: 'Proof-of-Work difficulty by block'\n },\n subtitle: {\n text: document.ontouchstart === undefined ? 'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'\n },\n xAxis: {\n minRange: 10, // 10 blocks,\n labels: {\n formatter: function formatter() {\n return this.value + offset;\n }\n }\n },\n yAxis: {\n title: {\n text: 'Number of zeros'\n },\n floor: 0,\n min: 0\n },\n legend: {\n enabled: true\n },\n tooltip: {\n shared: true,\n crosshairs: true,\n formatter: blockFormatter(offset)\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [[0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]]\n },\n marker: {\n radius: 2\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1\n }\n },\n threshold: null\n }\n },\n\n series: [{\n name: 'PoW difficulty',\n data: difficulties\n }]\n });\n },\n\n timeGraphs: function timeGraphs(id, offset, timeAccelerations, medianTimeIncrements, speeds, minSpeeds, maxSpeeds) {\n var timesInc = [];\n medianTimeIncrements.forEach(function (inc) {\n timesInc.push(inc == 0 ? 1 : inc);\n });\n $(id).highcharts({\n chart: {\n // type: \"area\",\n zoomType: 'x'\n },\n title: {\n text: 'Blockchain time variations'\n },\n subtitle: {\n text: document.ontouchstart === undefined ? 'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'\n },\n xAxis: {\n minRange: 10, // 10 blocks,\n labels: {\n formatter: function formatter() {\n return this.value + offset;\n }\n }\n },\n yAxis: {\n //type: 'logarithmic',\n minorTickInterval: 1,\n title: {\n text: 'Number of seconds (logarithmic scale)'\n }\n },\n legend: {\n enabled: true\n },\n tooltip: {\n shared: true,\n crosshairs: true,\n formatter: blockFormatter(offset)\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [[0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]]\n },\n marker: {\n radius: 2\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1\n }\n },\n threshold: null\n }\n },\n\n series: [{\n name: 'Time acceleration',\n data: timeAccelerations\n }, {\n name: \"Median Time variation\",\n data: timesInc\n }, {\n name: \"Too high duration\",\n data: maxSpeeds\n }, {\n name: \"Actual duration\",\n data: speeds\n }, {\n name: \"Too low duration\",\n data: minSpeeds\n }]\n });\n }\n };\n });\n};\n\nfunction blockFormatter(offset) {\n return function () {\n var html = '<span style=\"font-size: 10px\">' + (this.x + offset) + '</span><br/>';\n for (var i = 0, len = this.points.length; i < len; i++) {\n var point = this.points[i];\n var series = point.series;\n html += '<span style=\"color:' + series.color + '\">\\u25CF</span>' + series.name + ': <b>' + point.y + '</b><br/>';\n }\n return html;\n };\n}\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('Importer', function ($http, $state, $timeout, UIUtils, Upload, Webmin) {\n\n return function ($scope) {\n\n $scope.uploadFiles = function (file, errFiles) {\n $scope.f = file;\n $scope.errFile = errFiles && errFiles[0];\n if (file) {\n UIUtils.toast('settings.data.backup.importing');\n file.upload = Upload.upload({\n url: Webmin.getImportURL(),\n data: { importData: file }\n });\n\n file.upload.then(function (response) {\n $timeout(function () {\n UIUtils.toast('settings.data.backup.imported');\n $state.go('main.home.overview');\n file.result = response.data;\n });\n }, function (response) {\n if (response.status > 0) $scope.errorMsg = response.status + ': ' + response.data;\n }, function (evt) {\n file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));\n });\n }\n };\n };\n });\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('PubkeyGenerator', function ($timeout, Webmin) {\n\n var co = require('co');\n\n return function ($scope) {\n\n var concat = \"\";\n $scope.pubkey_preview = \"\";\n var timeout = preview();\n\n function preview() {\n return $timeout(function () {\n if ($scope.$parent) {\n var salt = $scope.$parent.conf.idty_entropy;\n var pass = $scope.$parent.conf.idty_password;\n var newConcat = [salt, pass].join('');\n if (salt && pass && newConcat != concat) {\n concat = newConcat;\n $scope.previewPubkey(concat);\n timeout = preview();\n } else {\n timeout = preview();\n }\n }\n }, 100);\n }\n\n $scope.previewPubkey = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var data;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.key.preview({\n conf: $scope.$parent.conf\n });\n\n case 2:\n data = _context.sent;\n\n $scope.pubkey_preview = data.pubkey;\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n })).catch(function () {\n return null;\n });\n };\n };\n });\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('UIUtils', function ($q, $translate, $state, $location) {\n return {\n\n translate: function translate(msg) {\n return $q.when($translate(msg));\n },\n\n toastRaw: function toastRaw(msg) {\n return Materialize.toast(msg, 4000);\n },\n\n toast: function toast(msg) {\n return $q.when($translate(msg)).then(function (translated) {\n return Materialize.toast(translated, 4000);\n });\n },\n\n enableInputs: function enableInputs() {\n return $('i.prefix, label[value!=\"\"]').addClass('active');\n },\n\n enableTabs: function enableTabs() {\n var jTabs = $('ul.tabs');\n jTabs.tabs();\n $('ul.tabs a').click(function (e) {\n var href = $(e.currentTarget).attr('href');\n var state = href.slice(1);\n $state.go(state);\n });\n\n var currentID = $location.path().replace(/\\//g, '.').replace(/\\./, '');\n\n jTabs.tabs('select_tab', currentID);\n },\n\n changeTitle: function changeTitle(version) {\n return document.title = 'Duniter ' + version;\n }\n };\n });\n};\n","'use strict';\n\nvar _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; };\n\nvar co = require('co');\nvar _ = require('underscore');\nvar conf = require('../lib/conf/conf');\n\nmodule.exports = function (angular) {\n\n angular.module('duniter.services.webmin', ['ngResource']).factory('Webmin', function ($http, $q) {\n\n function httpProtocol() {\n return window.location.protocol + '//';\n }\n\n function wsProtocol() {\n return window.location.protocol === 'https:' ? 'wss://' : 'ws://';\n }\n\n function Webmin(server) {\n\n function getResource(uri, protocol) {\n return function (params) {\n return $q.when(httpGet(uri, params, protocol));\n };\n }\n\n function httpGet(uri, params, protocol) {\n return Q.Promise(function (resolve, reject) {\n var config = {\n timeout: conf.api_timeout\n },\n suffix = '',\n pkeys = [],\n queryParams = null;\n if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) == 'object') {\n pkeys = _.keys(params);\n queryParams = {};\n }\n pkeys.forEach(function (pkey) {\n var prevURI = uri;\n uri = uri.replace(new RegExp(':' + pkey), params[pkey]);\n if (prevURI == uri) {\n queryParams[pkey] = params[pkey];\n }\n });\n config.params = queryParams;\n $http.get((protocol || httpProtocol()) + server + uri + suffix, config).success(function (data, status, headers, config) {\n resolve(data);\n }).error(function (data, status, headers, config) {\n console.log(data);\n reject(data);\n });\n });\n }\n\n function postResource(uri) {\n return function (data, params) {\n return $q.when(Q.Promise(function (resolve, reject) {\n var config = {\n timeout: 4000\n },\n suffix = '',\n pkeys = [],\n queryParams = null;\n if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) == 'object') {\n pkeys = _.keys(params);\n queryParams = {};\n }\n pkeys.forEach(function (pkey) {\n var prevURI = uri;\n uri = uri.replace(new RegExp(':' + pkey), params[pkey]);\n if (prevURI == uri) {\n queryParams[pkey] = params[pkey];\n }\n });\n config.params = queryParams;\n $http.post(httpProtocol() + server + uri + suffix, data, config).success(function (data, status, headers, config) {\n resolve(data);\n }).error(function (data, status, headers, config) {\n reject(data);\n });\n }));\n };\n }\n\n var wsMap = {};\n\n function _ws(uri) {\n var sock = wsMap[uri] || new WebSocket(uri);\n wsMap[uri] = sock;\n sock.onclose = function (e) {\n console.log('close');\n console.log(e);\n };\n sock.onerror = function (e) {\n console.log('onerror');\n console.log(e);\n };\n var opened = false,\n openedCallback = void 0;\n sock.onopen = function () {\n opened = true;\n openedCallback && openedCallback();\n };\n var listener = void 0,\n messageType = void 0;\n sock.onmessage = function (e) {\n var res = JSON.parse(e.data);\n if (res.type == 'log') {\n for (var i = 0, len = res.value.length; i < len; i++) {\n var log = res.value[i];\n // console[log.level](log.msg);\n }\n }\n if (listener && (messageType === undefined || res.type === messageType)) {\n listener(res);\n }\n };\n return {\n on: function on(type, callback) {\n messageType = type;\n listener = callback;\n },\n whenOpened: function whenOpened() {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!opened) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt('return', true);\n\n case 4:\n _context.next = 6;\n return Q.Promise(function (resolve) {\n openedCallback = resolve;\n });\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n },\n send: function send(msg) {\n return sock.send(msg);\n }\n };\n }\n\n return {\n getExportURL: function getExportURL() {\n return httpProtocol() + server + '/webmin/data/duniter_export';\n },\n getImportURL: function getImportURL() {\n return httpProtocol() + server + '/webmin/data/duniter_import';\n },\n isNodePubliclyReachable: getResource('/webmin/server/reachable'),\n ws: function ws() {\n return _ws(wsProtocol() + server + '/webmin/ws');\n },\n wsBlock: function wsBlock() {\n return _ws(wsProtocol() + server + '/webmin/ws_block');\n },\n wsPeer: function wsPeer() {\n return _ws(wsProtocol() + server + '/webmin/ws_peer');\n },\n summary: getResource('/webmin/summary'),\n powSummary: getResource('/webmin/summary/pow'),\n logsExport: function logsExport(nbLines) {\n return getResource('/webmin/logs/export/' + nbLines)();\n },\n blockchain: {\n blocks: function blocks(opts) {\n return getResource('/webmin/blockchain/blocks/' + opts.count + '/' + opts.from)();\n },\n block_add: postResource('/webmin/blockchain/add')\n },\n server: {\n http: {\n start: getResource('/webmin/server/http/start'),\n stop: getResource('/webmin/server/http/stop'),\n openUPnP: getResource('/webmin/server/http/upnp/open'),\n regularUPnP: getResource('/webmin/server/http/upnp/regular')\n },\n services: {\n startAll: getResource('/webmin/server/services/start_all'),\n stopAll: getResource('/webmin/server/services/stop_all')\n },\n sendConf: postResource('/webmin/server/send_conf'),\n netConf: postResource('/webmin/server/net_conf'),\n keyConf: postResource('/webmin/server/key_conf'),\n cpuConf: postResource('/webmin/server/cpu_conf'),\n testSync: postResource('/webmin/server/test_sync'),\n startSync: postResource('/webmin/server/start_sync'),\n previewNext: getResource('/webmin/server/preview_next'),\n autoConfNetwork: getResource('/webmin/server/auto_conf_network'),\n resetData: getResource('/webmin/server/reset/data'),\n republishNewSelfPeer: getResource('/webmin/server/republish_selfpeer')\n },\n key: {\n preview: postResource('/webmin/key/preview')\n },\n network: {\n interfaces: getResource('/webmin/network/interfaces'),\n selfPeer: getResource('/webmin/network/self'),\n peers: getResource('/webmin/network/peers')\n },\n currency: {\n parameters: getResource('/webmin/currency/parameters')\n },\n plugin: {\n allModules: getResource('/webmin/plug/modules'),\n uiModules: getResource('/webmin/plug/ui_modules'),\n uiGetMenuInjection: function uiGetMenuInjection(moduleName) {\n return getResource('/webmin/plug/ui_modules/inject/' + moduleName)();\n },\n checkAccess: getResource('/webmin/plug/check_access'),\n addPackage: function addPackage(pkg) {\n return getResource('/webmin/plug/add/' + encodeURIComponent(pkg), null, 60000)();\n },\n removePackage: function removePackage(pkg) {\n return getResource('/webmin/plug/rem/' + encodeURIComponent(pkg))();\n }\n }\n };\n }\n var server = window.location.hostname;\n var port = window.location.port;\n var service = Webmin([server, port].join(':'));\n service.instance = Webmin;\n return service;\n });\n};\n"]} \ No newline at end of file +{"version":3,"sources":["app/js/controllers/AboutController.js","app/js/controllers/IndexController.js","app/js/controllers/init/create/IdentityController.js","app/js/controllers/init/create/ParametersController.js","app/js/controllers/init/create/RootBlockController.js","app/js/controllers/init/sync/SyncController.js","app/js/controllers/main/MainController.js","app/js/controllers/main/graphs/GraphsBlockchainController.js","app/js/controllers/main/graphs/GraphsController.js","app/js/controllers/main/home/HomeController.js","app/js/controllers/main/home/tabs/HomeNetworkController.js","app/js/controllers/main/home/tabs/OverviewController.js","app/js/controllers/main/settings/SettingsController.js","app/js/controllers/main/settings/tabs/BackupController.js","app/js/controllers/main/settings/tabs/CPUController.js","app/js/controllers/main/settings/tabs/CurrencyController.js","app/js/controllers/main/settings/tabs/DataController.js","app/js/controllers/main/settings/tabs/KeyController.js","app/js/controllers/main/settings/tabs/LogsController.js","app/js/controllers/main/settings/tabs/LogsSettingsController.js","app/js/controllers/main/settings/tabs/ModulesController.js","app/js/controllers/main/settings/tabs/NetworkController.js","app/js/app.config.js","app/js/application.js","app/js/lib/conf/conf.js","app/js/lib/conf/i18n/en.json","app/js/lib/conf/routes.js","app/js/lib/conf/translate.js","app/js/lib/entity/peer.js","app/js/lib/mobileDetector.js","app/js/services/base58.js","app/js/services/datetime.js","app/js/services/graphs.js","app/js/services/importer.js","app/js/services/pubkeyGenerator.js","app/js/services/ui_utils.js","app/js/services/webmin.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1DA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1BA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzNA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzLA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3MA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9JA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7PA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnDA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAxCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzFA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AArDA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA5JA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlFA;AAAA;CCAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtFA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3NA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1aA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnHA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAxFA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1BA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlPA;AAAA;CCAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlCA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7DA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7CA;AAAA;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlPA;AAAA","file":"public/app.js","sourcesContent":["\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, version, UIUtils) {\n\n $scope.version = version;\n\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return UIUtils.translate('help.about_duniter.title');\n\n case 2:\n $scope.$parent.title = _context.sent;\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, Webmin, summary, UIUtils) {\n\n UIUtils.changeTitle(summary.version);\n\n $scope.message = 'index.message.loading';\n co(regeneratorRuntime.mark(function _callee() {\n var connected, _summary;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n connected = false;\n _context.prev = 1;\n _context.next = 4;\n return Webmin.summary();\n\n case 4:\n _summary = _context.sent;\n\n if (!_summary.current) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt('return', $state.go('main.home.overview'));\n\n case 7:\n return _context.abrupt('return', $state.go('configure.choose'));\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context['catch'](1);\n\n console.error(connected, _context.t0);\n\n if (connected) {\n _context.next = 15;\n break;\n }\n\n return _context.abrupt('return', $state.go('error', { err: 'err.connection' }));\n\n case 15:\n return _context.abrupt('return', $state.go('error', { err: _context.t0 }));\n\n case 16:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 10]]);\n }));\n};\n","\"use strict\";\n\nvar conf = require('js/lib/conf/conf');\n\nmodule.exports = function ($scope, $state, PubkeyGenerator) {\n\n setTimeout(function () {\n $('select').material_select();\n }, 500);\n\n $scope.accept = function () {\n var modal = $('#modal1');\n if (modal.css('display') == 'none') {\n $('#modal1').openModal();\n }\n };\n\n PubkeyGenerator($scope);\n\n if (conf.dev_autoconf) {\n $scope.$parent.conf.idty_uid = 'dev_' + ~~(Math.random() * 2147483647);\n $scope.$parent.conf.idty_entropy = ~~(Math.random() * 2147483647) + \"\";\n $scope.$parent.conf.idty_password = ~~(Math.random() * 2147483647) + \"\";\n $state.go('configure.create.network');\n }\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, UIUtils) {\n\n UIUtils.enableInputs();\n};\n","\"use strict\";\n\nvar co = require('co');\nvar conf = require('js/lib/conf/conf');\n\nmodule.exports = function ($scope, $http, $state, Webmin) {\n\n $scope.generated = '';\n $scope.started = false;\n $scope.message = 'configuration.create_root.need_a_try';\n\n $scope.start = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var hosts;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n hosts = [];\n\n if ($scope.$parent.conf.remote_ipv4) {\n hosts.push([$scope.$parent.conf.remote_ipv4, $scope.$parent.conf.rport].join(':'));\n }\n if ($scope.$parent.conf.remote_ipv6) {\n hosts.push([\"[\" + $scope.$parent.conf.remote_ipv6 + \"]\", $scope.$parent.conf.rport].join(':'));\n }\n $scope.host_listening = hosts.join('\\n');\n $scope.started = true;\n _context.next = 8;\n return Webmin.server.sendConf({\n conf: $scope.$parent.conf\n });\n\n case 8:\n _context.next = 10;\n return $scope.try();\n\n case 10:\n _context.next = 15;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context['catch'](0);\n\n $scope.message = _context.t0.message;\n\n case 15:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[0, 12]]);\n }));\n };\n\n $scope.stop = function () {\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n $scope.started = false;\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n $scope.try = function () {\n return co(regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return Webmin.server.previewNext();\n\n case 3:\n $scope.block = _context3.sent;\n\n $scope.generated = $scope.block.raw;\n $scope.message = '';\n _context3.next = 11;\n break;\n\n case 8:\n _context3.prev = 8;\n _context3.t0 = _context3['catch'](0);\n\n $scope.message = _context3.t0.message;\n\n case 11:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 8]]);\n }));\n };\n\n $scope.accept = function () {\n return co(regeneratorRuntime.mark(function _callee4() {\n var res;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return Webmin.blockchain.block_add({\n block: $scope.generated\n });\n\n case 2:\n res = _context4.sent;\n\n if (!(res.number == 0)) {\n _context4.next = 6;\n break;\n }\n\n _context4.next = 6;\n return $scope.startServices();\n\n case 6:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n };\n\n $scope.startServices = function () {\n return co(regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return Webmin.server.services.startAll();\n\n case 2:\n $state.go('index');\n\n case 3:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n };\n\n $scope.cancelAndReset = function () {\n return co(regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n _context6.next = 4;\n return Webmin.server.resetData();\n\n case 4:\n $state.go('index');\n\n case 5:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n };\n\n return co(regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.prev = 0;\n _context7.next = 3;\n return $scope.start();\n\n case 3:\n _context7.next = 5;\n return $scope.try();\n\n case 5:\n $scope.started = true;\n _context7.next = 11;\n break;\n\n case 8:\n _context7.prev = 8;\n _context7.t0 = _context7['catch'](0);\n\n $scope.started = false;\n\n case 11:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this, [[0, 8]]);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, $timeout, $stateParams, $translate, UIUtils, Webmin) {\n\n var syncWS = Webmin.ws();\n\n UIUtils.enableInputs();\n $scope.sync_mode = 'simplified';\n $scope.simplified_host = '';\n $scope.synchronizing = false;\n $scope.sync_failed = false;\n $scope.host = $stateParams.host || localStorage.getItem('sync_host') || '';\n $scope.port = parseInt($stateParams.port) || parseInt(localStorage.getItem('sync_port')) || 10901;\n $scope.to = parseInt($stateParams.to);\n $scope.wrong_host = false;\n $scope.remote_current = null;\n\n $scope.checkNode = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var current, targetHost;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.checked_host = '';\n $scope.sync_error = '';\n $scope.sync_message = '';\n if ($scope.sync_mode == 'simplified') {\n $scope.host = $scope.simplified_host.split(':')[0];\n $scope.port = parseInt($scope.simplified_host.split(':')[1]);\n }\n $scope.checking = true;\n _context.prev = 5;\n _context.next = 8;\n return Webmin.server.testSync({\n host: $scope.host,\n port: $scope.port\n });\n\n case 8:\n current = _context.sent;\n targetHost = [$scope.host, $scope.port].join(':');\n\n if (current) {\n $scope.remote_current = current;\n $scope.checked_host = targetHost;\n }\n UIUtils.toast('sync.ready.node.part1');\n $timeout(function () {\n if (!$scope.synchronizing) {\n UIUtils.toast('sync.ready.node.part2');\n }\n }, 6000);\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context['catch'](5);\n\n $scope.sync_error = 'sync.error.unreachable.try.another.node';\n\n case 18:\n $scope.checking = false;\n return _context.abrupt('return', $scope.checked_host ? true : false);\n\n case 20:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[5, 15]]);\n }));\n };\n\n $scope.startSync = function () {\n $scope.down_percent = 0;\n $scope.apply_percent = 0;\n $scope.sync_failed = false;\n $scope.synchronizing = true;\n return co(regeneratorRuntime.mark(function _callee2() {\n var sp, translatedErr;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return $translate('sync.started.node');\n\n case 2:\n _context2.t0 = _context2.sent;\n _context2.t1 = _context2.t0 + ' ';\n _context2.t2 = $scope.checked_host;\n $scope.sync_message = _context2.t1 + _context2.t2;\n sp = $scope.checked_host.split(':');\n _context2.next = 9;\n return $translate('err.sync.interrupted');\n\n case 9:\n translatedErr = _context2.sent;\n\n syncWS.on(undefined, function (data) {\n if (data.type == 'sync') {\n $scope.down_percent = 100;\n $scope.apply_percent = 100;\n $scope.sync_failed = data.value;\n var errorMessage = data.msg && (data.msg.message || data.msg);\n errorMessage = translatedErr + ' « ' + errorMessage + ' »';\n Webmin.server.republishNewSelfPeer().then(function () {\n return console.log('Peer republished');\n });\n if (data.value === true) {\n $state.go('index');\n } else {\n $state.go('error', { err: errorMessage });\n }\n } else {\n var changed = true;\n if (data.type == 'download' && $scope.down_percent != data.value) {\n $scope.down_percent = data.value;\n changed = true;\n }\n if (data.type == 'applied' && $scope.apply_percent != data.value) {\n $scope.apply_percent = data.value;\n changed = true;\n }\n if (changed) {\n $scope.$apply();\n }\n }\n });\n _context2.next = 13;\n return Webmin.server.autoConfNetwork();\n\n case 13:\n localStorage.setItem(\"sync_host\", sp[0]);\n localStorage.setItem(\"sync_port\", sp[1]);\n Webmin.server.startSync({\n host: sp[0],\n port: sp[1],\n to: $scope.to,\n chunkLen: Math.max(500, Math.min(25, $scope.remote_current ? $scope.remote_current.number / 100 : 0))\n });\n\n case 16:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n // Autostart\n if ($scope.host && $scope.port && $stateParams.sync) {\n return co(regeneratorRuntime.mark(function _callee3() {\n var nodeOK;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return $scope.checkNode();\n\n case 2:\n nodeOK = _context3.sent;\n\n if (!nodeOK) {\n _context3.next = 5;\n break;\n }\n\n return _context3.abrupt('return', $scope.startSync());\n\n case 5:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n }\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $state, $http, $timeout, $interval, Webmin, uiModules, summary, UIUtils) {\n\n $scope.externalMenus = [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n var _loop = function _loop() {\n var moduleName = _step.value;\n\n var module = window.uiModules[moduleName];\n if (module) {\n $scope.externalMenus.push({\n menuOpen: function menuOpen() {\n return module.menuOpen(summary);\n },\n menuIconClass: module.menuIconClass,\n menuLabel: module.menuLabel\n });\n }\n };\n\n for (var _iterator = uiModules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n $scope.notifications = {\n help: []\n };\n\n Waves.displayEffect();\n\n var isMobile = require('js/lib/mobileDetector');\n if (isMobile()) {\n $(\".button-collapse\").sideNav({\n menuWidth: 280\n });\n }\n\n UIUtils.changeTitle(summary.version);\n\n var aboutWin = void 0;\n\n $scope.showAbout = function () {\n if (aboutWin) {\n aboutWin.focus();\n } else {\n openWindow(window.location.origin + '/#/about', {\n position: 'center',\n height: 380,\n width: 510\n }, function (subwin) {\n subwin.window.gui = window.gui;\n subwin.on('closed', function () {\n aboutWin = null;\n mainWindow.focus();\n });\n aboutWin = subwin;\n });\n }\n };\n\n $scope.startServer = function () {\n $scope.server_stopped = false;\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.services.startAll();\n\n case 2:\n $scope.server_started = true;\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n $scope.stopServer = function () {\n $scope.server_started = false;\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n $scope.server_stopped = true;\n\n case 3:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n $scope.restartServer = function () {\n return co(regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return $scope.stopServer();\n\n case 2:\n _context3.next = 4;\n return $scope.startServer();\n\n case 4:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n };\n\n function checkUpdates() {\n var LATEST_RELEASE_URL = 'https://api.github.com/repos/duniter/duniter/releases/latest';\n co(regeneratorRuntime.mark(function _callee4() {\n var latest, local_string_version, m, localVersion, localSuffix, isLocalAPreRelease, remoteVersion;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n _context4.next = 3;\n return $http.get(LATEST_RELEASE_URL);\n\n case 3:\n latest = _context4.sent;\n local_string_version = 'v' + summary.version;\n m = local_string_version.match(/^v([\\d.]+)([ab]?\\d*)/);\n localVersion = m && m[1] || \"\";\n localSuffix = m && m[2];\n isLocalAPreRelease = !!localSuffix;\n remoteVersion = latest.data.tag_name.substr(1);\n\n if (localVersion < remoteVersion || localVersion == remoteVersion && isLocalAPreRelease) {\n if ($scope.notifications.help.filter(function (entry) {\n return entry.message == 'help.new_version_available';\n }).length == 0) {\n $scope.notifications.help.push({\n icon: 'play_for_work',\n message: 'help.new_version_available',\n onclick: function onclick() {\n return openExternal('https://github.com/duniter/duniter/releases/latest');\n }\n });\n }\n }\n _context4.next = 16;\n break;\n\n case 13:\n _context4.prev = 13;\n _context4.t0 = _context4['catch'](0);\n\n console.error(_context4.t0);\n\n case 16:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this, [[0, 13]]);\n }));\n }\n\n $interval(checkUpdates, 1000 * 3600);\n $timeout(checkUpdates, 1000);\n};\n","\"use strict\";\n\nvar BLOCKS_COUNT = 40;\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $state, $timeout, Webmin, UIUtils, Graph) {\n\n var data = {};\n\n $scope.loading = true;\n $scope.blocksCount = $scope.blocksCount || BLOCKS_COUNT;\n\n $scope.$watch('withTime', function (newValue) {\n if (newValue) {\n timeGraph();\n }\n });\n\n $scope.$watch('withSpeed', function (newValue) {\n if (newValue) {\n speedGraph();\n }\n });\n\n $scope.$watch('withDifficulty', function (newValue) {\n if (newValue) {\n diffGraph();\n }\n });\n\n $scope.updateGraphs = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var summary, parameters, blocks, speeds, accelerations, medianTimeIncrements, actualDurations, BY_HOUR, i, len, block, acc, previousPos, j, availPreviousBlocks, localAvgSpeed, realDuration, graphs, _i, _len;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.summary();\n\n case 2:\n summary = _context.sent;\n _context.next = 5;\n return Webmin.currency.parameters();\n\n case 5:\n parameters = _context.sent;\n _context.next = 8;\n return Webmin.blockchain.blocks({\n count: $scope.blocksCount,\n from: Math.max(0, summary.current.number - $scope.blocksCount)\n });\n\n case 8:\n blocks = _context.sent;\n speeds = [], accelerations = [], medianTimeIncrements = [], actualDurations = [];\n BY_HOUR = 3600;\n\n for (i = 0, len = blocks.length; i < len; i++) {\n block = blocks[i];\n acc = 0;\n previousPos = Math.max(0, i - parameters.dtDiffEval);\n\n for (j = previousPos; j < i; j++) {\n acc += blocks[j + 1].medianTime - blocks[j].medianTime;\n }\n availPreviousBlocks = i - 1 - previousPos;\n localAvgSpeed = acc / (availPreviousBlocks || 1);\n realDuration = !isNaN(localAvgSpeed) && localAvgSpeed != 0 ? localAvgSpeed : parameters.avgGenTime;\n\n actualDurations.push(parseFloat(realDuration.toFixed(2)));\n speeds.push(parseFloat((BY_HOUR / realDuration).toFixed(2)));\n accelerations.push(block.time - block.medianTime);\n medianTimeIncrements.push(block.medianTime - (i ? blocks[i - 1].medianTime : block.medianTime));\n }\n data.summary = summary;\n data.speeds = speeds;\n data.accelerations = accelerations;\n data.medianTimeIncrements = medianTimeIncrements;\n data.actualDurations = actualDurations;\n data.minSpeeds = speeds.map(function () {\n return parseFloat((BY_HOUR / Math.ceil(parameters.avgGenTime * Math.sqrt(1.066))).toFixed(2));\n });\n data.maxSpeeds = speeds.map(function () {\n return parseFloat((BY_HOUR / Math.floor(parameters.avgGenTime / Math.sqrt(1.066))).toFixed(2));\n });\n data.minDurations = speeds.map(function () {\n return parseFloat((parameters.avgGenTime / 1.066).toFixed(2));\n });\n data.maxDurations = speeds.map(function () {\n return parseFloat((parameters.avgGenTime * 1.066).toFixed(2));\n });\n data.difficulties = blocks.map(function (b) {\n return b.powMin;\n });\n\n graphs = [];\n\n if ($scope.withTime) graphs.push(timeGraph);\n if ($scope.withSpeed) graphs.push(speedGraph);\n if ($scope.withDifficulty) graphs.push(diffGraph);\n for (_i = 0, _len = graphs.length; _i < _len; _i++) {\n graphs[_i]();\n }\n $scope.loading = false;\n\n case 28:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n function timeGraph() {\n if ($scope.withTime) {\n Graph.timeGraphs('#timeGraph', Math.max(0, data.summary.current.number - $scope.blocksCount + 1), data.accelerations, data.medianTimeIncrements, data.actualDurations, data.minDurations, data.maxDurations);\n }\n }\n\n function speedGraph() {\n if ($scope.withSpeed) {\n Graph.speedGraph('#speedGraph', Math.max(0, data.summary.current.number - $scope.blocksCount), data.speeds, data.minSpeeds, data.maxSpeeds, function (series) {\n $scope.series = series;\n });\n }\n }\n\n function diffGraph() {\n if ($scope.withDifficulty) {\n Graph.difficultyGraph('#difficultyGraph', Math.max(0, data.summary.current.number - $scope.blocksCount), data.difficulties);\n }\n }\n\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return $scope.updateGraphs();\n\n case 2:\n $scope.withTime = true;\n $scope.withDifficulty = true;\n $scope.$apply();\n\n case 5:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, UIUtils) {\n\n UIUtils.enableTabs();\n\n $scope.$parent.menu = 'graphs';\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, UIUtils) {\n\n UIUtils.enableTabs();\n\n $scope.$parent.menu = 'home';\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, Webmin, peers) {\n\n $scope.peers = peers.peers;\n\n var co = require('co');\n\n $scope.update = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var delayP;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.searching = true;\n delayP = Q.delay(500);\n _context.next = 4;\n return Webmin.network.peers();\n\n case 4:\n $scope.peers = _context.sent.peers;\n _context.next = 7;\n return delayP;\n\n case 7:\n $scope.searching = false;\n $scope.$apply();\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, $interval, Webmin, UIUtils, summary, ws) {\n\n var co = require('co');\n var moment = require('moment');\n\n bindBlockWS(function () {\n $scope.loadPowData();\n });\n var M = summary.current.monetaryMass || 0;\n // const nbUDperYear = Math.ceil(365.25 * 3600 * 24 / summary.parameters.dt);\n // const globalC = Math.round(Math.pow(1 + summary.parameters.c, nbUDperYear) * 100) / 100 - 1;\n var UD = summary.parameters.ud0;\n if (summary.lastUDBlock) {\n var N = summary.current.membersCount;\n UD = parseInt((summary.lastUDBlock.dividend * Math.pow(10, summary.lastUDBlock.unitbase) + Math.pow(summary.parameters.c, 2) * M / N).toFixed(0));\n }\n $scope.current = summary.current;\n $scope.current_currency = summary.current.currency;\n $scope.current_number = summary.current.number;\n $scope.current_membersCount = summary.current.membersCount;\n $scope.current_medianTime = summary.current.medianTime;\n $scope.current_powMin = summary.current.powMin;\n $scope.monetaryMass = parseInt(M / UD) || 0;\n $scope.server_started = true;\n $scope.server_stopped = false;\n $scope.phones = [];\n $scope.abc = 'abcdef';\n $scope.newIdentities = 2;\n\n $(\".dropdown-button\").dropdown({ constrainwidth: false });\n\n $scope.lastNearPoW = '';\n $scope.totalPoW = '...';\n $scope.sync_state = 'home.pulling.state.unkown';\n $scope.network_percent = 0;\n $scope.peer_percent = 0;\n $scope.has_pulled = false;\n $scope.is_pulling = false;\n $scope.last_pulling = 0;\n var start_block = 0;\n\n $interval(function () {\n if ($scope.last_pulling) {\n $scope.sync_state = $scope.is_pulling ? 'home.pulling.state.syncing' : 'home.pulling.state.synced';\n $scope.sync_time = moment($scope.last_pulling).fromNow();\n }\n }, 1000);\n\n $scope.loadPowData = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.powSummary();\n\n case 2:\n res = _context.sent;\n\n $scope.pow_total = res.total;\n $scope.pow_mirror = res.mirror;\n $scope.pow_waiting = res.waiting;\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n ws.on(undefined, function (data) {\n if (data.type === 'started') {\n $scope.server_started = true;\n $scope.server_stopped = false;\n bindBlockWS(function () {\n $scope.loadPowData();\n });\n UIUtils.toast('general.server.started');\n $scope.$apply();\n }\n if (data.type === 'stopped') {\n $scope.server_stopped = true;\n $scope.server_started = false;\n UIUtils.toast('general.server.stopped');\n $scope.$apply();\n }\n if (data.type === 'pulling') {\n $scope.is_pulling = true;\n $scope.has_pulled = true;\n var event = data.value;\n if ($scope.last_pulling && event.type === 'start' || !$scope.last_pulling && event.type !== 'end') {\n $scope.last_pulling = moment();\n }\n if (event.type === 'peer') {\n $scope.network_percent = parseInt((event.data.number + 1) / event.data.length * 100);\n $scope.peer_percent = 100;\n start_block = 0;\n }\n if (event.type === 'applying') {\n if (!start_block) {\n start_block = event.data.number;\n }\n var total = event.data.last - start_block;\n var doneCount = event.data.number - start_block;\n $scope.peer_percent = parseInt(doneCount / total * 100);\n }\n if (event.type === 'end') {\n $scope.is_pulling = false;\n $scope.network_percent = 0;\n $scope.peer_percent = 0;\n start_block = 0;\n }\n }\n if (data.type === 'pow') {\n var pow = data.value;\n if (pow.found) {\n $scope.pow_waiting = true;\n $scope.lastNearPoW = '#' + pow.hash;\n $scope.$apply();\n } else {\n $scope.pow_waiting = false;\n $scope.lastNearPoW = '#' + pow.hash;\n $scope.$apply();\n }\n }\n });\n\n function bindBlockWS(cb) {\n Webmin.wsBlock().on(undefined, function (block) {\n $scope.current_currency = block.currency;\n $scope.current_number = block.number;\n $scope.current_membersCount = block.membersCount;\n $scope.current_medianTime = block.medianTime;\n $scope.current_powMin = block.powMin;\n var M = summary.current.monetaryMass || 0;\n var UD = summary.parameters.ud0;\n if (summary.lastUDBlock) {\n var _N = summary.current.membersCount;\n UD = parseInt(Math.round(summary.lastUDBlock.dividend * Math.pow(10, summary.lastUDBlock.unitbase) + Math.pow(summary.parameters.c, 2) * M / _N).toFixed(0));\n }\n $scope.monetaryMass = parseInt(M / UD) || 0;\n $scope.$apply();\n cb && cb();\n });\n }\n\n $scope.reconfigure_network = function () {\n return co(regeneratorRuntime.mark(function _callee2() {\n var delay, netinferfaces, conf;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n $scope.reconfiguring = true;\n delay = Q.delay(1000);\n _context2.prev = 2;\n _context2.next = 5;\n return Webmin.network.interfaces();\n\n case 5:\n netinferfaces = _context2.sent;\n conf = {};\n\n conf.local_ipv4 = netinferfaces.auto.local.ipv4 || '';\n conf.local_ipv6 = netinferfaces.auto.local.ipv6 || '';\n conf.remote_ipv4 = netinferfaces.auto.remote.ipv4 || '';\n conf.remote_ipv6 = netinferfaces.auto.remote.ipv6 || '';\n conf.lport = netinferfaces.auto.local.port || 9330;\n conf.rport = netinferfaces.auto.remote.port || 9330;\n conf.upnp = netinferfaces.auto.remote.upnp || false;\n conf.dns = netinferfaces.auto.remote.dns || '';\n _context2.next = 17;\n return Webmin.server.netConf({\n conf: conf\n });\n\n case 17:\n _context2.next = 19;\n return delay;\n\n case 19:\n $scope.should_reconfigure = false;\n UIUtils.toast('general.network.reconf_ok');\n $scope.$apply();\n _context2.next = 30;\n break;\n\n case 24:\n _context2.prev = 24;\n _context2.t0 = _context2['catch'](2);\n _context2.next = 28;\n return delay;\n\n case 28:\n $scope.reconfiguring = false;\n $scope.$apply();\n\n case 30:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[2, 24]]);\n }));\n };\n\n return co(regeneratorRuntime.mark(function _callee3() {\n var reachable;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return $scope.startServer();\n\n case 2:\n _context3.prev = 2;\n _context3.next = 5;\n return $scope.loadPowData();\n\n case 5:\n _context3.next = 7;\n return Webmin.isNodePubliclyReachable();\n\n case 7:\n reachable = _context3.sent;\n\n if (!reachable || !reachable.success) {\n $scope.should_reconfigure = true;\n }\n _context3.next = 14;\n break;\n\n case 11:\n _context3.prev = 11;\n _context3.t0 = _context3['catch'](2);\n\n console.log(_context3.t0);\n\n case 14:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[2, 11]]);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, $location, Webmin, UIUtils) {\n\n UIUtils.enableTabs();\n\n $scope.$parent.conf = $scope.$parent.conf || {};\n $scope.$parent.menu = 'settings';\n\n $(\".dropdown-button\").dropdown({ constrainwidth: false });\n\n $scope.fullReset = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n _context.next = 4;\n return Webmin.server.resetData();\n\n case 4:\n $state.go('index');\n\n case 5:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, Importer, Webmin) {\n\n $scope.export_link = Webmin.getExportURL();\n\n Importer($scope);\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $http, $state, $timeout, UIUtils, summary, Webmin) {\n\n $scope.cpuPower = parseInt(summary.conf.cpu * 100);\n\n $scope.updateCPUpower = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.savingCPU = true;\n _context.next = 3;\n return Webmin.server.cpuConf({\n cpu: parseFloat(($scope.cpuPower / 100).toFixed(2))\n });\n\n case 3:\n UIUtils.toast('settings.cpu.saved');\n $scope.savingCPU = false;\n\n case 5:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, conf, UIUtils) {\n\n $scope.$parent.conf = conf;\n\n UIUtils.enableInputs();\n $('input').attr('disabled', 'disabled');\n};\n","\"use strict\";\n\nvar co = require('co');\nvar Peer = require('js/lib/entity/peer');\n\nmodule.exports = function ($scope, $http, $state, Webmin, peers) {\n\n $scope.peers = peers.map(function (peer) {\n var p = new Peer(peer);\n return {\n name: [p.getURL(), \"(\" + p.pubkey.slice(0, 6) + \")\"].join(' '),\n host_port: [p.getHost(), p.getPort()].join('|')\n };\n });\n\n $scope.resetNode = function () {\n $('#modalReset').openModal();\n };\n\n $scope.resetNodeAndSync = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var sp;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.services.stopAll();\n\n case 2:\n _context.next = 4;\n return Webmin.server.resetData();\n\n case 4:\n sp = $scope.remote_host.split('|');\n\n $state.go('sync', {\n host: sp[0],\n port: sp[1],\n sync: true\n });\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, $state, Webmin, summary, PubkeyGenerator) {\n\n $scope.pubkey = summary.pubkey;\n\n setTimeout(function () {\n $('select').material_select();\n }, 500);\n\n $scope.accept = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.server.keyConf({\n conf: $scope.$parent.conf\n });\n\n case 2:\n $scope.$parent.conf.idty_entropy = '';\n $scope.$parent.conf.idty_password = '';\n $state.reload();\n $scope.restartServer();\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n PubkeyGenerator($scope);\n};\n","\"use strict\";\n\nmodule.exports = function ($scope, ws, UIUtils) {\n\n UIUtils.enableTabs();\n\n var co = require('co');\n var _ = require('underscore');\n\n // Default values\n if (!localStorage.getItem('log_error')) localStorage.setItem('log_error', true);\n if (!localStorage.getItem('log_warn')) localStorage.setItem('log_warn', true);\n if (!localStorage.getItem('log_info')) localStorage.setItem('log_info', true);\n\n $scope.logsSize = parseInt(localStorage.getItem('log_size')) || 100;\n $scope.logs = _.range(0, $scope.logsSize).map(function () {\n return \"\";\n });\n $scope.logsString = \"\";\n $scope.follow = true;\n $scope.levels = {\n error: localStorage.getItem('log_error') == \"true\",\n warn: localStorage.getItem('log_warn') == \"true\",\n info: localStorage.getItem('log_info') == \"true\",\n debug: localStorage.getItem('log_debug') == \"true\",\n trace: localStorage.getItem('log_trace') == \"true\"\n };\n\n _.keys($scope.levels).map(function (level) {\n $scope.$watch('levels.' + level, function (newValue) {\n localStorage.setItem('log_' + level, newValue);\n $scope.logs.splice(0, $scope.logs.length);\n ws.send();\n });\n });\n\n $scope.$watch('logsSize', function (newValue) {\n localStorage.setItem('log_size', newValue);\n addLogs({ value: [] }, true);\n });\n\n ws.on('log', addLogs);\n\n function addLogs(res, autoDigest) {\n\n if (!$scope.pause) {\n var newlogs = _.filter(res.value, function (log) {\n return $scope.levels[log.level];\n });\n // Add at max LOGS_FLOW_SIZE new lines\n newlogs.splice(0, Math.max(0, newlogs.length - $scope.logsSize));\n // Add just enough space for incoming logs\n $scope.logs.splice(0, Math.max(0, $scope.logs.length + newlogs.length - $scope.logsSize));\n for (var i = 0, len = newlogs.length; i < len; i++) {\n var log = newlogs[i];\n $scope.logs.push(log);\n }\n if (!autoDigest) {\n $scope.$apply();\n }\n }\n\n if ($scope.follow) {\n var elem = document.getElementById('logs');\n if (elem) {\n elem.scrollTop = elem.scrollHeight;\n }\n }\n }\n\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ws.whenOpened();\n\n case 2:\n ws.send();\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n};\n","\"use strict\";\n\nvar co = require('co');\n\nmodule.exports = function ($scope, Webmin) {\n\n $scope.generating = false;\n $scope.error = '';\n\n $scope.shareLogs = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if ($scope.generating) {\n _context.next = 14;\n break;\n }\n\n _context.prev = 1;\n\n $scope.error = '';\n $scope.generating = true;\n _context.next = 6;\n return Webmin.logsExport(2000);\n\n case 6:\n res = _context.sent;\n\n $scope.link = res.link;\n _context.next = 13;\n break;\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context['catch'](1);\n\n $scope.error = _context.t0 && _context.t0.message || _context.t0 || 'Unknown error';\n\n case 13:\n $scope.generating = false;\n\n case 14:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 10]]);\n }));\n };\n};\n","\"use strict\";\n\nvar co = require('co');\nvar _ = require('underscore');\n\nmodule.exports = function ($scope, $http, $state, $interval, $timeout, UIUtils, summary, Webmin, allModules, hasAccess) {\n\n var interval = void 0;\n $scope.hasAccess = hasAccess;\n $scope.module_to_install = '';\n $scope.installing = false;\n\n $scope.showWarning = function () {\n return $scope.warningShown = true;\n };\n $scope.hideWarning = function () {\n return $scope.warningShown = false;\n };\n\n $scope.modules = modulesTransform(allModules);\n\n $scope.switchModule = function (mod) {\n $scope.modules.map(function (m) {\n return m.disabled = true;\n });\n mod.installing = !mod.installing;\n Webmin.plugin.removePackage(mod.name);\n $scope.checkModulesInstallation();\n };\n\n $scope.installModule = function () {\n $scope.modules.map(function (m) {\n return m.disabled = true;\n });\n co(regeneratorRuntime.mark(function _callee() {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.plugin.addPackage($scope.module_to_install);\n\n case 2:\n res = _context.sent;\n\n if (res.success) {\n $scope.modules.push({\n fullName: $scope.module_to_install,\n disabled: true,\n installing: true,\n installed: true\n });\n $scope.installing = true;\n $scope.checkModulesInstallation();\n } else {\n $scope.modules = modulesTransform(allModules);\n UIUtils.toast('settings.modules.already_install');\n }\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n $scope.checkModulesInstallation = function () {\n interval = $interval(function () {\n Webmin.plugin.allModules().then(function (modules) {\n var initialModulesNames = _.pluck(allModules, 'name');\n var newModulesNames = _.pluck(modules, 'name');\n var added = _.difference(newModulesNames, initialModulesNames);\n var removed = _.difference(initialModulesNames, newModulesNames);\n if (added.length || removed.length) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = added[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var addedName = _step.value;\n\n UIUtils.toastRaw('Installed module \\'' + addedName + '\\'');\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = removed[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var removedName = _step2.value;\n\n UIUtils.toastRaw('Removed module \\'' + removedName + '\\'');\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n allModules = modules;\n $scope.modules = modulesTransform(modules);\n $scope.installing = false;\n $interval.cancel(interval);\n $scope.notifications.help.push({\n icon: 'loop',\n message: 'help.restart_required',\n onclick: function onclick() {\n return UIUtils.toast('help.restart_required.message');\n }\n });\n }\n });\n }, 1500);\n };\n\n function modulesTransform(modules) {\n return modules.map(function (m) {\n return {\n name: m.name,\n fullName: [m.name, m.version].join('@'),\n locked: m.locked,\n disabled: !$scope.hasAccess || m.locked,\n installing: false,\n installed: true\n };\n });\n }\n};\n","\"use strict\";\n\nvar co = require('co');\nvar conf = require('js/lib/conf/conf');\n\nmodule.exports = function ($scope, $http, $state, Webmin, UIUtils, netinterfaces, firstConf) {\n\n var autoconf = netinterfaces.auto;\n\n $scope.autoconfig = function () {\n $scope.$parent.conf.local_ipv4 = autoconf.local.ipv4 || '';\n $scope.$parent.conf.local_ipv6 = autoconf.local.ipv6 || '';\n $scope.$parent.conf.remote_ipv4 = autoconf.remote.ipv4 || '';\n $scope.$parent.conf.remote_ipv6 = autoconf.remote.ipv6 || '';\n $scope.$parent.conf.lport = autoconf.local.port || $scope.$parent.conf.lport;\n $scope.$parent.conf.rport = autoconf.remote.port || $scope.$parent.conf.rport;\n $scope.$parent.conf.upnp = autoconf.remote.upnp || $scope.$parent.conf.upnp;\n $scope.$parent.conf.dns = autoconf.remote.dns || $scope.$parent.conf.dns;\n\n if (conf.dev_autoconf && firstConf) {\n $state.go('configure.create.root');\n }\n };\n\n $scope.local_neti = toArrayOfAddresses(netinterfaces.local);\n $scope.remote_neti = toArrayOfAddresses(netinterfaces.remote);\n\n $scope.$parent.conf = $scope.$parent.conf || {};\n $scope.$parent.conf.local_ipv4 = netinterfaces.conf.local.ipv4;\n $scope.$parent.conf.local_ipv6 = netinterfaces.conf.local.ipv6;\n $scope.$parent.conf.remote_ipv4 = netinterfaces.conf.remote.ipv4;\n $scope.$parent.conf.remote_ipv6 = netinterfaces.conf.remote.ipv6;\n $scope.$parent.conf.lport = netinterfaces.conf.local.port;\n $scope.$parent.conf.rport = netinterfaces.conf.remote.port;\n $scope.$parent.conf.upnp = netinterfaces.conf.remote.upnp;\n $scope.$parent.conf.dns = netinterfaces.conf.remote.dns;\n\n UIUtils.enableInputs();\n\n if (firstConf) {\n $scope.$parent.conf.lport = conf.default_port;\n $scope.$parent.conf.rport = conf.default_port;\n // Trigger autoconfig\n $scope.autoconfig();\n }\n\n $scope.saveConf = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.$parent.conf.remote_ipv6 = $scope.$parent.conf.local_ipv6;\n _context.next = 3;\n return Webmin.server.netConf({\n conf: $scope.$parent.conf\n });\n\n case 3:\n UIUtils.toast('settings.network.saved');\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n};\n\nfunction toArrayOfAddresses(netiScope) {\n return netiScope.reduce(function (arr, neti) {\n return arr.concat(neti.addresses.map(function (addr) {\n return {\n name: [neti.name, addr.address].join(' '),\n addr: addr.address,\n family: addr.family\n };\n }));\n }, []);\n}\n","'use strict';\n\nmodule.exports = function () {\n\n window.uiModules = {};\n\n require('./services/webmin')(angular);\n\n var duniterApp = angular.module('duniterUIApp', ['ui.router', 'homeControllers', 'pascalprecht.translate']);\n\n duniterApp.config(['$compileProvider', function ($compileProvider) {\n return $compileProvider.aHrefSanitizationWhitelist(/^\\s*(https?|data):/);\n }]);\n\n require('./lib/conf/translate')(duniterApp);\n require('./lib/conf/routes')(duniterApp);\n require('js/services/datetime')(duniterApp);\n require('js/services/ui_utils')(duniterApp);\n require('js/services/graphs')(duniterApp);\n require('js/services/pubkeyGenerator')(duniterApp);\n require('js/services/importer')(duniterApp);\n require('js/services/base58')(duniterApp);\n\n window.duniterChildCallback = function (gui) {\n window.gui = gui;\n };\n\n window.onresize = function () {\n window.onResize && window.onResize(window);\n };\n\n window.openWindow = function openWindow(url, options, callback) {\n if (window.gui) {\n // Duniter Desktop\n window.gui.Window.open(url, options, callback);\n } else {\n // Browser\n var innerHeight = options.height || 375;\n var innerWidth = options.width || 500;\n window.open(url, '_blank ', ['top=' + (window.screenTop + (options.top || 200)), 'left=' + (window.screenLeft + (options.left || 200)), 'height=' + (innerHeight + 8), 'width=' + (innerWidth + 16), 'menubar=no', 'status=no'].join(','));\n }\n };\n\n window.openNewTab = function openWindow(url, options, callback) {\n if (window.gui) {\n // Duniter Desktop\n window.gui.Window.open(url, options, callback);\n } else {\n // Browser\n window.open(url, '_blank ');\n }\n };\n\n window.openExternal = function openExternal(url) {\n if (window.gui) {\n window.gui.Shell.openExternal(url);\n } else {\n window.open(url, '_blank');\n }\n };\n\n var homeControllers = angular.module('homeControllers', ['duniter.services.webmin', 'ngFileUpload']);\n\n homeControllers.controller('IndexController', require('./controllers/IndexController'));\n homeControllers.controller('AboutController', require('./controllers/AboutController'));\n homeControllers.controller('IdentityController', require('./controllers/init/create/IdentityController'));\n homeControllers.controller('ParametersController', require('./controllers/init/create/ParametersController'));\n homeControllers.controller('RootBlockController', require('./controllers/init/create/RootBlockController'));\n homeControllers.controller('SyncController', require('./controllers/init/sync/SyncController'));\n homeControllers.controller('MainController', require('./controllers/main/MainController'));\n homeControllers.controller('HomeController', require('./controllers/main/home/HomeController'));\n homeControllers.controller('OverviewController', require('./controllers/main/home/tabs/OverviewController'));\n homeControllers.controller('HomeNetworkController', require('./controllers/main/home/tabs/HomeNetworkController'));\n homeControllers.controller('LogsController', require('./controllers/main/settings/tabs/LogsController'));\n homeControllers.controller('LogsSettingsController', require('./controllers/main/settings/tabs/LogsSettingsController'));\n homeControllers.controller('NetworkController', require('./controllers/main/settings/tabs/NetworkController'));\n homeControllers.controller('SettingsController', require('./controllers/main/settings/SettingsController'));\n homeControllers.controller('DataController', require('./controllers/main/settings/tabs/DataController'));\n homeControllers.controller('BackupController', require('./controllers/main/settings/tabs/BackupController'));\n homeControllers.controller('CPUController', require('./controllers/main/settings/tabs/CPUController'));\n homeControllers.controller('CurrencyController', require('./controllers/main/settings/tabs/CurrencyController'));\n homeControllers.controller('KeyController', require('./controllers/main/settings/tabs/KeyController'));\n homeControllers.controller('ModulesController', require('./controllers/main/settings/tabs/ModulesController'));\n homeControllers.controller('GraphsController', require('./controllers/main/graphs/GraphsController'));\n homeControllers.controller('GraphsBlockchainController', require('./controllers/main/graphs/GraphsBlockchainController'));\n};\n","\"use strict\";\n\nmodule.exports = {\n\n init: function init() {\n\n // Hack since Node v5\n try {\n window.jade = require('jade' + '/' + 'runtime');\n } catch (e) {}\n\n console.log('Configuring Angular app...');\n\n require('./app.config')();\n\n console.log('App initialized.');\n }\n};\n","\"use strict\";\n\nmodule.exports = {\n server: \"\", // Empty server will use the browser current host\n port: \"\", // Empty port will use the browser current port\n default_port: 9220,\n dev_autoconf: false,\n api_timeout: 10000 // 10 sec timeout\n};\n","module.exports = {\n \"top.menu.overview\": \"Home\",\n \"top.menu.data\": \"Explore\",\n \"top.menu.settings\": \"Settings\",\n \"top.menu.wallet\": \"Wallet\",\n \"general.server.started\": \"Server started\",\n \"general.server.stopped\": \"Server stopped\",\n \"general.choose_option\": \"Choose your option\",\n \"general.network.reconf_ok\": \"Reconfiguration success\",\n \"global.button.validate\": \"Validate\",\n \"global.button.start\": \"Start\",\n \"err.unknown\": \"Unknown error\",\n \"err.connection\": \"Could not connect to node\",\n \"err.back_index\": \"Get back to previous screen\",\n \"err.sync.interrupted\": \"Sync interrupted because the following error occured:\",\n \"index.message.loading\": \"Loading...\",\n \"crypto.secret_key\": \"Secret key\",\n \"index.message.current_block\": \"Current block {{ number }}\",\n \"configuration.init.choose.title\": \"Initialization\",\n \"configuration.init.choose.message\": \"Your software has to be initialized. You may either connect to an existing one or restore a backup file.\",\n \"configuration.init.choose.create\": \"Create a new currency\",\n \"configuration.init.choose.connect\": \"Connect to an existing currency\",\n \"configuration.init.choose.import\": \"Import from a backup file\",\n \"configuration.create_currency.cancel\": \"Cancel & go home\",\n \"configuration.create_uid.title\": \"Your identity\",\n \"configuration.create_uid.message\": \"As a first step, you need to define your personal, unique identity.<br/>The following informations will be <strong>definitive</strong> for this currency: please choose them carefully.\",\n \"configuration.create_uid.uid.tooltip\": \"The name you will be known as.\",\n \"configuration.create_uid.entropy.tooltip\": \"An entropy source to make your key unique: an e-mail, a phone n°, ...\",\n \"configuration.create_uid.password.tooltip\": \"A secret password to protect your key.\",\n \"configuration.create_uid.create_button\": \"Continue\",\n \"configuration.create_uid.preview_button\": \"Preview pubkey\",\n \"configuration.create_uid.nrp_algo_choose\": \"NRP algorithm\",\n \"configuration.create_uid.nrp_algo_choose_1\": \"N = 4096 ; r = 16 ; p = 1\",\n \"configuration.create_uid.modal_title\": \"Identity confirmation\",\n \"configuration.create_uid.modal_message\": \"This identity will be definitive for this currency: you will be known by your User ID and will be able to access your account using your Secret Key and Password values.\",\n \"configuration.create_uid.modal_agree\": \"Agree\",\n \"configuration.create_uid.modal_disagree\": \"Disagree\",\n \"configuration.create_uid.modal_preview_title\": \"Preview of pubkey\",\n \"configuration.create_uid.modal_preview_ok\": \"OK\",\n \"configuration.create_network.title\": \"Network\",\n \"configuration.create_network.message\": \"uCoin is a P2P software and needs bidirectionnal access to the network. Please chose carefully the following parameters.\",\n \"configuration.create_network.none\": \"None\",\n \"configuration.create_network.ipv4.title\": \"IPv4\",\n \"configuration.create_network.ipv6.title\": \"IPv6\",\n \"configuration.create_network.ipv4.message\": \"For compatibilty reasons, you may prefer to use classic IPv4 interfaces. The configuration is more complicated.\",\n \"configuration.create_network.local_ipv4\": \"Private (computer)\",\n \"configuration.create_network.remote_ipv4\": \"Public (box/router)\",\n \"configuration.create_network.local_ipv6\": \"IPv6\",\n \"configuration.create_network.lport\": \"Local port\",\n \"configuration.create_network.rport\": \"Remote port\",\n \"configuration.create_network.port.title\": \"Ports\",\n \"configuration.create_network.ipv6.message\": \"IPv6 gives your computer a unique, direct address to your node over the Internet. This is the <b>recommended way</b> to connect your node to the network.\",\n \"configuration.create_network.port.message\": \"Wether you use IPv6 or IPv4, Duniter node will use this port number for connection to the network. If you use IPv6, local and remote port should equal each other.\",\n \"configuration.create_network.dns.title\": \"Domain name\",\n \"configuration.create_network.dns\": \"Domain name\",\n \"configuration.create_network.dns.message\": \"IPv6 (AAAA) and IPv4 (A) DNS records will be used.\",\n \"configuration.create_network.upnp\": \"Use UPnP\",\n \"configuration.create_network.button.validate\": \"Continue\",\n \"configuration.create_network.button.autoconf\": \"Automatic configuration\",\n \"configuration.create_parameters.title\": \"Currency\",\n \"configuration.create_parameters.message\": \"Initial parameters of the currency. It should be carefully chosen, as these parameters never change once the currency is started.\",\n \"configuration.create_parameters.currency.title\": \"Money units\",\n \"configuration.create_parameters.currency.message\": \"Give a name to your currency. The 3 following parameters configure the way new money units are created.\",\n \"configuration.create_parameters.currency\": \"Currency name\",\n \"configuration.create_parameters.c\": \"c\",\n \"configuration.create_parameters.dt\": \"UD period\",\n \"configuration.create_parameters.ud0\": \"UD(0)\",\n \"configuration.create_parameters.button.validate\": \"Continue\",\n \"configuration.create_parameters.wot.title\": \"Web of Trust\",\n \"configuration.create_parameters.wot.message\": \"The following parameters deal with identities and their links gathered in the Web of Trust concept.\",\n \"configuration.create_parameters.sigStock\": \"Max cert stock\",\n \"configuration.create_parameters.sigPeriod\": \"Delay between 2 certs\",\n \"configuration.create_parameters.sigValidity\": \"Cert expiry delay\",\n \"configuration.create_parameters.msValidity\": \"Membership expiry delay\",\n \"configuration.create_parameters.sigQty\": \"Min required certs\",\n \"configuration.create_parameters.sigWindow\": \"Cert time window\",\n \"configuration.create_parameters.stepMax\": \"Max distance\",\n \"configuration.create_parameters.xpercent\": \"Percent of distance\",\n \"configuration.create_parameters.blockchain.title\": \"Blockchain\",\n \"configuration.create_parameters.blockchain.message\": \"The technical support of money and identities is the blockchain. It also has some parameters driving its behavior.\",\n \"configuration.create_parameters.medianTimeBlocks\": \"Blocks count\",\n \"configuration.create_parameters.avgGenTime\": \"Block gen. duration\",\n \"configuration.create_parameters.dtDiffEval\": \"Blocks count for diff.\",\n \"configuration.create_parameters.blocksRot\": \"Personal diff. blocks\",\n \"configuration.create_parameters.percentRot\": \"Personal diff. rotation\",\n \"configuration.create_root.title\": \"Root block creation\",\n \"configuration.create_root.message\": \"This is the final step to create the new currency! The root block or <i>genesis</i> will include the first members and define the currency parameters. Once generated and submitted, the blockchain will be started.\",\n \"configuration.create_root.button.start\": \"Start HTTP\",\n \"configuration.create_root.button.stop\": \"Stop HTTP\",\n \"configuration.create_root.button.generate\": \"Give a try\",\n \"configuration.create_root.need_a_try\": \"You need to generate a first block with the « Give a try » button. Start HTTP server to do so.\",\n \"configuration.create_root.button.accept_and_send\": \"Accept this block and start currency\",\n \"configuration.create_root.button.cancel\": \"Cancel creation and go to home screen\",\n \"configuration.create_root.host_listening\": \"Host listening at:\",\n \"configuration.create_uid.pubkey_preview\": \"Public key preview\",\n \"home.current.number\": \"Current block #\",\n \"home.current.membersCount\": \"Members count\",\n \"home.current.medianTime\": \"Median time\",\n \"home.current.powMin\": \"Common difficulty level\",\n \"home.current.mmass\": \"Monetary mass\",\n \"home.pulling.network\": \"Network\",\n \"home.pulling.peer\": \"Peer\",\n \"home.pulling.state.unkown\": \"Next sync in few minutes\",\n \"home.pulling.state.synced\": \"Synced\",\n \"home.pulling.state.syncing\": \"Syncing...\",\n \"home.pow.unit\": \"blocks made by this key\",\n \"home.pow.is_mirror\": \"This node is a mirror\",\n \"home.pow.is_waiting\": \"Waiting for better proof conditions\",\n \"home.tabs.overview\": \"Overview\",\n \"home.tabs.overview.should_reconfigure\": \"Your configuration has changed and your node is no more reachable from the network. You should reconfigure it to have a functional node. If this message appears again, you should manually configure the network settings. Often, selecting only IPv6 interface (disabling IPv4) solves the problem.\",\n \"home.tabs.network\": \"Peers\",\n \"home.tabs.network.button.update\": \"Check peers again\",\n \"home.tabs.logs\": \"Logs\",\n \"home.tabs.logs.follow.logs\": \"Follow logs\",\n \"home.tabs.logs.pause.logs\": \"Pause logs\",\n \"home.tabs.logs.level.error\": \"Error\",\n \"home.tabs.logs.level.warn\": \"Warning\",\n \"home.tabs.logs.level.info\": \"Info\",\n \"home.tabs.logs.level.debug\": \"Debug\",\n \"home.tabs.logs.level.trace\": \"Trace\",\n \"sync.title\": \"Synchronize\",\n \"sync.message\": \"Your node will be synchronized with an existing currency: just enter technical details about a node to sync with it.\",\n \"sync.host\": \"Host\",\n \"sync.port\": \"Port\",\n \"sync.check\": \"Check node\",\n \"sync.start\": \"Synchronize with this node\",\n \"sync.failed\": \"Synchronization failed.\",\n \"sync.mode.simplified\": \"Simplified mode\",\n \"sync.mode.manual\": \"Manual mode\",\n \"sync.simplified.choose\": \"Node to connect to\",\n \"sync.simplified.default_option\": \"Please select a node to continue\",\n \"sync.simplified.currency\": \"Currency\",\n \"sync.simplified.main_mirror\": \"(main mirror)\",\n \"sync.simplified.official_mirror\": \"(other official mirror)\",\n \"sync.ready.node.part1\": \"This node is available!\",\n \"sync.ready.node.part2\": \"Click on the green button to proceed.\",\n \"sync.started.node\": \"Synchronization started on node:\",\n \"sync.error.unreachable.try.another.node\": \"This node is not available. Please select another one.\",\n \"home.menu.server.stop\": \"Stop server\",\n \"home.menu.server.start\": \"Start server\",\n \"home.menu.server.restart\": \"Restart server\",\n \"home.state\": \"Server:\",\n \"home.state.started\": \"STARTED\",\n \"home.state.stopped\": \"STOPPED\",\n \"settings.tabs.logs\": \"Logs\",\n \"settings.tabs.data\": \"Data\",\n \"settings.tabs.backup\": \"Backup\",\n \"settings.tabs.identity\": \"Crypto\",\n \"settings.tabs.network\": \"Network\",\n \"settings.tabs.currency\": \"Currency\",\n \"settings.tabs.cpu\": \"CPU\",\n \"settings.tabs.modules\": \"Modules\",\n \"settings.data.reset.title\": \"Reset this node\",\n \"settings.data.reset.message\": \"If you desire to reset this node's data and sync it again with the network, please select a node to sync against and validate.\",\n \"settings.data.reset.warning\": \"This process <strong>will not</strong> reset the node identity and network settings, which will be reused.\",\n \"settings.data.reset.peer.none_option\": \"Select a node\",\n \"settings.data.reset.peer.label\": \"Synchronization peer\",\n \"settings.data.reset.button\": \"Full reset of the node\",\n \"settings.data.reset_sync.button\": \"Reset data and start sync\",\n \"settings.logs.title\": \"Logs\",\n \"settings.logs.consult.message\": \"Your node continually generates information messages in a log file. This information may help you understand what your node <i>is doing</i> or what it <i>has done</i> few times ago.\",\n \"settings.logs.consult.button\": \"View real-time logs\",\n \"settings.logs.share.message\": \"You may want to <b>share your logs</b> with other people, sometimes to get help or to add informations in a bug tracker. Clicking on below button will extract the last 2000 lines of your logs and push it on the web, returning you a link to be shared with whoever you want.\",\n \"settings.logs.share.button\": \"Create a web link to your logs\",\n \"settings.logs.share.generating\": \"Generating your link...\",\n \"settings.logs.share.error\": \"An error occurred during the generation of your link:\",\n \"settings.data.backup.title\": \"Backup\",\n \"settings.data.backup.message\": \"You can create backups of your node's data and restore them using the buttons below.\",\n \"settings.data.backup.warning\": \"<b>Export</b> will only backup your node's data, which <i>excludes your secret key and configuration details</i>.<br><b>Import</b> will reset your node's data by applying the backup. Your secret keys and configuration remains untouched.\",\n \"settings.data.backup.button.export\": \"Create a data backup\",\n \"settings.data.backup.button.import\": \"Import a data backup\",\n \"settings.data.backup.importing\": \"Importing data...\",\n \"settings.data.backup.imported\": \"Import successfull!\",\n \"settings.network.button.validate\": \"Save and apply network settings\",\n \"settings.network.saved\": \"Configuration saved and applied successfully\",\n \"settings.key.title\": \"Public key of this node:\",\n \"settings.key.button.validate\": \"Save and use this key\",\n \"settings.key.button.change\": \"Change keyring\",\n \"settings.key.pubkey.description\": \"This public key is the public part of your keyring, which is composed of a public key and a private key. This public key is shared with all the peers of the network and users of the currency, while your private key is secretely kept and used by this node to process operations on the network.\",\n \"settings.data.modal_title\": \"Confirm full reset\",\n \"settings.data.modal_message\": \"This action will completely reset the data of your node and redirect you to initial configuration screen. Do you confirm?\",\n \"settings.data.modal_disagree\": \"No, cancel this\",\n \"settings.data.modal_agree\": \"Yes, process the reset\",\n \"settings.data.reset.experimental\": \"This functionality is still considered experimental. If you encounters strange behaviors, please stop the software and reset manually your node by removing all the files BUT conf.json under ~/.config/ucoin/ucoin_default, and restart the software.\",\n \"settings.cpu.title\": \"CPU settings\",\n \"settings.cpu.message\": \"You can adjust the CPU power dedicated to proof-of-work computation. The higher the value, the faster is your node, the higher the chances you have to compute a block early.\",\n \"settings.cpu.warning\": \"<b>Up to 8 cores</b> of your machine are dedicated to proof-of-work computation currently. Also, setting CPU to 100% does not mean Duniter will use 100% of each core, but will use as much as possible each of them, as a core is also shared with other programs.\",\n \"settings.cpu.range\": \"% of CPU power core dedicated to proof-of-work :\",\n \"settings.cpu.power\": \"Core power:\",\n \"settings.cpu.saved\": \"CPU settings saved.\",\n \"settings.modules.title\": \"Modules\",\n \"settings.modules.message\": \"You can install extensions to your Duniter node to provide new features. These extensions are called <b>Duniter modules</b>.\",\n \"settings.modules.no_access\": \"This instance does not have enough system rights to install new modules on disk.\",\n \"settings.modules.install\": \"Install this module\",\n \"settings.modules.already_install\": \"Module already installed\",\n \"settings.modules.warning\": \"Please be <b>VERY CAREFUL</b> when choosing to install a module: you should have checked that this module is not a virus, nor wants to steal your informations.<br>A module has <i>a lot of power</i> and can likely access to any part of your computer in the limit of the user's access rights:<ul><li>- your node's keyring (in the computer's memory)</li><li>- your personal files (photos, unencrypted passwords, browser favorites, ...)</li><li>- your internet access</li><li>- your local network</li></ul>You could get informations about a module by looking on the Internet.\",\n \"settings.modules.warning_light\": \"Please read this warning before installing a module!\",\n \"settings.modules.warning_close\": \"Close this message\",\n \"settings.modules.on\": \"On\",\n \"settings.modules.off\": \"Off\",\n \"settings.modules.installing\": \"Installation...\",\n \"settings.modules.installing_warn\": \"Please <b>do not close Duniter</b> during this process!\",\n \"settings.modules.uninstalling\": \"Removal...\",\n \"graphs.tabs.blockchain\": \"Blockchain\",\n \"graphs.tabs.currency\": \"Currency\",\n \"graphs.blockchain.range\": \"Graphs for the last X blocks: (please choose X value)\",\n \"graphs.blockchain.with.time\": \"Time variations graph\",\n \"graphs.blockchain.with.speed\": \"Writing speed graph\",\n \"graphs.blockchain.with.difficulty\": \"Difficulty graph\",\n \"help.about_duniter\": \"About Duniter\",\n \"help.about_duniter.title\": \"About\",\n \"help.about_duniter.subtitle\": \"Duniter Desktop\",\n \"help.about_duniter.version\": \"Version: \",\n \"help.about_duniter.forum\": \"Forum\",\n \"help.about_duniter.chat\": \"Chat\",\n \"help.new_version_available\": \"New version available\",\n \"help.restart_required\": \"Restart to apply changes\",\n \"help.restart_required.message\": \"Please close Duniter and restart it.\"\n}\n;","'use strict';\n\nvar co = require('co');\nvar _ = require('underscore');\n\nmodule.exports = function (app) {\n\n app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {\n\n // States\n $stateProvider.state('index', {\n url: '/',\n template: require('views/index'),\n resolve: {\n ws: function ws(Webmin) {\n return Webmin.ws();\n },\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'IndexController'\n }).state('about', {\n url: '/about',\n template: require('views/about'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n },\n version: function version(summary) {\n return summary && 'v' + summary.version || 'unknown version';\n }\n },\n controller: 'AboutController'\n }).state('configure', {\n abstract: true,\n url: '/configure',\n template: require('views/init/layout'),\n controller: function controller($scope) {\n $scope.conf = {\n currency: 'super_currency',\n c: 0.007376575,\n dt: 30.4375 * 24 * 3600,\n ud0: 100,\n stepMax: 3,\n sigDelay: 3600 * 24 * 365 * 5,\n sigPeriod: 0, // Instant\n sigStock: 40,\n sigWindow: 3600 * 24 * 14, // 2 weeks\n sigValidity: 3600 * 24 * 365,\n msValidity: 3600 * 24 * 365,\n sigQty: 0,\n xpercent: 0.9,\n percentRot: 0.66,\n blocksRot: 20,\n avgGenTime: 16 * 60,\n dtDiffEval: 10,\n medianTimeBlocks: 20\n };\n }\n }).state('configure.choose', {\n url: '/choose',\n template: require('views/init/choose'),\n controller: function controller($scope, Importer) {\n Importer($scope);\n }\n }).state('configure.create', {\n url: '/create',\n template: '<div class=\"ui-scrollable\" ui-view=\"\"></div>'\n }).state('configure.create.uid', {\n url: '/create/uid',\n template: require('views/init/create/create_uid'),\n controller: 'IdentityController'\n }).state('configure.create.network', {\n url: '/create/network',\n template: require('views/init/create/create_network'),\n resolve: {\n netinterfaces: function netinterfaces(Webmin) {\n return resolveNetworkAutoConf(Webmin);\n },\n firstConf: function firstConf() {\n return true;\n }\n },\n controller: 'NetworkController'\n }).state('configure.create.parameters', {\n url: '/create/parameters',\n template: require('views/init/create/create_parameters'),\n controller: 'ParametersController'\n }).state('configure.create.root', {\n url: '/create/root',\n template: require('views/init/create/create_root'),\n controller: 'RootBlockController'\n }).state('sync', {\n url: '/sync?host=&port=&sync=&to=',\n template: require('views/init/sync/sync'),\n controller: 'SyncController'\n }).state('main', {\n abstract: true,\n url: '/main',\n template: require('views/main/main'),\n resolve: {\n ws: function ws(Webmin) {\n return Webmin.ws();\n },\n summary: function summary(Webmin) {\n return Webmin.summary();\n },\n uiModules: function uiModules(Webmin) {\n return co(regeneratorRuntime.mark(function _callee() {\n var modules, i, _module, injection, script;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.plugin.uiModules();\n\n case 2:\n modules = _context.sent;\n i = 0;\n\n case 4:\n if (!(i < modules.length)) {\n _context.next = 16;\n break;\n }\n\n _module = modules[i];\n _context.next = 8;\n return Webmin.plugin.uiGetMenuInjection(_module);\n\n case 8:\n injection = _context.sent;\n script = document.createElement(\"script\");\n\n script.type = \"text/javascript\";\n script.text = \";\" + injection.menu;\n document.body.appendChild(script);\n\n case 13:\n i++;\n _context.next = 4;\n break;\n\n case 16:\n return _context.abrupt('return', modules);\n\n case 17:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n }\n },\n controller: 'MainController'\n }).state('main.home', {\n abstract: true,\n url: '/home',\n template: require('views/main/home/home'),\n controller: 'HomeController'\n }).state('main.home.overview', {\n url: '/overview',\n template: require('views/main/home/tabs/overview'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'OverviewController'\n }).state('main.home.network', {\n url: '/network',\n template: require('views/main/home/tabs/network'),\n resolve: {\n peers: function peers(Webmin) {\n return co(regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', Webmin.network.peers());\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n }\n },\n controller: 'HomeNetworkController'\n }).state('main.settings', {\n abstract: true,\n url: '/settings',\n template: require('views/main/settings/settings'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'SettingsController'\n }).state('main.settings.data', {\n url: '/data',\n template: require('views/main/settings/tabs/data'),\n resolve: {\n peers: function peers(Webmin) {\n return co(regeneratorRuntime.mark(function _callee3() {\n var self, res;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return Webmin.network.selfPeer();\n\n case 3:\n self = _context3.sent;\n _context3.next = 6;\n return Webmin.network.peers();\n\n case 6:\n res = _context3.sent;\n return _context3.abrupt('return', _.filter(res.peers, function (p) {\n return p.pubkey != self.pubkey && p.status == 'UP';\n }));\n\n case 10:\n _context3.prev = 10;\n _context3.t0 = _context3['catch'](0);\n\n console.error(_context3.t0);\n return _context3.abrupt('return', []);\n\n case 14:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 10]]);\n }));\n }\n },\n controller: 'DataController'\n }).state('main.settings.logs', {\n url: '/logs',\n template: require('views/main/settings/tabs/logs'),\n controller: 'LogsSettingsController'\n }).state('main.settings.backup', {\n url: '/backup',\n template: require('views/main/settings/tabs/backup'),\n controller: 'BackupController'\n }).state('main.settings.cpu', {\n url: '/cpu',\n template: require('views/main/settings/tabs/cpu'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n }\n },\n controller: 'CPUController'\n }).state('main.settings.modules', {\n url: '/modules',\n template: require('views/main/settings/tabs/modules'),\n resolve: {\n summary: function summary(Webmin) {\n return Webmin.summary();\n },\n hasAccess: function hasAccess(Webmin) {\n return Webmin.plugin.checkAccess();\n },\n allModules: function allModules(Webmin) {\n return co(regeneratorRuntime.mark(function _callee4() {\n var modules;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return Webmin.plugin.allModules();\n\n case 2:\n modules = _context4.sent;\n return _context4.abrupt('return', modules);\n\n case 4:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n }\n },\n controller: 'ModulesController'\n }).state('main.settings.crypto', {\n url: '/crypto',\n template: require('views/main/settings/tabs/crypto'),\n controller: 'KeyController'\n }).state('main.settings.network', {\n url: '/network',\n resolve: {\n netinterfaces: function netinterfaces(Webmin) {\n return resolveNetworkAutoConf(Webmin);\n },\n firstConf: function firstConf() {\n return false;\n }\n },\n template: require('views/main/settings/tabs/network'),\n controller: 'NetworkController'\n }).state('main.settings.currency', {\n url: '/currency',\n resolve: {\n conf: function conf(summary) {\n return co(regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt('return', summary.parameters);\n\n case 1:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n }\n },\n template: require('views/main/settings/tabs/currency'),\n controller: 'CurrencyController'\n }).state('main.graphs', {\n abstract: true,\n url: '/graphs',\n template: require('views/main/graphs/graphs'),\n controller: 'GraphsController'\n }).state('main.graphs.blockchain', {\n url: '/blockchain',\n template: require('views/main/graphs/blockchain'),\n controller: 'GraphsBlockchainController'\n }).\n\n //state('graphs.crypto', {\n // url: '/crypto',\n // template: require('views/graphs/crypto'),\n // controller: 'KeyController'\n //}).\n //\n //state('graphs.network', {\n // url: '/network',\n // resolve: {\n // netinterfaces: (Webmin) => resolveNetworkAutoConf(Webmin),\n // firstConf: () => false\n // },\n // template: require('views/graphs/network'),\n // controller: 'NetworkController'\n //}).\n //\n //state('graphs.currency', {\n // url: '/currency',\n // resolve: {\n // conf: (bmapi) => co(function *() {\n // return bmapi.currency.parameters();\n // })\n // },\n // template: require('views/graphs/currency'),\n // controller: 'CurrencyController'\n //}).\n\n state('logs', {\n url: '/logs',\n template: require('views/logs'),\n resolve: {\n ws: function ws(Webmin) {\n return Webmin.ws();\n }\n },\n controller: 'LogsController'\n }).state('error', {\n url: '/error\\?err',\n template: require('views/error'),\n controller: function controller($scope, $stateParams) {\n return $scope.errorMsg = $stateParams.err || 'err.unknown';\n }\n });\n\n // Default route\n $urlRouterProvider.otherwise('/');\n }]);\n\n app.run(function ($rootScope, $state) {\n $rootScope.$on('$stateChangeError', function (event, toState, toParams, fromState, fromParams, error) {\n console.error(error);\n $state.go('error', { err: error.message });\n });\n });\n\n function resolveNetworkAutoConf(Webmin) {\n return co(regeneratorRuntime.mark(function _callee6() {\n var netinterfaces;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Webmin.network.interfaces();\n\n case 2:\n netinterfaces = _context6.sent;\n return _context6.abrupt('return', netinterfaces || { local: {}, remote: {} });\n\n case 4:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n }\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.config(['$translateProvider', function ($translateProvider) {\n\n $translateProvider.translations('en', require('./i18n/en'));\n\n // Default language\n $translateProvider.preferredLanguage('en');\n\n // Other parameters\n $translateProvider.useSanitizeValueStrategy('');\n }]);\n};\n","\"use strict\";\n\nmodule.exports = function Peer(json) {\n\n var that = this;\n\n var BMA_REGEXP = /^BASIC_MERKLED_API( ([a-z_][a-z0-9-_.]*))?( ([0-9.]+))?( ([0-9a-f:]+))?( ([0-9]+))$/;\n\n Object.keys(json).forEach(function (key) {\n that[key] = json[key];\n });\n\n that.endpoints = that.endpoints || [];\n that.statusTS = that.statusTS || 0;\n\n that.keyID = function () {\n return that.pubkey && that.pubkey.length > 10 ? that.pubkey.substring(0, 10) : \"Unknown\";\n };\n\n that.copyValues = function (to) {\n var obj = that;\n [\"version\", \"currency\", \"pub\", \"endpoints\", \"hash\", \"status\", \"statusTS\", \"block\", \"signature\"].forEach(function (key) {\n to[key] = obj[key];\n });\n };\n\n that.copyValuesFrom = function (from) {\n var obj = that;\n [\"version\", \"currency\", \"pub\", \"endpoints\", \"block\", \"signature\"].forEach(function (key) {\n obj[key] = from[key];\n });\n };\n\n that.json = function () {\n var obj = that;\n var json = {};\n [\"version\", \"currency\", \"endpoints\", \"status\", \"block\", \"signature\"].forEach(function (key) {\n json[key] = obj[key];\n });\n json.raw = that.getRaw();\n json.pubkey = that.pubkey;\n return json;\n };\n\n that.getBMA = function () {\n var bma = null;\n that.endpoints.forEach(function (ep) {\n var matches = !bma && ep.match(BMA_REGEXP);\n if (matches) {\n bma = {\n \"dns\": matches[2] || '',\n \"ipv4\": matches[4] || '',\n \"ipv6\": matches[6] || '',\n \"port\": matches[8] || 9101\n };\n }\n });\n return bma || {};\n };\n\n that.getDns = function () {\n var bma = that.getBMA();\n return bma.dns ? bma.dns : null;\n };\n\n that.getIPv4 = function () {\n var bma = that.getBMA();\n return bma.ipv4 ? bma.ipv4 : null;\n };\n\n that.getIPv6 = function () {\n var bma = that.getBMA();\n return bma.ipv6 ? bma.ipv6 : null;\n };\n\n that.getPort = function () {\n var bma = that.getBMA();\n return bma.port ? bma.port : null;\n };\n\n that.getHost = function () {\n var bma = that.getBMA();\n var host = that.hasValid4(bma) ? bma.ipv4 : bma.dns ? bma.dns : bma.ipv6 ? '[' + bma.ipv6 + ']' : '';\n return host;\n };\n\n that.getURL = function () {\n var bma = that.getBMA();\n var base = '';\n if (bma.dns) {\n base = bma.dns;\n } else if (that.hasValid4(bma)) {\n base = bma.ipv4;\n } else if (bma.ipv6) {\n base = '[' + bma.ipv6 + ']';\n }\n if (bma.port) base += ':' + bma.port;\n return base;\n };\n\n that.hasValid4 = function (bma) {\n return bma.ipv4 && !bma.ipv4.match(/^127.0/) && !bma.ipv4.match(/^192.168/) ? true : false;\n };\n\n that.getNamedURL = function () {\n var bma = that.getBMA();\n var base = that.hasValid4(bma) ? bma.ipv4 : bma.dns ? bma.dns : bma.ipv6 ? '[' + bma.ipv6 + ']' : '';\n if (bma.port) base += ':' + bma.port;\n return base;\n };\n\n that.isReachable = function () {\n return that.getURL() ? true : false;\n };\n};\n","\"use strict\";\n\nmodule.exports = function mobilecheck() {\n var check = false;\n (function (a) {\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true;\n })(navigator.userAgent || navigator.vendor || window.opera);\n return check;\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n var Base58 = {};\n\n Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\n Base58.alphabetMap = {};\n\n for (var i = 0; i < Base58.alphabet.length; i++) {\n Base58.alphabetMap[Base58.alphabet.charAt(i)] = i;\n }\n\n Base58.encode = function (buffer) {\n if (buffer.length === 0) return '';\n\n var i = void 0,\n j = void 0,\n digits = [0];\n for (i = 0; i < buffer.length; i++) {\n for (j = 0; j < digits.length; j++) {\n digits[j] <<= 8;\n }digits[digits.length - 1] += buffer[i];\n\n var carry = 0;\n for (j = digits.length - 1; j >= 0; j--) {\n digits[j] += carry;\n carry = digits[j] / 58 | 0;\n digits[j] %= 58;\n }\n\n while (carry) {\n digits.unshift(carry);\n carry = digits[0] / 58 | 0;\n digits[0] %= 58;\n }\n }\n\n // deal with leading zeros\n for (i = 0; i < buffer.length - 1 && buffer[i] == 0; i++) {\n digits.unshift(0);\n }return digits.map(function (digit) {\n return Base58.alphabet[digit];\n }).join('');\n };\n\n Base58.decode = function (string) {\n if (string.length === 0) return new Uint8Array();\n\n var input = string.split('').map(function (c) {\n return Base58.alphabetMap[c];\n });\n\n var i = void 0,\n j = void 0,\n bytes = [0];\n for (i = 0; i < input.length; i++) {\n for (j = 0; j < bytes.length; j++) {\n bytes[j] *= 58;\n }bytes[bytes.length - 1] += input[i];\n\n var carry = 0;\n for (j = bytes.length - 1; j >= 0; j--) {\n bytes[j] += carry;\n carry = bytes[j] >> 8;\n bytes[j] &= 0xff;\n }\n\n while (carry) {\n bytes.unshift(carry);\n carry = bytes[0] >> 8;\n bytes[0] &= 0xff;\n }\n }\n\n // deal with leading zeros\n for (i = 0; i < input.length - 1 && input[i] == 0; i++) {\n bytes.unshift(0);\n }return new Uint8Array(bytes);\n };\n\n app.factory('Base58', function () {\n return {\n encode: Base58.encode,\n decode: Base58.decode\n };\n });\n};\n","'use strict';\n\nvar _ = require('underscore');\nvar conf = require('../lib/conf/conf');\nvar moment = require('moment');\n\nmodule.exports = function (app) {\n\n app.filter('mt_date', function () {\n return function (input) {\n if (input == null) {\n return \"\";\n }\n return moment(input * 1000).format('YYYY MM DD');\n };\n });\n\n app.filter('mt_time', function () {\n return function (input) {\n if (input == null) {\n return \"\";\n }\n return moment(input * 1000).format('HH:mm:ss');\n };\n });\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('Graph', function () {\n return {\n\n speedGraph: function speedGraphs(id, offset, speeds, minSpeeds, maxSpeeds, getSeries) {\n var xValuex = [];\n for (var i = 0, len = speeds.length; i < len; i++) {\n xValuex.push(i + offset);\n }\n $(id).highcharts({\n chart: {\n type: \"area\",\n zoomType: 'x',\n events: {\n load: function load() {\n getSeries(this.series);\n }\n }\n },\n title: {\n text: 'Blocks writing speed'\n },\n subtitle: {\n text: document.ontouchstart === undefined ? 'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'\n },\n xAxis: {\n //categories: xValuex,\n minRange: 3, // 10 blocks,\n labels: {\n formatter: function formatter() {\n return this.value + offset;\n }\n }\n },\n yAxis: {\n //type: 'logarithmic',\n minorTickInterval: 1,\n title: {\n text: 'Blocks per hour (logarithmic scale)'\n },\n floor: 0,\n min: 0\n },\n colors: ['#ff0000', '#7cb5ec', '#000000'],\n legend: {\n enabled: true\n },\n tooltip: {\n shared: true,\n crosshairs: true,\n formatter: blockFormatter(offset)\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [[0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]]\n },\n marker: {\n radius: 2\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1\n }\n },\n threshold: null\n }\n },\n\n series: [{\n type: 'line',\n name: \"Upper limit\",\n data: maxSpeeds\n }, {\n type: 'area',\n name: \"Actual speed\",\n data: speeds\n }, {\n type: 'line',\n name: \"Lower limit\",\n data: minSpeeds\n }]\n });\n },\n\n difficultyGraph: function difficultyGraph(id, offset, difficulties) {\n $(id).highcharts({\n chart: {\n type: \"area\",\n zoomType: 'x'\n },\n title: {\n text: 'Proof-of-Work difficulty by block'\n },\n subtitle: {\n text: document.ontouchstart === undefined ? 'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'\n },\n xAxis: {\n minRange: 10, // 10 blocks,\n labels: {\n formatter: function formatter() {\n return this.value + offset;\n }\n }\n },\n yAxis: {\n title: {\n text: 'Number of zeros'\n },\n floor: 0,\n min: 0\n },\n legend: {\n enabled: true\n },\n tooltip: {\n shared: true,\n crosshairs: true,\n formatter: blockFormatter(offset)\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [[0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]]\n },\n marker: {\n radius: 2\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1\n }\n },\n threshold: null\n }\n },\n\n series: [{\n name: 'PoW difficulty',\n data: difficulties\n }]\n });\n },\n\n timeGraphs: function timeGraphs(id, offset, timeAccelerations, medianTimeIncrements, speeds, minSpeeds, maxSpeeds) {\n var timesInc = [];\n medianTimeIncrements.forEach(function (inc) {\n timesInc.push(inc == 0 ? 1 : inc);\n });\n $(id).highcharts({\n chart: {\n // type: \"area\",\n zoomType: 'x'\n },\n title: {\n text: 'Blockchain time variations'\n },\n subtitle: {\n text: document.ontouchstart === undefined ? 'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'\n },\n xAxis: {\n minRange: 10, // 10 blocks,\n labels: {\n formatter: function formatter() {\n return this.value + offset;\n }\n }\n },\n yAxis: {\n //type: 'logarithmic',\n minorTickInterval: 1,\n title: {\n text: 'Number of seconds (logarithmic scale)'\n }\n },\n legend: {\n enabled: true\n },\n tooltip: {\n shared: true,\n crosshairs: true,\n formatter: blockFormatter(offset)\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [[0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]]\n },\n marker: {\n radius: 2\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1\n }\n },\n threshold: null\n }\n },\n\n series: [{\n name: 'Time acceleration',\n data: timeAccelerations\n }, {\n name: \"Median Time variation\",\n data: timesInc\n }, {\n name: \"Too high duration\",\n data: maxSpeeds\n }, {\n name: \"Actual duration\",\n data: speeds\n }, {\n name: \"Too low duration\",\n data: minSpeeds\n }]\n });\n }\n };\n });\n};\n\nfunction blockFormatter(offset) {\n return function () {\n var html = '<span style=\"font-size: 10px\">' + (this.x + offset) + '</span><br/>';\n for (var i = 0, len = this.points.length; i < len; i++) {\n var point = this.points[i];\n var series = point.series;\n html += '<span style=\"color:' + series.color + '\">\\u25CF</span>' + series.name + ': <b>' + point.y + '</b><br/>';\n }\n return html;\n };\n}\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('Importer', function ($http, $state, $timeout, UIUtils, Upload, Webmin) {\n\n return function ($scope) {\n\n $scope.uploadFiles = function (file, errFiles) {\n $scope.f = file;\n $scope.errFile = errFiles && errFiles[0];\n if (file) {\n UIUtils.toast('settings.data.backup.importing');\n file.upload = Upload.upload({\n url: Webmin.getImportURL(),\n data: { importData: file }\n });\n\n file.upload.then(function (response) {\n $timeout(function () {\n UIUtils.toast('settings.data.backup.imported');\n $state.go('main.home.overview');\n file.result = response.data;\n });\n }, function (response) {\n if (response.status > 0) $scope.errorMsg = response.status + ': ' + response.data;\n }, function (evt) {\n file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));\n });\n }\n };\n };\n });\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('PubkeyGenerator', function ($timeout, Webmin) {\n\n var co = require('co');\n\n return function ($scope) {\n\n var concat = \"\";\n $scope.pubkey_preview = \"\";\n var timeout = preview();\n\n function preview() {\n return $timeout(function () {\n if ($scope.$parent) {\n var salt = $scope.$parent.conf.idty_entropy;\n var pass = $scope.$parent.conf.idty_password;\n var newConcat = [salt, pass].join('');\n if (salt && pass && newConcat != concat) {\n concat = newConcat;\n $scope.previewPubkey(concat);\n timeout = preview();\n } else {\n timeout = preview();\n }\n }\n }, 100);\n }\n\n $scope.previewPubkey = function () {\n return co(regeneratorRuntime.mark(function _callee() {\n var data;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Webmin.key.preview({\n conf: $scope.$parent.conf\n });\n\n case 2:\n data = _context.sent;\n\n $scope.pubkey_preview = data.pubkey;\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n })).catch(function () {\n return null;\n });\n };\n };\n });\n};\n","'use strict';\n\nmodule.exports = function (app) {\n\n app.factory('UIUtils', function ($q, $translate, $state, $location) {\n return {\n\n translate: function translate(msg) {\n return $q.when($translate(msg));\n },\n\n toastRaw: function toastRaw(msg) {\n return Materialize.toast(msg, 4000);\n },\n\n toast: function toast(msg) {\n return $q.when($translate(msg)).then(function (translated) {\n return Materialize.toast(translated, 4000);\n });\n },\n\n enableInputs: function enableInputs() {\n return $('i.prefix, label[value!=\"\"]').addClass('active');\n },\n\n enableTabs: function enableTabs() {\n var jTabs = $('ul.tabs');\n jTabs.tabs();\n $('ul.tabs a').click(function (e) {\n var href = $(e.currentTarget).attr('href');\n var state = href.slice(1);\n $state.go(state);\n });\n\n var currentID = $location.path().replace(/\\//g, '.').replace(/\\./, '');\n\n jTabs.tabs('select_tab', currentID);\n },\n\n changeTitle: function changeTitle(version) {\n return document.title = 'Duniter ' + version;\n }\n };\n });\n};\n","'use strict';\n\nvar _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; };\n\nvar co = require('co');\nvar _ = require('underscore');\nvar conf = require('../lib/conf/conf');\n\nmodule.exports = function (angular) {\n\n angular.module('duniter.services.webmin', ['ngResource']).factory('Webmin', function ($http, $q) {\n\n function httpProtocol() {\n return window.location.protocol + '//';\n }\n\n function wsProtocol() {\n return window.location.protocol === 'https:' ? 'wss://' : 'ws://';\n }\n\n function Webmin(server) {\n\n function getResource(uri, protocol) {\n return function (params) {\n return $q.when(httpGet(uri, params, protocol));\n };\n }\n\n function httpGet(uri, params, protocol) {\n return Q.Promise(function (resolve, reject) {\n var config = {\n timeout: conf.api_timeout\n },\n suffix = '',\n pkeys = [],\n queryParams = null;\n if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) == 'object') {\n pkeys = _.keys(params);\n queryParams = {};\n }\n pkeys.forEach(function (pkey) {\n var prevURI = uri;\n uri = uri.replace(new RegExp(':' + pkey), params[pkey]);\n if (prevURI == uri) {\n queryParams[pkey] = params[pkey];\n }\n });\n config.params = queryParams;\n $http.get((protocol || httpProtocol()) + server + uri + suffix, config).success(function (data, status, headers, config) {\n resolve(data);\n }).error(function (data, status, headers, config) {\n console.log(data);\n reject(data);\n });\n });\n }\n\n function postResource(uri) {\n return function (data, params) {\n return $q.when(Q.Promise(function (resolve, reject) {\n var config = {\n timeout: 4000\n },\n suffix = '',\n pkeys = [],\n queryParams = null;\n if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) == 'object') {\n pkeys = _.keys(params);\n queryParams = {};\n }\n pkeys.forEach(function (pkey) {\n var prevURI = uri;\n uri = uri.replace(new RegExp(':' + pkey), params[pkey]);\n if (prevURI == uri) {\n queryParams[pkey] = params[pkey];\n }\n });\n config.params = queryParams;\n $http.post(httpProtocol() + server + uri + suffix, data, config).success(function (data, status, headers, config) {\n resolve(data);\n }).error(function (data, status, headers, config) {\n reject(data);\n });\n }));\n };\n }\n\n var wsMap = {};\n\n function _ws(uri) {\n var sock = wsMap[uri] || new WebSocket(uri);\n wsMap[uri] = sock;\n sock.onclose = function (e) {\n console.log('close');\n console.log(e);\n };\n sock.onerror = function (e) {\n console.log('onerror');\n console.log(e);\n };\n var opened = false,\n openedCallback = void 0;\n sock.onopen = function () {\n opened = true;\n openedCallback && openedCallback();\n };\n var listener = void 0,\n messageType = void 0;\n sock.onmessage = function (e) {\n var res = JSON.parse(e.data);\n if (res.type == 'log') {\n for (var i = 0, len = res.value.length; i < len; i++) {\n var log = res.value[i];\n // console[log.level](log.msg);\n }\n }\n if (listener && (messageType === undefined || res.type === messageType)) {\n listener(res);\n }\n };\n return {\n on: function on(type, callback) {\n messageType = type;\n listener = callback;\n },\n whenOpened: function whenOpened() {\n return co(regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!opened) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt('return', true);\n\n case 4:\n _context.next = 6;\n return Q.Promise(function (resolve) {\n openedCallback = resolve;\n });\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n },\n send: function send(msg) {\n return sock.send(msg);\n }\n };\n }\n\n return {\n getExportURL: function getExportURL() {\n return httpProtocol() + server + '/webmin/data/duniter_export';\n },\n getImportURL: function getImportURL() {\n return httpProtocol() + server + '/webmin/data/duniter_import';\n },\n isNodePubliclyReachable: getResource('/webmin/server/reachable'),\n ws: function ws() {\n return _ws(wsProtocol() + server + '/webmin/ws');\n },\n wsBlock: function wsBlock() {\n return _ws(wsProtocol() + server + '/webmin/ws_block');\n },\n wsPeer: function wsPeer() {\n return _ws(wsProtocol() + server + '/webmin/ws_peer');\n },\n summary: getResource('/webmin/summary'),\n powSummary: getResource('/webmin/summary/pow'),\n logsExport: function logsExport(nbLines) {\n return getResource('/webmin/logs/export/' + nbLines)();\n },\n blockchain: {\n blocks: function blocks(opts) {\n return getResource('/webmin/blockchain/blocks/' + opts.count + '/' + opts.from)();\n },\n block_add: postResource('/webmin/blockchain/add')\n },\n server: {\n http: {\n start: getResource('/webmin/server/http/start'),\n stop: getResource('/webmin/server/http/stop'),\n openUPnP: getResource('/webmin/server/http/upnp/open'),\n regularUPnP: getResource('/webmin/server/http/upnp/regular')\n },\n services: {\n startAll: getResource('/webmin/server/services/start_all'),\n stopAll: getResource('/webmin/server/services/stop_all')\n },\n sendConf: postResource('/webmin/server/send_conf'),\n netConf: postResource('/webmin/server/net_conf'),\n keyConf: postResource('/webmin/server/key_conf'),\n cpuConf: postResource('/webmin/server/cpu_conf'),\n testSync: postResource('/webmin/server/test_sync'),\n startSync: postResource('/webmin/server/start_sync'),\n previewNext: getResource('/webmin/server/preview_next'),\n autoConfNetwork: getResource('/webmin/server/auto_conf_network'),\n resetData: getResource('/webmin/server/reset/data'),\n republishNewSelfPeer: getResource('/webmin/server/republish_selfpeer')\n },\n key: {\n preview: postResource('/webmin/key/preview')\n },\n network: {\n interfaces: getResource('/webmin/network/interfaces'),\n selfPeer: getResource('/webmin/network/self'),\n peers: getResource('/webmin/network/peers')\n },\n currency: {\n parameters: getResource('/webmin/currency/parameters')\n },\n plugin: {\n allModules: getResource('/webmin/plug/modules'),\n uiModules: getResource('/webmin/plug/ui_modules'),\n uiGetMenuInjection: function uiGetMenuInjection(moduleName) {\n return getResource('/webmin/plug/ui_modules/inject/' + moduleName)();\n },\n checkAccess: getResource('/webmin/plug/check_access'),\n addPackage: function addPackage(pkg) {\n return getResource('/webmin/plug/add/' + encodeURIComponent(pkg), null, 60000)();\n },\n removePackage: function removePackage(pkg) {\n return getResource('/webmin/plug/rem/' + encodeURIComponent(pkg))();\n }\n }\n };\n }\n var server = window.location.hostname;\n var port = window.location.port;\n var service = Webmin([server, port].join(':'));\n service.instance = Webmin;\n return service;\n });\n};\n"]} \ No newline at end of file diff --git a/public/templates.js b/public/templates.js index aacaecefad405f00f6a6947819692afee9b763c6..6ee2257c30bb7363251bd81573a8c2e6b6968e88 100644 --- a/public/templates.js +++ b/public/templates.js @@ -742,7 +742,7 @@ var buf = []; var jade_mixins = {}; var jade_interp; -buf.push("<div class=\"container modules\"><div class=\"row\"><form class=\"s12 center\"><div class=\"card\"><div class=\"card-action\"><i class=\"fa fa-cubes fa-5x\"></i><h1 translate=\"settings.modules.title\" class=\"card-title\"></h1><p translate=\"settings.modules.message\"></p><blockquote ng-if=\"!hasAccess\" translate=\"settings.modules.no_access\" class=\"left-align orange lighten-5\"></blockquote><blockquote ng-if=\"hasAccess && !warningShown\" class=\"left-align orange lighten-5\"><a href=\"\" translate=\"settings.modules.warning_light\" ng-click=\"showWarning()\" class=\"waves-effect waves-light\"></a></blockquote><blockquote ng-if=\"hasAccess && warningShown\" class=\"left-align orange lighten-5\"><div translate=\"settings.modules.warning\"></div><a href=\"\" translate=\"settings.modules.warning_close\" ng-click=\"hideWarning()\" class=\"close waves-effect waves-light\"></a></blockquote></div></div></form><ul class=\"collection with-header\"><li ng-repeat=\"mod in modules track by $index\" class=\"collection-item\"><div><span>{{ mod.fullName }}</span><div class=\"switch secondary-content\"><label><span translate=\"settings.modules.off\"></span><input type=\"checkbox\" ng-model=\"mod.installed\" ng-disabled=\"mod.disabled\" ng-click=\"switchModule(mod)\"/><span class=\"lever\"></span><span translate=\"settings.modules.on\"></span></label></div></div><div ng-if=\"mod.installing\" class=\"installing\"><div class=\"left preloader-wrapper small active\"><div class=\"spinner-layer spinner-blue-only\"><div class=\"circle-clipper left\"><div class=\"circle\"></div></div></div></div><h5 ng-if=\"mod.installed === true\">{{ 'settings.modules.installing' | translate }}</h5><h5 ng-if=\"mod.installed !== true\">{{ 'settings.modules.uninstalling' | translate }}</h5><blockquote translate=\"settings.modules.installing_warn\" class=\"left-align orange lighten-5\"></blockquote></div></li><li class=\"collection-item install_package\"><div class=\"input-field col s6\"><i class=\"material-icons prefix\">language</i><input type=\"text\" ng-model=\"module_to_install\" placeholder=\"Package: module@version, git+https://github.com/user/package.git, ...\"/></div><div class=\"switch secondary-content\"><button ng-click=\"installModule()\" ng-disabled=\"installing\" class=\"btn waves-effect\">{{ 'settings.modules.install' | translate }}</button></div></li></ul></div></div>");;return buf.join(""); +buf.push("<div class=\"container modules\"><div class=\"row\"><form class=\"s12 center\"><div class=\"card\"><div class=\"card-action\"><i class=\"fa fa-cubes fa-5x\"></i><h1 translate=\"settings.modules.title\" class=\"card-title\"></h1><p translate=\"settings.modules.message\"></p><blockquote ng-if=\"!hasAccess\" translate=\"settings.modules.no_access\" class=\"left-align orange lighten-5\"></blockquote><blockquote ng-if=\"hasAccess && !warningShown\" class=\"left-align orange lighten-5\"><a href=\"\" translate=\"settings.modules.warning_light\" ng-click=\"showWarning()\" class=\"waves-effect waves-light\"></a></blockquote><blockquote ng-if=\"hasAccess && warningShown\" class=\"left-align orange lighten-5\"><div translate=\"settings.modules.warning\"></div><a href=\"\" translate=\"settings.modules.warning_close\" ng-click=\"hideWarning()\" class=\"close waves-effect waves-light\"></a></blockquote></div></div></form><ul class=\"collection with-header\"><li ng-repeat=\"mod in modules track by $index\" class=\"collection-item\"><div><span>{{ mod.fullName }}</span><span ng-if=\"mod.locked\" class=\"badge new deep-orange darken-4\">required</span><div class=\"switch secondary-content\"><label><span translate=\"settings.modules.off\"></span><input type=\"checkbox\" ng-model=\"mod.installed\" ng-disabled=\"mod.disabled\" ng-click=\"switchModule(mod)\"/><span class=\"lever\"></span><span translate=\"settings.modules.on\"></span></label></div></div><div ng-if=\"mod.installing\" class=\"installing\"><div class=\"left preloader-wrapper small active\"><div class=\"spinner-layer spinner-blue-only\"><div class=\"circle-clipper left\"><div class=\"circle\"></div></div></div></div><h5 ng-if=\"mod.installed === true\">{{ 'settings.modules.installing' | translate }}</h5><h5 ng-if=\"mod.installed !== true\">{{ 'settings.modules.uninstalling' | translate }}</h5><blockquote translate=\"settings.modules.installing_warn\" class=\"left-align orange lighten-5\"></blockquote></div></li><li class=\"collection-item install_package\"><div class=\"input-field col s6\"><i class=\"material-icons prefix\">language</i><input type=\"text\" ng-model=\"module_to_install\" placeholder=\"Package: module@version, git+https://github.com/user/package.git, ...\"/></div><div class=\"switch secondary-content\"><button ng-click=\"installModule()\" ng-disabled=\"installing\" class=\"btn waves-effect\">{{ 'settings.modules.install' | translate }}</button></div></li></ul></div></div>");;return buf.join(""); }; if (typeof define === 'function' && define.amd) { define([], function() { diff --git a/server/controller/webmin.js b/server/controller/webmin.js index 15671a79e36ee9ab86a3aa52c20f6e27b9ddb1ee..7be1ca1c564558b25d2a3112ebbe72f2af113275 100644 --- a/server/controller/webmin.js +++ b/server/controller/webmin.js @@ -9,7 +9,6 @@ const stream = require('stream'); const _ = require('underscore'); const Q = require('q'); const co = require('co'); -const plugin = require('duniter/app/modules/plugin'); const duniterKeypair = require('duniter-keypair'); const common = require('duniter-common'); const network = require('duniter-bma').duniter.methods; @@ -18,11 +17,11 @@ const contacter = require('duniter-crawler').duniter.methods.contacter; const Peer = common.document.Peer const Identity = common.document.Identity -module.exports = (duniterServer, startServices, stopServices, listDuniterUIPlugins) => { - return new WebAdmin(duniterServer, startServices, stopServices, listDuniterUIPlugins); +module.exports = (duniterServer, startServices, stopServices, listDuniterUIPlugins, stack) => { + return new WebAdmin(duniterServer, startServices, stopServices, listDuniterUIPlugins, stack); }; -function WebAdmin (duniterServer, startServices, stopServices, listDuniterUIPlugins) { +function WebAdmin (duniterServer, startServices, stopServices, listDuniterUIPlugins, stack) { const logger = duniterServer.logger; const rawer = common.rawer; @@ -560,6 +559,10 @@ function WebAdmin (duniterServer, startServices, stopServices, listDuniterUIPlug * PLUGIN STUFF *********/ + function requirePlugin() { + return stack.getModule('duniter-plugin'); + } + this.plugUiModulesList = (req) => co(function*() { return _.pluck(_.filter(listDuniterUIPlugins(), p => p.required.duniterUI), 'name') }) @@ -568,7 +571,8 @@ function WebAdmin (duniterServer, startServices, stopServices, listDuniterUIPlug return listDuniterUIPlugins().map(plugin => { return { name: plugin.name, - version: plugin.version + version: plugin.version, + locked: plugin.locked } }) }) @@ -579,7 +583,7 @@ function WebAdmin (duniterServer, startServices, stopServices, listDuniterUIPlug return required.duniterUI.inject || {} }) - this.plugCheckAccess = (req) => plugin.duniter.methods.canWrite() + this.plugCheckAccess = (req) => requirePlugin().duniter.methods.canWrite() this.plugAdd = (req) => co(function*() { const module = req.params.package @@ -593,13 +597,13 @@ function WebAdmin (duniterServer, startServices, stopServices, listDuniterUIPlug } } // Do not wait for full installation, too long - plugin.duniter.methods.npmInstall(module, null, path.join(__dirname, '../../')) + requirePlugin().duniter.methods.npmInstall(module, null, path.resolve('./')) return { success: true } }) this.plugRemove = (req) => co(function*() { const module = req.params.package - yield plugin.duniter.methods.npmRemove(module, null, path.join(__dirname, '../../')) + yield requirePlugin().duniter.methods.npmRemove(module, null, path.resolve('./')) return true })